crmbonus-component-wake 2.0.75 → 2.0.77

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 (159) hide show
  1. package/dist/cjs/app-modal.cjs.entry.js +2 -2
  2. package/dist/cjs/countdown-timer_4.cjs.entry.js +6 -6
  3. package/dist/cjs/crm-bonus-form.cjs.entry.js +2 -2
  4. package/dist/cjs/crm-bonus-note.cjs.entry.js +4 -4
  5. package/dist/cjs/crm-bonus.cjs.entry.js +19 -2
  6. package/dist/cjs/crm-bonus.cjs.entry.js.map +1 -1
  7. package/dist/cjs/crm-button.cjs.entry.js +1 -1
  8. package/dist/cjs/{crm-giftback-form.cjs.entry.js → crm-giftback-form_2.cjs.entry.js} +22 -7
  9. package/dist/cjs/crm-giftback-form_2.cjs.entry.js.map +1 -0
  10. package/dist/cjs/crmbonus-component-wake.cjs.js +2 -2
  11. package/dist/cjs/giftback-finish_4.cjs.entry.js +5 -5
  12. package/dist/cjs/{index-e3122e18.js → index-8243a0e3.js} +286 -5
  13. package/dist/{esm/index-c477a8b3.js.map → cjs/index-8243a0e3.js.map} +1 -1
  14. package/dist/cjs/loader.cjs.js +2 -2
  15. package/dist/cjs/loading-spinner.cjs.entry.js +2 -2
  16. package/dist/cjs/pedido-finalizado.cjs.entry.js +2 -2
  17. package/dist/cjs/phone-cancel-input.cjs.entry.js +2 -2
  18. package/dist/cjs/phone-input-mask.cjs.entry.js +2 -2
  19. package/dist/cjs/phone-input.cjs.entry.js +2 -2
  20. package/dist/collection/collection-manifest.json +1 -0
  21. package/dist/collection/components/crm-bonus/crm-bonus.js +45 -2
  22. package/dist/collection/components/crm-bonus/crm-bonus.js.map +1 -1
  23. package/dist/collection/components/crm-bonus-form/crm-bonus-form.js +1 -1
  24. package/dist/collection/components/crm-bonus-form/subcomponents/giftback-finish/giftback-finish.js +1 -1
  25. package/dist/collection/components/crm-bonus-form/subcomponents/giftback-pin/giftback-pin.js +1 -1
  26. package/dist/collection/components/crm-bonus-form/subcomponents/giftback-progress/giftback-progress.js +1 -1
  27. package/dist/collection/components/crm-bonus-form/subcomponents/name-input/name-input.js +1 -1
  28. package/dist/collection/components/crm-bonus-form/subcomponents/phone/phone.input.js +1 -1
  29. package/dist/collection/components/crm-bonus-form/subcomponents/phone-cancel/phone.cancel.input.js +1 -1
  30. package/dist/collection/components/giftback-form/giftback-form.js +5 -5
  31. package/dist/collection/components/giftback-form/giftback-form.js.map +1 -1
  32. package/dist/collection/components/giftback-form/subcomponents/giftback-info/giftback-info.js +3 -3
  33. package/dist/collection/components/giftback-form/subcomponents/phone-form/phone-form.js +1 -1
  34. package/dist/collection/components/giftback-form/subcomponents/pin-form/pin-form.js +1 -1
  35. package/dist/collection/components/loading-container/loading-container.css +47 -0
  36. package/dist/collection/components/loading-container/loading-container.js +43 -0
  37. package/dist/collection/components/loading-container/loading-container.js.map +1 -0
  38. package/dist/collection/components/loading-spinner/loading-spinner.js +1 -1
  39. package/dist/collection/components/modal/app-modal.js +1 -1
  40. package/dist/collection/components/note/crm-bonus-note.js +3 -3
  41. package/dist/collection/components/pedido/pedido.js +1 -1
  42. package/dist/collection/components/phone/phone-input-mask.js +1 -1
  43. package/dist/components/app-modal.js +2 -2
  44. package/dist/components/countdown-timer.js +1 -1
  45. package/dist/components/crm-bonus-form.js +7 -7
  46. package/dist/components/crm-bonus-note.js +4 -4
  47. package/dist/components/crm-bonus.js +40 -15
  48. package/dist/components/crm-bonus.js.map +1 -1
  49. package/dist/components/crm-button.js +1 -1
  50. package/dist/components/crm-giftback-form.js +1 -1
  51. package/dist/components/giftback-finish.js +1 -1
  52. package/dist/components/giftback-info.js +1 -1
  53. package/dist/components/giftback-pin.js +1 -1
  54. package/dist/components/giftback-progress.js +1 -1
  55. package/dist/components/index.js +1 -1
  56. package/dist/components/loading-container.d.ts +11 -0
  57. package/dist/components/loading-container.js +8 -0
  58. package/dist/components/loading-container.js.map +1 -0
  59. package/dist/components/loading-spinner.js +1 -1
  60. package/dist/components/name-input.js +1 -1
  61. package/dist/components/{p-c933623f.js → p-0a29a684.js} +3 -3
  62. package/dist/components/{p-c933623f.js.map → p-0a29a684.js.map} +1 -1
  63. package/dist/components/{p-8bc69d9b.js → p-0ef696a9.js} +2 -2
  64. package/dist/components/{p-8bc69d9b.js.map → p-0ef696a9.js.map} +1 -1
  65. package/dist/components/{p-5f330088.js → p-27554f4e.js} +4 -4
  66. package/dist/components/{p-5f330088.js.map → p-27554f4e.js.map} +1 -1
  67. package/dist/components/{p-2db8985c.js → p-29622725.js} +3 -3
  68. package/dist/components/{p-2db8985c.js.map → p-29622725.js.map} +1 -1
  69. package/dist/components/{p-c1d19bba.js → p-56757e8d.js} +6 -6
  70. package/dist/components/{p-c1d19bba.js.map → p-56757e8d.js.map} +1 -1
  71. package/dist/components/{p-2a4df0a2.js → p-58ee9506.js} +4 -4
  72. package/dist/components/{p-2a4df0a2.js.map → p-58ee9506.js.map} +1 -1
  73. package/dist/components/{p-c2358b51.js → p-6592ce84.js} +4 -4
  74. package/dist/components/{p-c2358b51.js.map → p-6592ce84.js.map} +1 -1
  75. package/dist/components/{p-b289b82d.js → p-959f4cc8.js} +286 -5
  76. package/dist/{crmbonus-component-wake/p-45c0296c.js.map → components/p-959f4cc8.js.map} +1 -1
  77. package/dist/components/{p-d4cfdf80.js → p-998b6c7d.js} +5 -5
  78. package/dist/components/{p-d4cfdf80.js.map → p-998b6c7d.js.map} +1 -1
  79. package/dist/components/{p-984bc7d0.js → p-9ceca803.js} +14 -14
  80. package/dist/components/{p-984bc7d0.js.map → p-9ceca803.js.map} +1 -1
  81. package/dist/components/p-c7fc1cb6.js +36 -0
  82. package/dist/components/p-c7fc1cb6.js.map +1 -0
  83. package/dist/components/{p-e957883c.js → p-ca3d612c.js} +6 -6
  84. package/dist/components/{p-e957883c.js.map → p-ca3d612c.js.map} +1 -1
  85. package/dist/components/{p-bfe98629.js → p-f1639e26.js} +3 -3
  86. package/dist/components/{p-bfe98629.js.map → p-f1639e26.js.map} +1 -1
  87. package/dist/components/{p-24d29b6b.js → p-fbcbb1aa.js} +3 -3
  88. package/dist/components/{p-24d29b6b.js.map → p-fbcbb1aa.js.map} +1 -1
  89. package/dist/components/pedido-finalizado.js +2 -2
  90. package/dist/components/phone-cancel-input.js +4 -4
  91. package/dist/components/phone-form.js +1 -1
  92. package/dist/components/phone-input-mask.js +1 -1
  93. package/dist/components/phone-input.js +4 -4
  94. package/dist/components/pin-form.js +1 -1
  95. package/dist/crmbonus-component-wake/crmbonus-component-wake.esm.js +1 -1
  96. package/dist/crmbonus-component-wake/crmbonus-component-wake.esm.js.map +1 -1
  97. package/dist/crmbonus-component-wake/{p-0152eebc.entry.js → p-2086a755.entry.js} +2 -2
  98. package/dist/crmbonus-component-wake/p-24616d67.js +3 -0
  99. package/dist/crmbonus-component-wake/p-24616d67.js.map +1 -0
  100. package/dist/crmbonus-component-wake/{p-a465c900.entry.js → p-282b201b.entry.js} +2 -2
  101. package/dist/crmbonus-component-wake/p-304d3f89.entry.js +2 -0
  102. package/dist/crmbonus-component-wake/p-4d351ad2.entry.js +2 -0
  103. package/dist/crmbonus-component-wake/p-81d3a170.entry.js +2 -0
  104. package/dist/crmbonus-component-wake/p-81d3a170.entry.js.map +1 -0
  105. package/dist/crmbonus-component-wake/{p-b7103956.entry.js → p-8bd25376.entry.js} +2 -2
  106. package/dist/crmbonus-component-wake/p-92fe1963.entry.js +2 -0
  107. package/dist/crmbonus-component-wake/{p-5d209c28.entry.js → p-9ad0650e.entry.js} +2 -2
  108. package/dist/crmbonus-component-wake/{p-c121f6fc.entry.js → p-b7925fc7.entry.js} +2 -2
  109. package/dist/crmbonus-component-wake/{p-da97c793.entry.js → p-c8445f78.entry.js} +2 -2
  110. package/dist/crmbonus-component-wake/{p-0160f5f5.entry.js → p-cd95574b.entry.js} +2 -2
  111. package/dist/crmbonus-component-wake/{p-feadb94b.entry.js → p-d8e5a526.entry.js} +2 -2
  112. package/dist/crmbonus-component-wake/p-d8e5a526.entry.js.map +1 -0
  113. package/dist/crmbonus-component-wake/p-db4f04a8.entry.js +2 -0
  114. package/dist/esm/app-modal.entry.js +2 -2
  115. package/dist/esm/countdown-timer_4.entry.js +6 -6
  116. package/dist/esm/crm-bonus-form.entry.js +2 -2
  117. package/dist/esm/crm-bonus-note.entry.js +4 -4
  118. package/dist/esm/crm-bonus.entry.js +19 -2
  119. package/dist/esm/crm-bonus.entry.js.map +1 -1
  120. package/dist/esm/crm-button.entry.js +1 -1
  121. package/dist/esm/{crm-giftback-form.entry.js → crm-giftback-form_2.entry.js} +22 -8
  122. package/dist/esm/crm-giftback-form_2.entry.js.map +1 -0
  123. package/dist/esm/crmbonus-component-wake.js +3 -3
  124. package/dist/esm/giftback-finish_4.entry.js +5 -5
  125. package/dist/esm/{index-c477a8b3.js → index-84fba7ef.js} +286 -5
  126. package/dist/esm/index-84fba7ef.js.map +1 -0
  127. package/dist/esm/loader.js +3 -3
  128. package/dist/esm/loading-spinner.entry.js +2 -2
  129. package/dist/esm/pedido-finalizado.entry.js +2 -2
  130. package/dist/esm/phone-cancel-input.entry.js +2 -2
  131. package/dist/esm/phone-input-mask.entry.js +2 -2
  132. package/dist/esm/phone-input.entry.js +2 -2
  133. package/dist/types/components/crm-bonus/crm-bonus.d.ts +2 -0
  134. package/dist/types/components/loading-container/loading-container.d.ts +4 -0
  135. package/dist/types/components.d.ts +16 -0
  136. package/package.json +1 -1
  137. package/dist/cjs/crm-giftback-form.cjs.entry.js.map +0 -1
  138. package/dist/cjs/index-e3122e18.js.map +0 -1
  139. package/dist/components/p-b289b82d.js.map +0 -1
  140. package/dist/crmbonus-component-wake/p-450423b5.entry.js +0 -2
  141. package/dist/crmbonus-component-wake/p-45c0296c.js +0 -3
  142. package/dist/crmbonus-component-wake/p-5881e9d8.entry.js +0 -2
  143. package/dist/crmbonus-component-wake/p-5881e9d8.entry.js.map +0 -1
  144. package/dist/crmbonus-component-wake/p-64441d8f.entry.js +0 -2
  145. package/dist/crmbonus-component-wake/p-a950d747.entry.js +0 -2
  146. package/dist/crmbonus-component-wake/p-d95bd37f.entry.js +0 -2
  147. package/dist/crmbonus-component-wake/p-feadb94b.entry.js.map +0 -1
  148. package/dist/esm/crm-giftback-form.entry.js.map +0 -1
  149. /package/dist/crmbonus-component-wake/{p-0152eebc.entry.js.map → p-2086a755.entry.js.map} +0 -0
  150. /package/dist/crmbonus-component-wake/{p-a465c900.entry.js.map → p-282b201b.entry.js.map} +0 -0
  151. /package/dist/crmbonus-component-wake/{p-64441d8f.entry.js.map → p-304d3f89.entry.js.map} +0 -0
  152. /package/dist/crmbonus-component-wake/{p-a950d747.entry.js.map → p-4d351ad2.entry.js.map} +0 -0
  153. /package/dist/crmbonus-component-wake/{p-b7103956.entry.js.map → p-8bd25376.entry.js.map} +0 -0
  154. /package/dist/crmbonus-component-wake/{p-450423b5.entry.js.map → p-92fe1963.entry.js.map} +0 -0
  155. /package/dist/crmbonus-component-wake/{p-5d209c28.entry.js.map → p-9ad0650e.entry.js.map} +0 -0
  156. /package/dist/crmbonus-component-wake/{p-c121f6fc.entry.js.map → p-b7925fc7.entry.js.map} +0 -0
  157. /package/dist/crmbonus-component-wake/{p-da97c793.entry.js.map → p-c8445f78.entry.js.map} +0 -0
  158. /package/dist/crmbonus-component-wake/{p-0160f5f5.entry.js.map → p-cd95574b.entry.js.map} +0 -0
  159. /package/dist/crmbonus-component-wake/{p-d95bd37f.entry.js.map → p-db4f04a8.entry.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{r as e,h as i}from"./p-45c0296c.js";const t="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBVcGxvYWRlZCB0bzogU1ZHIFJlcG8sIHd3dy5zdmdyZXBvLmNvbSwgR2VuZXJhdG9yOiBTVkcgUmVwbyBNaXhlciBUb29scyAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiANCgkgdmlld0JveD0iMCAwIDUwIDUwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxjaXJjbGUgc3R5bGU9ImZpbGw6IzI1QUU4ODsiIGN4PSIyNSIgY3k9IjI1IiByPSIyNSIvPg0KPHBvbHlsaW5lIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgcG9pbnRzPSINCgkzOCwxNSAyMiwzMyAxMiwyNSAiLz4NCjwvc3ZnPg==";const n=".message-finish{align-content:center;text-align:center}.message-finish p{color:#777676;font-size:xx-large;font-family:sans-serif}";const o=n;const a=class{constructor(i){e(this,i)}render(){return i("div",{key:"b2db01665e3e19659c35a8c912742352bca4a1ae",class:"message-finish"},i("img",{key:"0cb6d72a9bb696cf16ee38255cb2d5d6170e5ff1",src:t,width:80}),i("p",{key:"489dd5b09d20ff2140be375c1e234d5bf9671622"},"Legal! O Bônus será aplicado na sua compra."))}};a.style=o;const c=":host{display:block;font-family:Arial, sans-serif}.form-container-pin{display:flex;flex-direction:column;align-items:center}.pin-container{display:flex;gap:10px;margin:26px 0}input{width:58px;height:40px;font-size:18px;text-align:center;border:1px solid #ccc;border-radius:5px}button{padding:10px 20px;border:none;border-radius:5px;cursor:pointer}.success{color:green;margin-top:10px}.button{top:50%;background-color:#6c6c7e;color:#fff;border:none;border-radius:10px;padding:15px;min-height:30px;min-width:120px;font-size:20px;cursor:pointer}.button-cancel{top:50%;background-color:#ffffff;color:#1e1c1c;border:1px solid gray;border-radius:10px;padding:10px;min-height:30px;min-width:120px;font-size:19px;cursor:pointer}.footer-button{display:flex;justify-content:space-between;width:100%}";const s=c;const d=class{constructor(i){e(this,i);this.sent=undefined;this.validate=undefined;this.cancel=undefined;this.pin=["","","",""];this.isVerified=false;this.loading=false}handleInput(e,i){const t=e.target;const n=t.value.slice(0,1);this.pin[i]=n;if(n&&i<this.pin.length-1){const e=t.nextElementSibling;e===null||e===void 0?void 0:e.focus()}this.pin=[...this.pin]}validatePin(){this.validate(this.pin.join(""))}verifyPin(){const e=this.pin.join("");if(e==="9999"){this.isVerified=true}}render(){return i("div",{key:"6a91db0c8c2d522fcd7c0c3a9249711cedea8263",class:"form-container-pin"},i("div",{key:"9a894eda70decb59549c0b0418e38b8cc64c3e91"},i("p",{key:"0eea92e1f7a121cf7435fb8855d74da71b3a8435"},"Insira o PIN de 4 dígitos enviado por SMS."),i("div",{key:"c574ba350400555e6bfc16f995b5c122bc3b7cd5",class:"pin-container"},this.pin.map(((e,t)=>i("input",{type:"text",maxLength:1,value:this.pin[t],onInput:e=>this.handleInput(e,t)}))))),i("div",{key:"b904758b7a26c79a1fb87e9b93f3c986c98ec318",class:"footer-button"},i("button",{key:"31a4f91fca0c3d5a47c4eedb7d2a47ee8184b882",class:"button-cancel",disabled:this.loading,onClick:()=>this.cancel()},"Cancelar"),i("button",{key:"d5a1a344d7cd6ae8c113ea43f35512b75d6c01c9",class:`button ${this.loading?"disabled":""} `,disabled:this.loading,onClick:()=>this.validatePin()},!this.loading?"Enviar":i("loading-spinner",{size:"15px",color:"#fff"}))))}};d.style=s;const r=":host{display:flex;font-family:Arial, sans-serif;border-radius:10px;padding:16px;max-width:100%;flex-direction:column}.giftback-container{display:flex;flex-direction:column}.giftback-container p{font-size:medium}h3{margin:0 0 10px;font-size:18px}p{margin:5px 0;font-size:14px;align-self:start}.validity{font-size:12px;color:#888}.progress-container{display:flex;align-items:center;margin:10px 0}progress-container span{font-size:12px;color:#666}input[type='range']{flex:1;margin:0 10px;appearance:none;background-color:#ccc;height:6px;border-radius:3px;outline:none;cursor:pointer}input[type='range']::-webkit-slider-thumb{appearance:none;width:14px;height:14px;border-radius:50%;background-color:#555;cursor:pointer}.remaining{font-weight:bold;font-size:14px;color:#333}.button{top:50%;background-color:#6c6c7e;color:#fff;border:none;border-radius:10px;padding:10px;min-height:30px;min-width:120px;font-size:19px;cursor:pointer}.button-cancel{top:50%;background-color:#ffffff;color:#1e1c1c;border:1px solid gray;border-radius:10px;padding:10px;min-height:30px;min-width:120px;font-size:19px;cursor:pointer}.disabled{opacity:0.6;cursor:not-allowed}.footer-button-giftback{display:flex;justify-content:space-between;margin-top:14px}";const b=r;const l=class{constructor(i){e(this,i);this.usedValue=0;this.loading=false;this.bonus={totalBonus:0,cartId:"",minimumPurchase:0,bonusBalance:0,calculatedValue:0,firstValidityDate:""};this.reserve=undefined;this.cancel=undefined}componentWillLoad(){this.usedValue=parseFloat(this.bonus.bonusBalance.toString())}handleSliderChange(e){const i=e.target;this.usedValue=parseFloat(i.value)}async handleReserve(e){this.reserve(e)}render(){const e=this.bonus.minimumPurchase-this.bonus.totalValue;return i("div",{key:"a5e02f60ab5e081341582ea0b1cfaa05583a22c2",class:"giftback-container"},i("p",{key:"12eddb011e6a6beda91a1bc937fcacdb891b12a5"},"Você possui até ",i("strong",{key:"eb6018fe44106dd2a9928d4efe77dbd17180e3d3"},"R$ ",this.bonus.totalBonus.toFixed(2))," de Giftback nessa compra!"),i("p",{key:"065028af79e33d565c82bd55ea2245e3562617e8",class:"validity"},"Válido até: ",new Date(this.bonus.firstValidityDate).toLocaleDateString("pt-Br")),i("p",{key:"1ed8896f6301c2c70fb7232190a2c68bc82e5f07"},"Você está utilizando ",i("strong",{key:"e2019caa7c7697f73021416632ca884097e21abe"},"R$ ",this.usedValue.toFixed(2))," nessa compra"),i("div",{key:"b0257ef4d99c4009f23a4d9fae52b42d2ef41209",class:"progress-container"},i("span",{key:"bb0d1abe791dfcab30e87fea8eb025a9f3787be0"},"R$ 0"),i("input",{key:"a4220c65f24d68b56ccf522a46c0bd3d007c9ed6",disabled:true,type:"range",min:"0",step:"0.01",max:this.bonus.totalBonus,value:this.usedValue,onInput:e=>this.handleSliderChange(e)}),i("span",{key:"c216b57ffdd2a3613f05db327aad395f1f2e1285"},"R$ ",this.bonus.totalBonus.toFixed(2))),i("p",{key:"7a5dc6a68801da2c09a33f3cdb6cf82e521be581",class:"remaining"},"Faltam ",i("strong",{key:"9c20b260d4a95887844aa038e0f74180fff5c1eb"},"R$ ",e>0?e.toFixed(2):Number(0).toFixed(2))," para utilizar o valor total do Giftback."),i("div",{key:"d99639afcac1ea180ad414ca923391f99f3d5296",class:"footer-button-giftback"},i("button",{key:"4c1bdd2ea2ecd5037d1c29b6af31c3163fffe84a",class:"button-cancel",disabled:this.loading,onClick:()=>this.cancel()},"Cancelar"),i("button",{key:"77fc073d28272334d51ab7073e34654509c0ac26",class:`button ${this.loading?"disabled":""} `,disabled:this.loading,onClick:()=>this.handleReserve(this.usedValue)},!this.loading?"Aplicar":i("loading-spinner",{size:"10px",color:"#fff"}))))}};l.style=b;const f=".bc-form-control{display:block;width:90%;height:24px;padding:7px 18px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:0px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);-webkit-transition:border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s}.bc-btn{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}.bc-btn-process{background:#00162e;border-color:#00162e;width:30%;color:#fff}.bc-footer-btn{display:flex;justify-content:end;margin:11px}.name-container{font-weight:bold;color:#494545}button{padding:10px 20px;background-color:#ddd;border:none;border-radius:5px;cursor:pointer}button:hover{background-color:#bbb}.success{color:green;margin-top:10px}.button{top:50%;background-color:#6c6c7e;color:#fff;border:none;border-radius:10px;padding:11px;min-width:120px;font-size:20px;cursor:pointer}.button-cancel{top:50%;background-color:#ffffff;color:#1e1c1c;border:1px solid gray;border-radius:10px;padding:10px;min-height:30px;min-width:120px;font-size:19px;cursor:pointer}.footer-button{display:flex;justify-content:space-between;width:97%;margin-top:14px}";const p=f;const u=class{constructor(i){e(this,i);this.value=undefined;this.loading=undefined;this.applyName=undefined;this.cancel=undefined;this.newValue=undefined;this.message=undefined}handleChangeName(e){this.newValue=e.target.value}handleSetName(e){if(!e){this.message="Informe seu nome";return}this.applyName(e)}render(){return i("div",{key:"dc6b958c6cfb83af8275cf4ff47b1ece5f8f6d93",class:"name-container"},i("p",{key:"d9c1105b6aab09acbd970a001735b58eb5104d9b"},"Seu Nome:"),i("input",{key:"f562d5e2b1b626245abb5260ad1e197fd9a60e43",class:"bc-form-control",type:"text",value:this.value,onChange:e=>this.handleChangeName(e)}),i("p",{key:"980d915607979ee8ae8873a2fe17998c46d1ae64"},this.message),i("div",{key:"b4e75bbb6ee5c6f53e27722ffad3c6e1b9ae6d7f",class:"footer-button"},i("button",{key:"c421fbbe0d0bcf38e057afeb86f864ebb39f9fc8",class:"button-cancel",disabled:this.loading,onClick:()=>this.cancel()},"Cancelar"),i("button",{key:"17d357d3de919698efab46febb5c1ad97c398c77",class:`button ${this.loading?"disabled":""} `,disabled:this.loading,onClick:()=>this.handleSetName(this.newValue)},!this.loading?"Continua":i("loading-spinner",{size:"15px",color:"#fff"}))))}};u.style=p;export{a as giftback_finish,d as giftback_pin,l as giftback_progress,u as name_input};
2
- //# sourceMappingURL=p-5d209c28.entry.js.map
1
+ import{r as e,h as i}from"./p-24616d67.js";const t="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBVcGxvYWRlZCB0bzogU1ZHIFJlcG8sIHd3dy5zdmdyZXBvLmNvbSwgR2VuZXJhdG9yOiBTVkcgUmVwbyBNaXhlciBUb29scyAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiANCgkgdmlld0JveD0iMCAwIDUwIDUwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxjaXJjbGUgc3R5bGU9ImZpbGw6IzI1QUU4ODsiIGN4PSIyNSIgY3k9IjI1IiByPSIyNSIvPg0KPHBvbHlsaW5lIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgcG9pbnRzPSINCgkzOCwxNSAyMiwzMyAxMiwyNSAiLz4NCjwvc3ZnPg==";const n=".message-finish{align-content:center;text-align:center}.message-finish p{color:#777676;font-size:xx-large;font-family:sans-serif}";const o=n;const a=class{constructor(i){e(this,i)}render(){return i("div",{key:"e72f82799146a6e94acbdd62324e07cdf9f77009",class:"message-finish"},i("img",{key:"46e2436a3dbe4745225c3b9674e6bf6c299ad63e",src:t,width:80}),i("p",{key:"270e42050956f7f3d1ae9b90f314211fa310f797"},"Legal! O Bônus será aplicado na sua compra."))}};a.style=o;const s=":host{display:block;font-family:Arial, sans-serif}.form-container-pin{display:flex;flex-direction:column;align-items:center}.pin-container{display:flex;gap:10px;margin:26px 0}input{width:58px;height:40px;font-size:18px;text-align:center;border:1px solid #ccc;border-radius:5px}button{padding:10px 20px;border:none;border-radius:5px;cursor:pointer}.success{color:green;margin-top:10px}.button{top:50%;background-color:#6c6c7e;color:#fff;border:none;border-radius:10px;padding:15px;min-height:30px;min-width:120px;font-size:20px;cursor:pointer}.button-cancel{top:50%;background-color:#ffffff;color:#1e1c1c;border:1px solid gray;border-radius:10px;padding:10px;min-height:30px;min-width:120px;font-size:19px;cursor:pointer}.footer-button{display:flex;justify-content:space-between;width:100%}";const c=s;const d=class{constructor(i){e(this,i);this.sent=undefined;this.validate=undefined;this.cancel=undefined;this.pin=["","","",""];this.isVerified=false;this.loading=false}handleInput(e,i){const t=e.target;const n=t.value.slice(0,1);this.pin[i]=n;if(n&&i<this.pin.length-1){const e=t.nextElementSibling;e===null||e===void 0?void 0:e.focus()}this.pin=[...this.pin]}validatePin(){this.validate(this.pin.join(""))}verifyPin(){const e=this.pin.join("");if(e==="9999"){this.isVerified=true}}render(){return i("div",{key:"1757d5be19ea7a7f3b6ec2d52dacc188acf85eb9",class:"form-container-pin"},i("div",{key:"ff4c4f4de2b3f652752145855cdfd92809d831dc"},i("p",{key:"0f0b8a7e16fc419953ccca0d954664860e6165d2"},"Insira o PIN de 4 dígitos enviado por SMS."),i("div",{key:"08fd4f430bf3186c62fbbdb747aa12173f2ec055",class:"pin-container"},this.pin.map(((e,t)=>i("input",{type:"text",maxLength:1,value:this.pin[t],onInput:e=>this.handleInput(e,t)}))))),i("div",{key:"bc44db06179215f590db0cd0bd9c38ab8807cd0f",class:"footer-button"},i("button",{key:"4a75e42791e79489ff69e884b7cdc0dbdc46c40e",class:"button-cancel",disabled:this.loading,onClick:()=>this.cancel()},"Cancelar"),i("button",{key:"fe93430a1c13ecdd062062650fb268ba9350be76",class:`button ${this.loading?"disabled":""} `,disabled:this.loading,onClick:()=>this.validatePin()},!this.loading?"Enviar":i("loading-spinner",{size:"15px",color:"#fff"}))))}};d.style=c;const r=":host{display:flex;font-family:Arial, sans-serif;border-radius:10px;padding:16px;max-width:100%;flex-direction:column}.giftback-container{display:flex;flex-direction:column}.giftback-container p{font-size:medium}h3{margin:0 0 10px;font-size:18px}p{margin:5px 0;font-size:14px;align-self:start}.validity{font-size:12px;color:#888}.progress-container{display:flex;align-items:center;margin:10px 0}progress-container span{font-size:12px;color:#666}input[type='range']{flex:1;margin:0 10px;appearance:none;background-color:#ccc;height:6px;border-radius:3px;outline:none;cursor:pointer}input[type='range']::-webkit-slider-thumb{appearance:none;width:14px;height:14px;border-radius:50%;background-color:#555;cursor:pointer}.remaining{font-weight:bold;font-size:14px;color:#333}.button{top:50%;background-color:#6c6c7e;color:#fff;border:none;border-radius:10px;padding:10px;min-height:30px;min-width:120px;font-size:19px;cursor:pointer}.button-cancel{top:50%;background-color:#ffffff;color:#1e1c1c;border:1px solid gray;border-radius:10px;padding:10px;min-height:30px;min-width:120px;font-size:19px;cursor:pointer}.disabled{opacity:0.6;cursor:not-allowed}.footer-button-giftback{display:flex;justify-content:space-between;margin-top:14px}";const b=r;const f=class{constructor(i){e(this,i);this.usedValue=0;this.loading=false;this.bonus={totalBonus:0,cartId:"",minimumPurchase:0,bonusBalance:0,calculatedValue:0,firstValidityDate:""};this.reserve=undefined;this.cancel=undefined}componentWillLoad(){this.usedValue=parseFloat(this.bonus.bonusBalance.toString())}handleSliderChange(e){const i=e.target;this.usedValue=parseFloat(i.value)}async handleReserve(e){this.reserve(e)}render(){const e=this.bonus.minimumPurchase-this.bonus.totalValue;return i("div",{key:"c2fb3f6a887887e197b55e951dbf50054e27e77a",class:"giftback-container"},i("p",{key:"1d08aaaa1d260f3938e472e95b1e194be50c3987"},"Você possui até ",i("strong",{key:"99d39bc977a41c9d098c812b61ae41c25342f65c"},"R$ ",this.bonus.totalBonus.toFixed(2))," de Giftback nessa compra!"),i("p",{key:"68fc8504eabfdf6e9e873780bb6863521a683e58",class:"validity"},"Válido até: ",new Date(this.bonus.firstValidityDate).toLocaleDateString("pt-Br")),i("p",{key:"fe4c8804f8d577e530330050cfae9c33c2be36d7"},"Você está utilizando ",i("strong",{key:"d1d2a6ad0ca1da77e5a4ab9a595af74a11fb9862"},"R$ ",this.usedValue.toFixed(2))," nessa compra"),i("div",{key:"b0eac608016c3136a344c03d456355d7ffcc8dfc",class:"progress-container"},i("span",{key:"a88626a3f0d0109fca8b593da05e76f54eb69e28"},"R$ 0"),i("input",{key:"5d19e34becada60c728f9fce1fa67eede16b7844",disabled:true,type:"range",min:"0",step:"0.01",max:this.bonus.totalBonus,value:this.usedValue,onInput:e=>this.handleSliderChange(e)}),i("span",{key:"31f0b18eff1ffbd2fb86941653beacad567514ca"},"R$ ",this.bonus.totalBonus.toFixed(2))),i("p",{key:"5f278047d5bb21282890de0304bc2e8addf8ea43",class:"remaining"},"Faltam ",i("strong",{key:"fa220ca91d366eb5e5eec4bf7e94ace4584b0dbe"},"R$ ",e>0?e.toFixed(2):Number(0).toFixed(2))," para utilizar o valor total do Giftback."),i("div",{key:"248c3376e92b8daab0c821e79e083ef6f44bff9e",class:"footer-button-giftback"},i("button",{key:"fe612e24a59abed7ef27e6a0425d40efaad218c2",class:"button-cancel",disabled:this.loading,onClick:()=>this.cancel()},"Cancelar"),i("button",{key:"6f86a5b1eeedf01c9eabe9313fdf7b00dc264e96",class:`button ${this.loading?"disabled":""} `,disabled:this.loading,onClick:()=>this.handleReserve(this.usedValue)},!this.loading?"Aplicar":i("loading-spinner",{size:"10px",color:"#fff"}))))}};f.style=b;const l=".bc-form-control{display:block;width:90%;height:24px;padding:7px 18px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:0px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);-webkit-transition:border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s}.bc-btn{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}.bc-btn-process{background:#00162e;border-color:#00162e;width:30%;color:#fff}.bc-footer-btn{display:flex;justify-content:end;margin:11px}.name-container{font-weight:bold;color:#494545}button{padding:10px 20px;background-color:#ddd;border:none;border-radius:5px;cursor:pointer}button:hover{background-color:#bbb}.success{color:green;margin-top:10px}.button{top:50%;background-color:#6c6c7e;color:#fff;border:none;border-radius:10px;padding:11px;min-width:120px;font-size:20px;cursor:pointer}.button-cancel{top:50%;background-color:#ffffff;color:#1e1c1c;border:1px solid gray;border-radius:10px;padding:10px;min-height:30px;min-width:120px;font-size:19px;cursor:pointer}.footer-button{display:flex;justify-content:space-between;width:97%;margin-top:14px}";const p=l;const u=class{constructor(i){e(this,i);this.value=undefined;this.loading=undefined;this.applyName=undefined;this.cancel=undefined;this.newValue=undefined;this.message=undefined}handleChangeName(e){this.newValue=e.target.value}handleSetName(e){if(!e){this.message="Informe seu nome";return}this.applyName(e)}render(){return i("div",{key:"1876de780affd04baa6d87b06cc9290edf04450c",class:"name-container"},i("p",{key:"7288499a5ba471c767a0c3a3cfcc34816ada2bf8"},"Seu Nome:"),i("input",{key:"f4e2ac7aa451bdb15a31750993430cb562544183",class:"bc-form-control",type:"text",value:this.value,onChange:e=>this.handleChangeName(e)}),i("p",{key:"70f1c8eee06f2e20c6a3517385805530f8ab4672"},this.message),i("div",{key:"537066b3849117db72a991db77e8f5605c3922c9",class:"footer-button"},i("button",{key:"2713a6fbfd04f45016495cb8c977179a1d218478",class:"button-cancel",disabled:this.loading,onClick:()=>this.cancel()},"Cancelar"),i("button",{key:"b15fced83481d289bb418fd5f925ff6887f39e99",class:`button ${this.loading?"disabled":""} `,disabled:this.loading,onClick:()=>this.handleSetName(this.newValue)},!this.loading?"Continua":i("loading-spinner",{size:"15px",color:"#fff"}))))}};u.style=p;export{a as giftback_finish,d as giftback_pin,f as giftback_progress,u as name_input};
2
+ //# sourceMappingURL=p-9ad0650e.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as t,h as e,H as s}from"./p-45c0296c.js";import{C as i}from"./p-a7ddcab4.js";import{S as a}from"./p-a561251a.js";const n=".form-container{width:100%;display:flex;justify-content:center;justify-content:space-around}.disabled{opacity:0.6;cursor:not-allowed}.message-error{color:#d11111;font-weight:bold;font-family:Arial;font-size:small;margin-left:16px}";const d=n;const h=class{constructor(e){t(this,e);this.crmBonusService=i.getInstance();this.storeName=undefined;this.cartId=undefined;this.products=undefined;this.customer={phone:"",birthDate:"",document:"",name:""};this.sent=undefined;this.stepNext=undefined;this.phone=undefined;this.loadingModal=undefined;this.saveStore=undefined;this.cancel=undefined;this.handleCustomerName=undefined;this.loading=false;this.step=a.STEP_NAME;this.message=undefined;this.bonus=undefined}async setStep(t){this.step=t}async validateBonus(t){var e,s;this.loading=true;this.message="";const i={pin:t,cellphone:this.phone.toString(),storeId:this.sent.storeId.toString(),userId:this.sent.userId.toString(),checkoutId:this.cartId,checkoutProducts:this.products,name:null,storeName:this.storeName};try{this.bonus=await this.crmBonusService.validatePinBonus(i);this.step=a.STEP_RESERVE}catch(t){this.message=(s=(e=t===null||t===void 0?void 0:t.response)===null||e===void 0?void 0:e.data)===null||s===void 0?void 0:s.message}finally{this.loading=false}}async reserveApply(t){this.loading=true;this.message="";try{await this.reserve(t);this.step=a.STEP_APPLY;this.saveStore(t)}catch(t){this.message="ocorreu um error ao solicitar a aplicação do bonus! tente novamente"}finally{this.loading=false}}async reserve(t){await this.crmBonusService.reserve({redeemedBonus:t,cartId:this.cartId,ticket:this.cartId,grossValue:Number(this.bonus.totalValue),storeName:this.storeName,storeId:this.bonus.storeId.toString(),userId:this.bonus.userId})}handleCancel(){this.step=a.STEP_PHONE;this.cancel()}render(){return e(s,{key:"56bef07243aafe1abb78fdfd38922801b84c269b"},this.step==a.STEP_NAME&&e("name-input",{key:"685df95ea0cd693f9a62893798464834524f5168",loading:this.loadingModal,value:this.customer.name,applyName:t=>this.handleCustomerName(t)}),this.step===a.STEP_PIN&&e("giftback-pin",{key:"af82b751ed04382498e25614276ac08d5cade07a",cancel:()=>this.handleCancel(),sent:this.sent,validate:t=>this.validateBonus(t),loading:this.loading}),this.step===a.STEP_RESERVE&&e("giftback-progress",{key:"1b493c06bf11bc7596d672fcec789a9f93573751",loading:this.loading,cancel:()=>this.handleCancel(),bonus:this.bonus,reserve:t=>this.reserveApply(t)}),this.step===a.STEP_APPLY&&e("giftback-finish",{key:"272438aa4dbc8bb1ef9fdb45d3c2cc657d41ef4a"}),e("p",{key:"a3a0e8a1be44d65b1edd34e28956d1b34b732fef",class:"message-error"},this.message))}};h.style=d;export{h as crm_bonus_form};
2
- //# sourceMappingURL=p-c121f6fc.entry.js.map
1
+ import{r as t,h as s,H as e}from"./p-24616d67.js";import{C as i}from"./p-a7ddcab4.js";import{S as a}from"./p-a561251a.js";const n=".form-container{width:100%;display:flex;justify-content:center;justify-content:space-around}.disabled{opacity:0.6;cursor:not-allowed}.message-error{color:#d11111;font-weight:bold;font-family:Arial;font-size:small;margin-left:16px}";const h=n;const d=class{constructor(s){t(this,s);this.crmBonusService=i.getInstance();this.storeName=undefined;this.cartId=undefined;this.products=undefined;this.customer={phone:"",birthDate:"",document:"",name:""};this.sent=undefined;this.stepNext=undefined;this.phone=undefined;this.loadingModal=undefined;this.saveStore=undefined;this.cancel=undefined;this.handleCustomerName=undefined;this.loading=false;this.step=a.STEP_NAME;this.message=undefined;this.bonus=undefined}async setStep(t){this.step=t}async validateBonus(t){var s,e;this.loading=true;this.message="";const i={pin:t,cellphone:this.phone.toString(),storeId:this.sent.storeId.toString(),userId:this.sent.userId.toString(),checkoutId:this.cartId,checkoutProducts:this.products,name:null,storeName:this.storeName};try{this.bonus=await this.crmBonusService.validatePinBonus(i);this.step=a.STEP_RESERVE}catch(t){this.message=(e=(s=t===null||t===void 0?void 0:t.response)===null||s===void 0?void 0:s.data)===null||e===void 0?void 0:e.message}finally{this.loading=false}}async reserveApply(t){this.loading=true;this.message="";try{await this.reserve(t);this.step=a.STEP_APPLY;this.saveStore(t)}catch(t){this.message="ocorreu um error ao solicitar a aplicação do bonus! tente novamente"}finally{this.loading=false}}async reserve(t){await this.crmBonusService.reserve({redeemedBonus:t,cartId:this.cartId,ticket:this.cartId,grossValue:Number(this.bonus.totalValue),storeName:this.storeName,storeId:this.bonus.storeId.toString(),userId:this.bonus.userId})}handleCancel(){this.step=a.STEP_PHONE;this.cancel()}render(){return s(e,{key:"daffb2abf1353f42733a8983b675a32889a4858c"},this.step==a.STEP_NAME&&s("name-input",{key:"2602486632038c171b52be14a9625934a563de2b",loading:this.loadingModal,value:this.customer.name,applyName:t=>this.handleCustomerName(t)}),this.step===a.STEP_PIN&&s("giftback-pin",{key:"c91c4b98a5dce2555c6c876d9f6cc2cb379ee940",cancel:()=>this.handleCancel(),sent:this.sent,validate:t=>this.validateBonus(t),loading:this.loading}),this.step===a.STEP_RESERVE&&s("giftback-progress",{key:"972ae81b55992c46cee3584dbd0faf668831a531",loading:this.loading,cancel:()=>this.handleCancel(),bonus:this.bonus,reserve:t=>this.reserveApply(t)}),this.step===a.STEP_APPLY&&s("giftback-finish",{key:"5119e52c28aad070073c12f1a277f6eb33ef5a7b"}),s("p",{key:"0c1cd4d8ff2405786603671a3a8ecdbf91382698",class:"message-error"},this.message))}};d.style=h;export{d as crm_bonus_form};
2
+ //# sourceMappingURL=p-b7925fc7.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r,h as s}from"./p-45c0296c.js";const t=".spinner{display:inline-block;border:4px solid transparent;border-radius:50%;border-top-color:var(--color, #0078d7);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}";const n=t;const e=class{constructor(s){r(this,s);this.size="50px";this.color="#0078d7"}render(){return s("div",{key:"5d3cd866b3ab7f4898ad1142fb39b89c572867d7",class:"spinner",style:{width:this.size,height:this.size,borderColor:`${this.color} transparent transparent transparent`}})}};e.style=n;export{e as loading_spinner};
2
- //# sourceMappingURL=p-da97c793.entry.js.map
1
+ import{r,h as s}from"./p-24616d67.js";const t=".spinner{display:inline-block;border:4px solid transparent;border-radius:50%;border-top-color:var(--color, #0078d7);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}";const n=t;const e=class{constructor(s){r(this,s);this.size="50px";this.color="#0078d7"}render(){return s("div",{key:"cc9e6d79f37b688cb4a3648343fe392c149d43cf",class:"spinner",style:{width:this.size,height:this.size,borderColor:`${this.color} transparent transparent transparent`}})}};e.style=n;export{e as loading_spinner};
2
+ //# sourceMappingURL=p-c8445f78.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as e,h as t,H as i}from"./p-45c0296c.js";import{i as o}from"./p-fb505488.js";const n=class{constructor(t){e(this,t);this.downtime=undefined;this.counter=30}componentWillLoad(){this.intervalId=setInterval((()=>{if(this.counter>0){this.counter--}else{clearInterval(this.intervalId);this.downtime()}}),1e3)}disconnectedCallback(){clearInterval(this.intervalId)}render(){return t("label",{key:"6313656b73bec34e3e4e5099c2bd7633e025588e"},this.counter,"s")}};const a=":host{--text-color:#6D6D5F}.giftback-container{display:flex;flex-direction:column;gap:14px}h3{font-size:1.2rem;margin-bottom:8px;color:#333}.container-description p{font-size:14px;font-weight:400}p{font-size:12px;color:#000}.value-display h2{color:#6D6D5F;font-size:1.6rem;margin:16px 0}input[type='range']{width:100%;margin:12px 0;-webkit-appearance:none;background:#ddd;height:4px;border-radius:4px;outline:none;padding:3px}input[type='range']::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--text-color);border-radius:50%;cursor:pointer}.options{margin:0px 0;display:flex;gap:10px;flex-direction:column}.options label{display:block;margin:0px 0;font-size:0.9rem;color:#333}.options input[type='radio']{margin-right:8px;height:16px;width:16px}.options input[type='radio']{appearance:none;-webkit-appearance:none;margin-right:8px;width:16px;height:16px;border:2px solid #ddd;border-radius:50%;background-color:#fff;cursor:pointer;transition:all 0.3s;padding:0px}.options input[type='radio']:checked{border-color:#000;background-color:#FAFAFA;border:4px solid #000}.info-box{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px;padding:8px;font-size:14px;color:#262626;line-height:20px}.info-icon{font-size:0.9rem;cursor:pointer;color:#888}h3{font-size:1.2rem;margin-bottom:8px;color:#333}.slider-wrapper{position:relative;margin:21px 0px 0px 0px}.slider{width:100%;-webkit-appearance:none;background:#ddd;height:4px;border-radius:2px;outline:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--text-color);border-radius:50%;cursor:pointer}.slider-value{position:absolute;top:-30px;font-size:16px;font-weight:700;color:var(--text-color);transform:translateX(-50%);white-space:nowrap;margin-left:23px}";const r=a;const s=class{constructor(t){e(this,t);this.usedValue=0;this.selectedOption="none";this.loading=false;this.bonus={totalBonus:0,cartId:"",minimumPurchase:0,bonusBalance:0,calculatedValue:0,firstValidityDate:"",totalValue:0};this.reserve=undefined;this.cancel=undefined;this.sliderPosition=50}changedBonus(){this.updateBonus()}updateBonus(){this.usedValue=parseFloat(this.bonus.bonusBalance.toString());this.buildPositionSlider(0,this.bonus.totalBonus)}componentWillLoad(){this.updateBonus();this.selectedOption=localStorage.getItem("bc:used")}handleSliderChange(e){const t=e.target;this.usedValue=parseFloat(t.value);this.buildPositionSlider(parseFloat(t.min),parseFloat(t.max))}buildPositionSlider(e,t){const i=(this.usedValue-e)/(t-e)*100;this.sliderPosition=i}async handleOptionChange(e){this.selectedOption=e;localStorage.setItem("bc:used",e);switch(this.selectedOption){case"use":await this.reserve(this.usedValue);break;case"dontUse":await this.cancel();break}}render(){const e=this.bonus.minimumPurchase-this.bonus.totalValue;const i=o.t("giftDescription",{amount:`${this.bonus.totalBonus.toFixed(2).replace(".",",")}`,custom_name:"Giftback"});return t("div",{key:"cfaf3240b19d9d0628f307c40fa1d1732ee1958e",class:"giftback-container"},t("div",{key:"455b4ce24248b5f782a7fc24ee76a96ca1073ea2",class:"container-description"},t("p",{key:"c31137459177e4f4d490b85ec233ad56ac3d01a0",innerHTML:i})),t("div",{key:"5a0b47a17fce0be92cb8cce9791b44502c0abc37",class:"slider-wrapper"},t("div",{key:"69b4997516b449e107fc0dc6b8e620ff9bcb6843",class:"slider-value",style:{left:`calc(${this.sliderPosition}% - 20px)`}},"R$ ",this.usedValue.toFixed(2).replace(".",",")),t("input",{key:"7f829763c3df0f35512820fc3aa19ceec3a1f9dd",disabled:true,type:"range",min:"0",max:this.bonus.totalBonus,value:this.usedValue,class:"slider",step:"0.01",onInput:e=>this.handleSliderChange(e),style:{background:`linear-gradient(to right, #6D6D5F ${this.sliderPosition}%, #ddd ${this.sliderPosition}%)`}})),t("p",{key:"f6581d93a233721f1f4c39fbf915db4c52cd1fe3"},"Adicione ",t("strong",{key:"6475d931cd33e0e2672959e51e2e60bbbc4b86e6"},"R$ ",e<0?"0,00":e.toFixed(2).replace(".",","))," ao carrinho para atingir o valor máximo!"),t("div",{key:"97a837a518cc4de92bcec8a6b231b53655174899",class:"options"},t("label",{key:"a079f347ff8520b71006321617cf9143f7456bc8"},t("input",{key:"aeddb1974329abbd1f8bd3b641445580931e2cff",type:"radio",name:"giftbackOption",value:"use",checked:this.selectedOption==="use",onChange:()=>this.handleOptionChange("use")}),"Usar o meu Giftback"),t("label",{key:"87d2ed1cd59aa6a13acdf4f06737cdc016a90790"},t("input",{key:"86b4df8c2dc048dd412e5d69fad8bd2f83fc7328",type:"radio",name:"giftbackOption",value:"dontUse",checked:this.selectedOption==="dontUse",onChange:()=>this.handleOptionChange("dontUse")}),"Não usar o meu Giftback")),t("div",{key:"f4c8b2f7e03d02b35ee2be9336d303f5a642cdc7",class:"info-box"},"O Giftback será aplicado na próxima etapa."))}static get watchers(){return{bonus:["changedBonus"]}}};s.style=r;const c="*{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)}.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}";const d=c;const p=class{constructor(t){e(this,t);this.value=undefined;this.loading=undefined;this.handlerSubmit=undefined;this.config=undefined}async handlePhone(){const e=await this.phoneInputMask.getPhone();await this.handlerSubmit(e)}render(){var e;return t(i,{key:"a1fa8f1b45d663be5a434ac12af569100ad05f99",class:"crm-phone-form"},t("label",{key:"b374c22ba75e76f482379a7bfc1d1c202e72d9a9",class:"crm-subtitle"},"Digite o seu celular para verificar se há desconto disponível nessa compra"),t("phone-input-mask",{key:"f0816190a397e74a9afb6fc3fe90ee3b00eab3be",initialValue:this.value,ref:e=>this.phoneInputMask=e}),t("crm-button",{key:"864a2c0365f1695fb88a2ccdee75b5341ab634f7",txtBtn:((e=this.config)===null||e===void 0?void 0:e.btnApplyBonusLabel)||"Avançar",loading:this.loading,handleClick:()=>this.handlePhone()}))}};p.style=d;const l=":host{display:block;font-family:Arial, sans-serif}.form-container-pin{display:flex;flex-direction:column;align-items:center}.pin-container{display:flex;justify-content:start;gap:10px}input{width:40px;height:48px;font-size:14px;text-align:center;border:1px solid #ccc;border-radius:5px}button{padding:10px 20px;background-color:#ddd;border:none;border-radius:5px;cursor:pointer}.success{color:green;margin-top:10px}.button{top:50%;background-color:#6c6c7e;color:#fff;border:none;border-radius:10px;padding:15px;min-height:30px;min-width:120px;font-size:20px;cursor:pointer}.button-cancel{top:50%;background-color:#ffffff;color:#1e1c1c;border:1px solid gray;border-radius:10px;padding:10px;min-height:30px;min-width:120px;font-size:19px;cursor:pointer}.crm-description{font-size:14px;width:100%;display:flex;gap:9px}.crm-description a{font-weight:bold;cursor:pointer;text-decoration:underline}.crm-description div{display:flex;gap:5px}";const f=l;const h="*{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)}.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}";const b=h;const m=class{constructor(t){e(this,t);this.validate=undefined;this.cancel=undefined;this.resend=undefined;this.sent=undefined;this.loading=false;this.phone=undefined;this.config=undefined;this.pin=["","","",""];this.isVerified=false;this.canResend=false}componentWillLoad(){this.canResend=false}handleInput(e,t){const i=e.target;const o=i.value.slice(0,1);this.pin[t]=o;if(o&&t<this.pin.length-1){const e=i.nextElementSibling;e===null||e===void 0?void 0:e.focus()}this.pin=[...this.pin]}validatePin(){this.validate(this.pin.join(""))}verifyPin(){const e=this.pin.join("");if(e==="9999"){this.isVerified=true}}handleTimeout(){this.canResend=true}async handleResend(){await this.resend();this.canResend=false;this.pin=["","","",""]}render(){var e;return t("div",{key:"eafa00ec4ec2e33aa0941b5610945c40aefdff20",class:"crm-phone-form"},t("label",{key:"f41c3d596d49b0d4beab6202f98c85dce4fa9dfa",class:"crm-subtitle"},o.t("pin-sutitle")," ",t("strong",{key:"1e8fe82b99200bb74b3148fd3bd2e6f3d6a9f71b"},"+55 ",this.phone)),t("div",{key:"a847274eb88b0e8a740a54a32ec5bd6026b3a83d",class:"pin-container"},this.pin.map(((e,i)=>t("input",{type:"text",maxLength:1,value:this.pin[i],onInput:e=>this.handleInput(e,i)})))),t("slot",{key:"6b2ab8941fc6c2c0e596744be76ad4060d090d4f"}),t("p",{key:"f81fe581fdfac99298ec7edcebbc0808142647aa",class:"crm-description"}," Não recebeu?",!this.canResend&&t("label",{key:"c818707aec856895a92c640170b45bcb0911261a"}," Reenviar em ",t("countdown-timer",{key:"9b32c89194a419eb86d2ffe36a370c5961a0a1e1",downtime:()=>this.handleTimeout()})," "),this.canResend&&t("div",{key:"a070efe17ff6a7f6f8b2c696e67f17d1f5c8058d"},t("a",{key:"6ed4cf4abe25b38eaa5844049b6161f18adf332f",onClick:()=>this.handleResend()},"Reenviar"),t("a",{key:"f0179af1cace207e8c6e06de9d977e0ea5062dfe",onClick:()=>this.cancel()},"Trocar número"))),t("crm-button",{key:"3352c222bc9b15b5b3e3fd6bfeedf01e1e0b0e76",txtBtn:((e=this.config)===null||e===void 0?void 0:e.btnApplyBonusLabel)||"Avançar",loading:this.loading,handleClick:()=>this.validatePin()}))}};m.style=f+b;export{n as countdown_timer,s as giftback_info,p as phone_form,m as pin_form};
2
- //# sourceMappingURL=p-0160f5f5.entry.js.map
1
+ import{r as e,h as t,H as i}from"./p-24616d67.js";import{i as o}from"./p-fb505488.js";const n=class{constructor(t){e(this,t);this.downtime=undefined;this.counter=30}componentWillLoad(){this.intervalId=setInterval((()=>{if(this.counter>0){this.counter--}else{clearInterval(this.intervalId);this.downtime()}}),1e3)}disconnectedCallback(){clearInterval(this.intervalId)}render(){return t("label",{key:"6313656b73bec34e3e4e5099c2bd7633e025588e"},this.counter,"s")}};const a=":host{--text-color:#6D6D5F}.giftback-container{display:flex;flex-direction:column;gap:14px}h3{font-size:1.2rem;margin-bottom:8px;color:#333}.container-description p{font-size:14px;font-weight:400}p{font-size:12px;color:#000}.value-display h2{color:#6D6D5F;font-size:1.6rem;margin:16px 0}input[type='range']{width:100%;margin:12px 0;-webkit-appearance:none;background:#ddd;height:4px;border-radius:4px;outline:none;padding:3px}input[type='range']::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--text-color);border-radius:50%;cursor:pointer}.options{margin:0px 0;display:flex;gap:10px;flex-direction:column}.options label{display:block;margin:0px 0;font-size:0.9rem;color:#333}.options input[type='radio']{margin-right:8px;height:16px;width:16px}.options input[type='radio']{appearance:none;-webkit-appearance:none;margin-right:8px;width:16px;height:16px;border:2px solid #ddd;border-radius:50%;background-color:#fff;cursor:pointer;transition:all 0.3s;padding:0px}.options input[type='radio']:checked{border-color:#000;background-color:#FAFAFA;border:4px solid #000}.info-box{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px;padding:8px;font-size:14px;color:#262626;line-height:20px}.info-icon{font-size:0.9rem;cursor:pointer;color:#888}h3{font-size:1.2rem;margin-bottom:8px;color:#333}.slider-wrapper{position:relative;margin:21px 0px 0px 0px}.slider{width:100%;-webkit-appearance:none;background:#ddd;height:4px;border-radius:2px;outline:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--text-color);border-radius:50%;cursor:pointer}.slider-value{position:absolute;top:-30px;font-size:16px;font-weight:700;color:var(--text-color);transform:translateX(-50%);white-space:nowrap;margin-left:23px}";const r=a;const s=class{constructor(t){e(this,t);this.usedValue=0;this.selectedOption="none";this.loading=false;this.bonus={totalBonus:0,cartId:"",minimumPurchase:0,bonusBalance:0,calculatedValue:0,firstValidityDate:"",totalValue:0};this.reserve=undefined;this.cancel=undefined;this.sliderPosition=50}changedBonus(){this.updateBonus()}updateBonus(){this.usedValue=parseFloat(this.bonus.bonusBalance.toString());this.buildPositionSlider(0,this.bonus.totalBonus)}componentWillLoad(){this.updateBonus();this.selectedOption=localStorage.getItem("bc:used")}handleSliderChange(e){const t=e.target;this.usedValue=parseFloat(t.value);this.buildPositionSlider(parseFloat(t.min),parseFloat(t.max))}buildPositionSlider(e,t){const i=(this.usedValue-e)/(t-e)*100;this.sliderPosition=i}async handleOptionChange(e){this.selectedOption=e;localStorage.setItem("bc:used",e);switch(this.selectedOption){case"use":await this.reserve(this.usedValue);break;case"dontUse":await this.cancel();break}}render(){const e=this.bonus.minimumPurchase-this.bonus.totalValue;const i=o.t("giftDescription",{amount:`${this.bonus.totalBonus.toFixed(2).replace(".",",")}`,custom_name:"Giftback"});return t("div",{key:"403c0ce7c75392fa39c5be350332485a40d355ff",class:"giftback-container"},t("div",{key:"32082671a78c5fad47437b0f90c3b81bc554a35a",class:"container-description"},t("p",{key:"c092e55242b9c614cab88a0d4e668c65892c6cb5",innerHTML:i})),t("div",{key:"5ce149e7cff2c917150889466b6594e384dbc696",class:"slider-wrapper"},t("div",{key:"597399d607a8df8346dda9ff3fa0173e1d37e08a",class:"slider-value",style:{left:`calc(${this.sliderPosition}% - 20px)`}},"R$ ",this.usedValue.toFixed(2).replace(".",",")),t("input",{key:"a177c7138e257733cbb291ecc3fc26a3345221dd",disabled:true,type:"range",min:"0",max:this.bonus.totalBonus,value:this.usedValue,class:"slider",step:"0.01",onInput:e=>this.handleSliderChange(e),style:{background:`linear-gradient(to right, #6D6D5F ${this.sliderPosition}%, #ddd ${this.sliderPosition}%)`}})),t("p",{key:"26c57cea71436eab62765cb1a5aa453312ccf3d5"},"Adicione ",t("strong",{key:"1fe4522625c78a9b6b79c3ca240c74f97bd0b6b7"},"R$ ",e<0?"0,00":e.toFixed(2).replace(".",","))," ao carrinho para atingir o valor máximo!"),t("div",{key:"f90088664a4f701de71a745dc372f7ec4140d51b",class:"options"},t("label",{key:"55459ad240e943c967ec230cf4c19da71b78d616"},t("input",{key:"fe173b7b58a880bbb8f53fba049558031d215ea5",type:"radio",name:"giftbackOption",value:"use",checked:this.selectedOption==="use",onChange:()=>this.handleOptionChange("use")}),"Usar o meu Giftback"),t("label",{key:"89e28ac39113490be0920642a2821bae57ae502c"},t("input",{key:"b02f53533b93309e2abad203106e4934ed21d17d",type:"radio",name:"giftbackOption",value:"dontUse",checked:this.selectedOption==="dontUse",onChange:()=>this.handleOptionChange("dontUse")}),"Não usar o meu Giftback")),t("div",{key:"edcc7dc3b9ea02a9bd3d072d62cbe592ebaa85be",class:"info-box"},"O Giftback será aplicado na próxima etapa."))}static get watchers(){return{bonus:["changedBonus"]}}};s.style=r;const c="*{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)}.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}";const d=c;const p=class{constructor(t){e(this,t);this.value=undefined;this.loading=undefined;this.handlerSubmit=undefined;this.config=undefined}async handlePhone(){const e=await this.phoneInputMask.getPhone();await this.handlerSubmit(e)}render(){var e;return t(i,{key:"e9d7a5291b33b478b70fe5d2047764119da1da05",class:"crm-phone-form"},t("label",{key:"b8ec0e468c2a59258edeec123654300b17795ef1",class:"crm-subtitle"},"Digite o seu celular para verificar se há desconto disponível nessa compra"),t("phone-input-mask",{key:"cdd2086ea2041a7cff6d2547ada050187ecc5782",initialValue:this.value,ref:e=>this.phoneInputMask=e}),t("crm-button",{key:"7342514efb50657e7231ef312162fa20831c3ded",txtBtn:((e=this.config)===null||e===void 0?void 0:e.btnApplyBonusLabel)||"Avançar",loading:this.loading,handleClick:()=>this.handlePhone()}))}};p.style=d;const l=":host{display:block;font-family:Arial, sans-serif}.form-container-pin{display:flex;flex-direction:column;align-items:center}.pin-container{display:flex;justify-content:start;gap:10px}input{width:40px;height:48px;font-size:14px;text-align:center;border:1px solid #ccc;border-radius:5px}button{padding:10px 20px;background-color:#ddd;border:none;border-radius:5px;cursor:pointer}.success{color:green;margin-top:10px}.button{top:50%;background-color:#6c6c7e;color:#fff;border:none;border-radius:10px;padding:15px;min-height:30px;min-width:120px;font-size:20px;cursor:pointer}.button-cancel{top:50%;background-color:#ffffff;color:#1e1c1c;border:1px solid gray;border-radius:10px;padding:10px;min-height:30px;min-width:120px;font-size:19px;cursor:pointer}.crm-description{font-size:14px;width:100%;display:flex;gap:9px}.crm-description a{font-weight:bold;cursor:pointer;text-decoration:underline}.crm-description div{display:flex;gap:5px}";const f=l;const h="*{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)}.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}";const b=h;const m=class{constructor(t){e(this,t);this.validate=undefined;this.cancel=undefined;this.resend=undefined;this.sent=undefined;this.loading=false;this.phone=undefined;this.config=undefined;this.pin=["","","",""];this.isVerified=false;this.canResend=false}componentWillLoad(){this.canResend=false}handleInput(e,t){const i=e.target;const o=i.value.slice(0,1);this.pin[t]=o;if(o&&t<this.pin.length-1){const e=i.nextElementSibling;e===null||e===void 0?void 0:e.focus()}this.pin=[...this.pin]}validatePin(){this.validate(this.pin.join(""))}verifyPin(){const e=this.pin.join("");if(e==="9999"){this.isVerified=true}}handleTimeout(){this.canResend=true}async handleResend(){await this.resend();this.canResend=false;this.pin=["","","",""]}render(){var e;return t("div",{key:"767d23f4116f50eff85dee75caf93b9138e915f7",class:"crm-phone-form"},t("label",{key:"56eb285a2fde3f209e86834dacf265801d6778dd",class:"crm-subtitle"},o.t("pin-sutitle")," ",t("strong",{key:"f0494fa3fb8c0a389e60f47b1569db8b58c0f59d"},"+55 ",this.phone)),t("div",{key:"472f69c00dc6329b9086c82e858eb3739da2de5a",class:"pin-container"},this.pin.map(((e,i)=>t("input",{type:"text",maxLength:1,value:this.pin[i],onInput:e=>this.handleInput(e,i)})))),t("slot",{key:"31ed7ad3ca6c681c441ff8f09c2af2df1fcb4cb8"}),t("p",{key:"1fcdf997ba9926744eb64add8eb0d82ee4bee8d2",class:"crm-description"}," Não recebeu?",!this.canResend&&t("label",{key:"6d92a595bf2f1d8018c7a283302548b9f1338c8e"}," Reenviar em ",t("countdown-timer",{key:"b8164b1345e1b7f2ccced338cc0940f0245f89e4",downtime:()=>this.handleTimeout()})," "),this.canResend&&t("div",{key:"144fe92ebea77099ab9eb089a2c1239dfe88ffd0"},t("a",{key:"fb817a1bd4ee194d01656f52c61eaad2f00e1019",onClick:()=>this.handleResend()},"Reenviar"),t("a",{key:"cff8f476dd0fdd64831db02ef5cb4ddba1919aae",onClick:()=>this.cancel()},"Trocar número"))),t("crm-button",{key:"1c11adbe0b480b9d460f87103d690f66b9a06299",txtBtn:((e=this.config)===null||e===void 0?void 0:e.btnApplyBonusLabel)||"Avançar",loading:this.loading,handleClick:()=>this.validatePin()}))}};m.style=f+b;export{n as countdown_timer,s as giftback_info,p as phone_form,m as pin_form};
2
+ //# sourceMappingURL=p-cd95574b.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as t,h as i}from"./p-45c0296c.js";import{C as s,g as e}from"./p-a7ddcab4.js";import{S as o}from"./p-a561251a.js";import{g as a}from"./p-75ba7b9a.js";import{i as n}from"./p-fb505488.js";const h="*{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)}.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}";const c=h;const r=class{constructor(i){t(this,i);this.crmBonusService=s.getInstance();this.storeName=undefined;this.cartId=undefined;this.products=undefined;this.customer=undefined;this.value=undefined;this.loading=false;this.message=undefined;this.phone=undefined;this.pinInfo=undefined;this.step=o.STEP_PHONE;this.bonus=undefined;this.sucess="";this.error="";this.config=undefined;this.hasApplyBonus=false}async setStep(t){this.step=t}async processBonus(){this.sucess="";const t=localStorage.getItem(e(this.cartId));if(t){const i=JSON.parse(t);this.bonus=i;this.phone=i.phone;this.pinInfo={storeId:i.storeId,userId:i.userId};await this.validateBonus("2018");this.step=o.STEP_RESERVE}}async handleSendPin(t){this.message="";if(!t){this.message="Informe seu telefone";return}this.phone=t;this.sendPin()}async componentWillLoad(){this.sucess="";this.error="";this.config=a(this.storeName);await this.handleApply()}async handleApply(){await this.processBonus()}convertStringToNumber(){const t=this.phone.replace(/\D/g,"");return Number(t)}async sendPin(){var t,i;this.loading=true;this.message="";this.sucess="";this.error="";try{const t=this.convertStringToNumber();this.pinInfo=await this.crmBonusService.sendPin(t,"",this.storeName);this.step=o.STEP_PIN}catch(s){this.message=(i=(t=s===null||s===void 0?void 0:s.response)===null||t===void 0?void 0:t.data)===null||i===void 0?void 0:i.message}finally{this.loading=false}}changePhone(){this.sucess="";this.error="";this.step=o.STEP_PHONE}async validateBonus(t){var i,s;if(this.sucess){this.step=o.STEP_RESERVE;return}this.loading=true;this.sucess="";this.error="";const a={pin:t,cellphone:this.phone.toString(),storeId:this.pinInfo.storeId.toString(),userId:this.pinInfo.userId.toString(),checkoutId:this.cartId,checkoutProducts:this.products,name:null,storeName:this.storeName};try{this.bonus=await this.crmBonusService.validatePinBonus(a);if(!this.bonus.hasBonus){this.loading=false;this.step=o.STEP_NO_BONUS;return}this.sucess="Código validado com sucesso!";localStorage.setItem(e(this.cartId),JSON.stringify(Object.assign(Object.assign({},this.bonus),{phone:this.phone})))}catch(t){const e=(s=(i=t===null||t===void 0?void 0:t.response)===null||i===void 0?void 0:i.data)===null||s===void 0?void 0:s.message;if(e.includes("Pin")){this.error="Código inválido!"}else{this.error=e;this.step=o.STEP_NO_BONUS}}finally{this.loading=false}}handleCancel(){this.cancel()}async cancel(){this.message="";this.loading=true;try{await this.crmBonusService.cancel(this.cartId);this.save(0)}catch(t){this.message="Não consegui cancelar o bônus, tente novamente!"}finally{this.loading=false}}async reserveApply(t){this.loading=true;this.message="";try{await this.reserve(t);this.save(t)}catch(t){this.message="ocorreu um error ao solicitar a aplicação do bonus! tente novamente";this.step=o.STEP_NO_BONUS;localStorage.removeItem(this.cartId)}finally{this.loading=false}}save(t){localStorage.setItem(this.cartId,t.toString())}async reserve(t){await this.crmBonusService.reserve({redeemedBonus:t,cartId:this.cartId,ticket:this.cartId,grossValue:Number(this.bonus.totalValue),storeName:this.storeName,storeId:this.bonus.storeId.toString(),userId:this.bonus.userId})}render(){return i("div",{key:"bcdcaf47c056325591abc1aca2af8b139b687905",class:"crm-container-form fbits-responsive-carrinho-desconto"},i("label",{key:"e5a07f16ec6209c01abcfbd43628c510ba87bbc7",class:"crm-title"},this.config.giftbackTitle),this.step===o.STEP_PHONE&&i("phone-form",{key:"9c928594efaee7f7ebd503b2144eec1ba9c1e8a5",value:this.customer.phone,config:this.config,loading:this.loading,handlerSubmit:t=>this.handleSendPin(t)}),this.step===o.STEP_PIN&&i("pin-form",{key:"d1280fb5e3b71b004b641af35fc4a1f8df85ced8",config:this.config,phone:this.phone,cancel:()=>this.changePhone(),resend:()=>this.sendPin(),validate:t=>this.validateBonus(t),loading:this.loading},this.sucess&&i("p",{key:"eab06087abbac2ce8fada74cd9313ef87ea63ab9",class:"crm-message-info"},this.sucess),this.error&&i("p",{key:"822b7d1058e8e9dfcdc3a2351984aeed3e8fca6c",class:"crm-message-error"},this.error)),this.step===o.STEP_RESERVE&&i("giftback-info",{key:"e45d28b56f8a8e831050b8afc4075ccbf3bb10b3",loading:this.loading,cancel:()=>this.handleCancel(),bonus:this.bonus,reserve:t=>this.reserveApply(t)}),this.step===o.STEP_NO_BONUS&&i("div",{key:"bed09587cfcd07465345dbca12ef15657c641680",class:"container-message"},n.t("noGiftback",{storename:this.config.giftbackTitle})))}};r.style=c;export{r as crm_giftback_form};
2
- //# sourceMappingURL=p-feadb94b.entry.js.map
1
+ import{r as t,h as i}from"./p-24616d67.js";import{C as s,g as e}from"./p-a7ddcab4.js";import{S as o}from"./p-a561251a.js";import{g as n}from"./p-75ba7b9a.js";import{i as a}from"./p-fb505488.js";const r="*{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)}.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}";const h=r;const c=class{constructor(i){t(this,i);this.crmBonusService=s.getInstance();this.storeName=undefined;this.cartId=undefined;this.products=undefined;this.customer=undefined;this.value=undefined;this.loading=false;this.message=undefined;this.phone=undefined;this.pinInfo=undefined;this.step=o.STEP_PHONE;this.bonus=undefined;this.sucess="";this.error="";this.config=undefined;this.hasApplyBonus=false}async setStep(t){this.step=t}async processBonus(){this.sucess="";const t=localStorage.getItem(e(this.cartId));if(t){const i=JSON.parse(t);this.bonus=i;this.phone=i.phone;this.pinInfo={storeId:i.storeId,userId:i.userId};await this.validateBonus("2018");this.step=o.STEP_RESERVE}}async handleSendPin(t){this.message="";if(!t){this.message="Informe seu telefone";return}this.phone=t;this.sendPin()}async componentWillLoad(){this.sucess="";this.error="";this.config=n(this.storeName);await this.handleApply()}async handleApply(){await this.processBonus()}convertStringToNumber(){const t=this.phone.replace(/\D/g,"");return Number(t)}async sendPin(){var t,i;this.loading=true;this.message="";this.sucess="";this.error="";try{const t=this.convertStringToNumber();this.pinInfo=await this.crmBonusService.sendPin(t,"",this.storeName);this.step=o.STEP_PIN}catch(s){this.message=(i=(t=s===null||s===void 0?void 0:s.response)===null||t===void 0?void 0:t.data)===null||i===void 0?void 0:i.message}finally{this.loading=false}}changePhone(){this.sucess="";this.error="";this.step=o.STEP_PHONE}async validateBonus(t){var i,s;if(this.sucess){this.step=o.STEP_RESERVE;return}this.loading=true;this.sucess="";this.error="";const n={pin:t,cellphone:this.phone.toString(),storeId:this.pinInfo.storeId.toString(),userId:this.pinInfo.userId.toString(),checkoutId:this.cartId,checkoutProducts:this.products,name:null,storeName:this.storeName};try{this.bonus=await this.crmBonusService.validatePinBonus(n);if(!this.bonus.hasBonus){this.loading=false;this.step=o.STEP_NO_BONUS;return}this.sucess="Código validado com sucesso!";localStorage.setItem(e(this.cartId),JSON.stringify(Object.assign(Object.assign({},this.bonus),{phone:this.phone})))}catch(t){const e=(s=(i=t===null||t===void 0?void 0:t.response)===null||i===void 0?void 0:i.data)===null||s===void 0?void 0:s.message;if(e.includes("Pin")){this.error="Código inválido!"}else{this.error=e;this.step=o.STEP_NO_BONUS}}finally{this.loading=false}}handleCancel(){this.cancel()}async cancel(){this.message="";this.loading=true;try{await this.crmBonusService.cancel(this.cartId);this.save(0)}catch(t){this.message="Não consegui cancelar o bônus, tente novamente!"}finally{this.loading=false}}async reserveApply(t){this.loading=true;this.message="";try{await this.reserve(t);this.save(t)}catch(t){this.message="ocorreu um error ao solicitar a aplicação do bonus! tente novamente";this.step=o.STEP_NO_BONUS;localStorage.removeItem(this.cartId)}finally{this.loading=false}}save(t){localStorage.setItem(this.cartId,t.toString())}async reserve(t){await this.crmBonusService.reserve({redeemedBonus:t,cartId:this.cartId,ticket:this.cartId,grossValue:Number(this.bonus.totalValue),storeName:this.storeName,storeId:this.bonus.storeId.toString(),userId:this.bonus.userId})}render(){return i("div",{key:"2a225520b20b78fba60b11f6bcbff044750bf6d1",class:"crm-container-form fbits-responsive-carrinho-desconto"},i("label",{key:"19a5f06a826500ca4cde52d9ea3da9e0a8125408",class:"crm-title"},this.config.giftbackTitle),this.step===o.STEP_PHONE&&i("phone-form",{key:"15055be6adb4a01300d03ecc29f6c49963d7f642",value:this.customer.phone,config:this.config,loading:this.loading,handlerSubmit:t=>this.handleSendPin(t)}),this.step===o.STEP_PIN&&i("pin-form",{key:"10629be7ff271ce8a65f7268b1f7700f5dab8b25",config:this.config,phone:this.phone,cancel:()=>this.changePhone(),resend:()=>this.sendPin(),validate:t=>this.validateBonus(t),loading:this.loading},this.sucess&&i("p",{key:"ac9c9db89ef6f1357f26b26c2d0b179056f5affd",class:"crm-message-info"},this.sucess),this.error&&i("p",{key:"d04c70cdbba00d72a7b4d8b089cfff961b4e9ecc",class:"crm-message-error"},this.error)),this.step===o.STEP_RESERVE&&i("giftback-info",{key:"72dfd0ce0dd7fab15d41d32023d8b1190472af3f",loading:this.loading,cancel:()=>this.handleCancel(),bonus:this.bonus,reserve:t=>this.reserveApply(t)}),this.step===o.STEP_NO_BONUS&&i("div",{key:"d25638b12aebf6fd34064092da6f47e19e54bf9d",class:"container-message"},a.t("noGiftback",{storename:this.config.giftbackTitle})))}};c.style=h;const d=".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}";const l=d;const f=class{constructor(i){t(this,i);this.loading=true}render(){return i("div",{key:"422b09da21c691f5eaeb4df9cb30531428409787",class:"relative-xy"},this.loading&&i("div",{key:"4777be23c24bb0b3190d8992ba97a5206eded534",class:"loading-container"},i("div",{key:"0f44c0f2d96890a604e60c2ae5163ef80f55b319",class:"loading-spinner"})),i("slot",{key:"a8f88a43a1fe8ea3348ecd0f5b6855102262f6c5"}))}};f.style=l;export{c as crm_giftback_form,f as loading_container};
2
+ //# sourceMappingURL=p-d8e5a526.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["giftbackFormCss","CrmGiftbackFormStyle0","CrmBonus","this","crmBonusService","CrmBonusService","getInstance","StepFormEnum","STEP_PHONE","setStep","step","processBonus","sucess","_bonus","localStorage","getItem","getKeyReserveByCartId","cartId","bonus","JSON","parse","phone","pinInfo","storeId","userId","validateBonus","STEP_RESERVE","handleSendPin","message","sendPin","componentWillLoad","error","config","getInfoCustomization","storeName","handleApply","convertStringToNumber","_phone","replace","Number","loading","STEP_PIN","_b","_a","response","data","changePhone","pin","payload","cellphone","toString","checkoutId","checkoutProducts","products","name","validatePinBonus","hasBonus","STEP_NO_BONUS","setItem","stringify","Object","assign","_error","includes","handleCancel","cancel","save","reserveApply","amount","reserve","removeItem","redeemedBonus","ticket","grossValue","totalValue","render","h","key","class","giftbackTitle","value","customer","handlerSubmit","resend","validate","amountRedeemed","i18next","t","storename","loadingContainerCss","LoadingContainerStyle0","LoadingContainer"],"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}\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 { 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\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_PHONE;\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() {\n this.sucess = \"\";\n const _bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\n\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 }\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 await this.handleApply()\n\n }\n\n async handleApply() {\n await this.processBonus();\n\n // const bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\n\n // if (bonus) {\n // this.bonus = JSON.parse(bonus);\n // this.step = StepFormEnum.STEP_RESERVE; \n // }\n\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\n this.pinInfo = await this.crmBonusService.sendPin(_phone, \"\", this.storeName);\n\n this.step = StepFormEnum.STEP_PIN;\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 if (this.sucess) {\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.phone.toString(),\n storeId: this.pinInfo.storeId.toString(),\n userId: this.pinInfo.userId.toString(),\n checkoutId: this.cartId,\n checkoutProducts: this.products,\n name: null,\n storeName: this.storeName\n }\n\n try {\n this.bonus = await this.crmBonusService.validatePinBonus(payload);\n\n if (!this.bonus.hasBonus) {\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\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 // localStorage.removeItem(this.cartId);\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 loading={this.loading}\n cancel={() => this.handleCancel()}\n bonus={this.bonus}\n reserve={(amountRedeemed: number) => this.reserveApply(amountRedeemed)}\n />\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}"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as a}from"./p-24616d67.js";const i=class{constructor(a){e(this,a);this.sendPin=undefined;this.loading=undefined;this.value=undefined}async validatePhone(){const e=await this.phoneInputMask.getPhone();await this.sendPin(e)}render(){return a("div",{key:"43b8b975dfd6896fdcd1e626d331bf61caeb65b9",class:"form-container"},a("phone-input-mask",{key:"983d8d245c175ba231be50205f62881a2ea53244",initialValue:`Valor aplicado R$ ${this.value}`,ref:e=>this.phoneInputMask=e,disabled:true}),a("button",{key:"94fad9eeada065984efd1a552003809706d88ce4",class:`btn btn-success btnCrm ${this.loading?"disabled":""} `,disabled:this.loading,onClick:()=>this.validatePhone()},!this.loading?"Cancelar":a("loading-spinner",{size:"11px",color:"#fff"})))}};export{i as phone_cancel_input};
2
+ //# sourceMappingURL=p-db4f04a8.entry.js.map
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-c477a8b3.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-84fba7ef.js';
2
2
 
3
3
  const appModalCss = ".modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.5);display:none;justify-content:center;align-items:center;z-index:1000}.modal-backdrop.visible{display:flex}.modal{background:white;border-radius:8px;padding:1rem;max-width:500px;width:90%;box-shadow:0 2px 10px rgba(0, 0, 0, 0.3)}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ddd;margin-bottom:1rem}.close-button{background:none;border:none;font-size:1.5rem;cursor:pointer}.modal-body{}";
4
4
  const AppModalStyle0 = appModalCss;
@@ -14,7 +14,7 @@ const AppModal = class {
14
14
  this.modalClosed.emit();
15
15
  }
16
16
  render() {
17
- return (h("div", { key: '9ed1b6a6f09b9127119d661abbd447e047c49efb', class: `modal-backdrop ${this.isOpen ? 'visible' : ''}` }, h("div", { key: 'dd4f515ea7949d5a470655234a9c0b48194bba1b', class: "modal" }, h("div", { key: '387a930782a4a00073eda969acc86bed39fc8151', class: "modal-header" }, h("h3", { key: '38f041a1e3483490a4de85f1c0a223c47c664517' }, this.modalTitle), h("button", { key: '98998678ec65fd96ad6284d8602ccdf5fd723e26', class: "close-button", onClick: () => this.closeModal() }, "\u00D7")), h("div", { key: '845f631054557e79b4ef0521b6eefd41eda93eeb', class: "modal-body" }, h("slot", { key: '2d5539938e7c4175eede394bddeb841e371912fa' })))));
17
+ return (h("div", { key: '37c55ddb47bc0c333712da42f369851379c6c47d', class: `modal-backdrop ${this.isOpen ? 'visible' : ''}` }, h("div", { key: '79806824da9a4990ca6ba0cbf3c459431902e945', class: "modal" }, h("div", { key: 'cf60c5340f1171f2be3ebb23592d63c7ab0a086c', class: "modal-header" }, h("h3", { key: 'e5e4d66d4251c890319344c8c7ec66e66a44aa12' }, this.modalTitle), h("button", { key: '6eacc4be8e63e1511c3340ce460e618943d1ebbc', class: "close-button", onClick: () => this.closeModal() }, "\u00D7")), h("div", { key: '4dbec4e836cd3366a185581feeb1842a0b335f07', class: "modal-body" }, h("slot", { key: '38f4bb26dc576d6965f2ac184942cfdc8f4c4f07' })))));
18
18
  }
19
19
  };
20
20
  AppModal.style = AppModalStyle0;
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-c477a8b3.js';
1
+ import { r as registerInstance, h, H as Host } from './index-84fba7ef.js';
2
2
  import { i as instance } from './i18n-887a3ef8.js';
3
3
 
4
4
  const CountdownTimer = class {
@@ -87,11 +87,11 @@ const GiftbackInfo = class {
87
87
  render() {
88
88
  const remainingGiftback = this.bonus.minimumPurchase - this.bonus.totalValue;
89
89
  const translateDescription = instance.t("giftDescription", { amount: `${this.bonus.totalBonus.toFixed(2).replace(".", ",")}`, custom_name: "Giftback" });
90
- return (h("div", { key: 'cfaf3240b19d9d0628f307c40fa1d1732ee1958e', class: "giftback-container" }, h("div", { key: '455b4ce24248b5f782a7fc24ee76a96ca1073ea2', class: "container-description" }, h("p", { key: 'c31137459177e4f4d490b85ec233ad56ac3d01a0', innerHTML: translateDescription })), h("div", { key: '5a0b47a17fce0be92cb8cce9791b44502c0abc37', class: "slider-wrapper" }, h("div", { key: '69b4997516b449e107fc0dc6b8e620ff9bcb6843', class: "slider-value", style: {
90
+ return (h("div", { key: '403c0ce7c75392fa39c5be350332485a40d355ff', class: "giftback-container" }, h("div", { key: '32082671a78c5fad47437b0f90c3b81bc554a35a', class: "container-description" }, h("p", { key: 'c092e55242b9c614cab88a0d4e668c65892c6cb5', innerHTML: translateDescription })), h("div", { key: '5ce149e7cff2c917150889466b6594e384dbc696', class: "slider-wrapper" }, h("div", { key: '597399d607a8df8346dda9ff3fa0173e1d37e08a', class: "slider-value", style: {
91
91
  left: `calc(${this.sliderPosition}% - 20px)`, // Ajuste para centralizar o texto
92
- } }, "R$ ", this.usedValue.toFixed(2).replace(".", ",")), h("input", { key: '7f829763c3df0f35512820fc3aa19ceec3a1f9dd', disabled: true, type: "range", min: "0", max: this.bonus.totalBonus, value: this.usedValue, class: "slider", step: "0.01", onInput: (event) => this.handleSliderChange(event), style: {
92
+ } }, "R$ ", this.usedValue.toFixed(2).replace(".", ",")), h("input", { key: 'a177c7138e257733cbb291ecc3fc26a3345221dd', disabled: true, type: "range", min: "0", max: this.bonus.totalBonus, value: this.usedValue, class: "slider", step: "0.01", onInput: (event) => this.handleSliderChange(event), style: {
93
93
  background: `linear-gradient(to right, #6D6D5F ${this.sliderPosition}%, #ddd ${this.sliderPosition}%)`,
94
- } })), h("p", { key: 'f6581d93a233721f1f4c39fbf915db4c52cd1fe3' }, "Adicione ", h("strong", { key: '6475d931cd33e0e2672959e51e2e60bbbc4b86e6' }, "R$ ", remainingGiftback < 0 ? "0,00" : remainingGiftback.toFixed(2).replace(".", ",")), " ao carrinho para atingir o valor m\u00E1ximo!"), h("div", { key: '97a837a518cc4de92bcec8a6b231b53655174899', class: "options" }, h("label", { key: 'a079f347ff8520b71006321617cf9143f7456bc8' }, h("input", { key: 'aeddb1974329abbd1f8bd3b641445580931e2cff', type: "radio", name: "giftbackOption", value: "use", checked: this.selectedOption === 'use', onChange: () => this.handleOptionChange('use') }), "Usar o meu Giftback"), h("label", { key: '87d2ed1cd59aa6a13acdf4f06737cdc016a90790' }, h("input", { key: '86b4df8c2dc048dd412e5d69fad8bd2f83fc7328', type: "radio", name: "giftbackOption", value: "dontUse", checked: this.selectedOption === 'dontUse', onChange: () => this.handleOptionChange('dontUse') }), "N\u00E3o usar o meu Giftback")), h("div", { key: 'f4c8b2f7e03d02b35ee2be9336d303f5a642cdc7', class: "info-box" }, "O Giftback ser\u00E1 aplicado na pr\u00F3xima etapa.")));
94
+ } })), h("p", { key: '26c57cea71436eab62765cb1a5aa453312ccf3d5' }, "Adicione ", h("strong", { key: '1fe4522625c78a9b6b79c3ca240c74f97bd0b6b7' }, "R$ ", remainingGiftback < 0 ? "0,00" : remainingGiftback.toFixed(2).replace(".", ",")), " ao carrinho para atingir o valor m\u00E1ximo!"), h("div", { key: 'f90088664a4f701de71a745dc372f7ec4140d51b', class: "options" }, h("label", { key: '55459ad240e943c967ec230cf4c19da71b78d616' }, h("input", { key: 'fe173b7b58a880bbb8f53fba049558031d215ea5', type: "radio", name: "giftbackOption", value: "use", checked: this.selectedOption === 'use', onChange: () => this.handleOptionChange('use') }), "Usar o meu Giftback"), h("label", { key: '89e28ac39113490be0920642a2821bae57ae502c' }, h("input", { key: 'b02f53533b93309e2abad203106e4934ed21d17d', type: "radio", name: "giftbackOption", value: "dontUse", checked: this.selectedOption === 'dontUse', onChange: () => this.handleOptionChange('dontUse') }), "N\u00E3o usar o meu Giftback")), h("div", { key: 'edcc7dc3b9ea02a9bd3d072d62cbe592ebaa85be', class: "info-box" }, "O Giftback ser\u00E1 aplicado na pr\u00F3xima etapa.")));
95
95
  }
96
96
  static get watchers() { return {
97
97
  "bonus": ["changedBonus"]
@@ -116,7 +116,7 @@ const PhoneForm = class {
116
116
  }
117
117
  render() {
118
118
  var _a;
119
- return (h(Host, { key: 'a1fa8f1b45d663be5a434ac12af569100ad05f99', class: "crm-phone-form" }, h("label", { key: 'b374c22ba75e76f482379a7bfc1d1c202e72d9a9', class: "crm-subtitle" }, "Digite o seu celular para verificar se h\u00E1 desconto dispon\u00EDvel nessa compra"), h("phone-input-mask", { key: 'f0816190a397e74a9afb6fc3fe90ee3b00eab3be', initialValue: this.value, ref: ref => this.phoneInputMask = ref }), h("crm-button", { key: '864a2c0365f1695fb88a2ccdee75b5341ab634f7', txtBtn: ((_a = this.config) === null || _a === void 0 ? void 0 : _a.btnApplyBonusLabel) || "Avançar", loading: this.loading, handleClick: () => this.handlePhone() })));
119
+ return (h(Host, { key: 'e9d7a5291b33b478b70fe5d2047764119da1da05', class: "crm-phone-form" }, h("label", { key: 'b8ec0e468c2a59258edeec123654300b17795ef1', class: "crm-subtitle" }, "Digite o seu celular para verificar se h\u00E1 desconto dispon\u00EDvel nessa compra"), h("phone-input-mask", { key: 'cdd2086ea2041a7cff6d2547ada050187ecc5782', initialValue: this.value, ref: ref => this.phoneInputMask = ref }), h("crm-button", { key: '7342514efb50657e7231ef312162fa20831c3ded', txtBtn: ((_a = this.config) === null || _a === void 0 ? void 0 : _a.btnApplyBonusLabel) || "Avançar", loading: this.loading, handleClick: () => this.handlePhone() })));
120
120
  }
121
121
  };
122
122
  PhoneForm.style = PhoneFormStyle0;
@@ -174,7 +174,7 @@ const GiftbackPin = class {
174
174
  }
175
175
  render() {
176
176
  var _a;
177
- return (h("div", { key: 'eafa00ec4ec2e33aa0941b5610945c40aefdff20', class: "crm-phone-form" }, h("label", { key: 'f41c3d596d49b0d4beab6202f98c85dce4fa9dfa', class: "crm-subtitle" }, instance.t('pin-sutitle'), " ", h("strong", { key: '1e8fe82b99200bb74b3148fd3bd2e6f3d6a9f71b' }, "+55 ", this.phone)), h("div", { key: 'a847274eb88b0e8a740a54a32ec5bd6026b3a83d', class: "pin-container" }, this.pin.map((_, index) => (h("input", { type: "text", maxLength: 1, value: this.pin[index], onInput: (event) => this.handleInput(event, index) })))), h("slot", { key: '6b2ab8941fc6c2c0e596744be76ad4060d090d4f' }), h("p", { key: 'f81fe581fdfac99298ec7edcebbc0808142647aa', class: "crm-description" }, " N\u00E3o recebeu?", !this.canResend && h("label", { key: 'c818707aec856895a92c640170b45bcb0911261a' }, " Reenviar em ", h("countdown-timer", { key: '9b32c89194a419eb86d2ffe36a370c5961a0a1e1', downtime: () => this.handleTimeout() }), " "), this.canResend && (h("div", { key: 'a070efe17ff6a7f6f8b2c696e67f17d1f5c8058d' }, h("a", { key: '6ed4cf4abe25b38eaa5844049b6161f18adf332f', onClick: () => this.handleResend() }, "Reenviar"), h("a", { key: 'f0179af1cace207e8c6e06de9d977e0ea5062dfe', onClick: () => this.cancel() }, "Trocar n\u00FAmero")))), h("crm-button", { key: '3352c222bc9b15b5b3e3fd6bfeedf01e1e0b0e76', txtBtn: ((_a = this.config) === null || _a === void 0 ? void 0 : _a.btnApplyBonusLabel) || "Avançar", loading: this.loading, handleClick: () => this.validatePin() })));
177
+ return (h("div", { key: '767d23f4116f50eff85dee75caf93b9138e915f7', class: "crm-phone-form" }, h("label", { key: '56eb285a2fde3f209e86834dacf265801d6778dd', class: "crm-subtitle" }, instance.t('pin-sutitle'), " ", h("strong", { key: 'f0494fa3fb8c0a389e60f47b1569db8b58c0f59d' }, "+55 ", this.phone)), h("div", { key: '472f69c00dc6329b9086c82e858eb3739da2de5a', class: "pin-container" }, this.pin.map((_, index) => (h("input", { type: "text", maxLength: 1, value: this.pin[index], onInput: (event) => this.handleInput(event, index) })))), h("slot", { key: '31ed7ad3ca6c681c441ff8f09c2af2df1fcb4cb8' }), h("p", { key: '1fcdf997ba9926744eb64add8eb0d82ee4bee8d2', class: "crm-description" }, " N\u00E3o recebeu?", !this.canResend && h("label", { key: '6d92a595bf2f1d8018c7a283302548b9f1338c8e' }, " Reenviar em ", h("countdown-timer", { key: 'b8164b1345e1b7f2ccced338cc0940f0245f89e4', downtime: () => this.handleTimeout() }), " "), this.canResend && (h("div", { key: '144fe92ebea77099ab9eb089a2c1239dfe88ffd0' }, h("a", { key: 'fb817a1bd4ee194d01656f52c61eaad2f00e1019', onClick: () => this.handleResend() }, "Reenviar"), h("a", { key: 'cff8f476dd0fdd64831db02ef5cb4ddba1919aae', onClick: () => this.cancel() }, "Trocar n\u00FAmero")))), h("crm-button", { key: '1c11adbe0b480b9d460f87103d690f66b9a06299', txtBtn: ((_a = this.config) === null || _a === void 0 ? void 0 : _a.btnApplyBonusLabel) || "Avançar", loading: this.loading, handleClick: () => this.validatePin() })));
178
178
  }
179
179
  };
180
180
  GiftbackPin.style = PinFormStyle0 + PinFormStyle1;
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-c477a8b3.js';
1
+ import { r as registerInstance, h, H as Host } from './index-84fba7ef.js';
2
2
  import { C as CrmBonusService } from './crmbonus.service-84f1cc25.js';
3
3
  import { S as StepFormEnum } from './index-3c6d4feb.js';
4
4
 
@@ -89,7 +89,7 @@ const CrmBonusForm = class {
89
89
  this.cancel();
90
90
  }
91
91
  render() {
92
- return (h(Host, { key: '56bef07243aafe1abb78fdfd38922801b84c269b' }, this.step == StepFormEnum.STEP_NAME && h("name-input", { key: '685df95ea0cd693f9a62893798464834524f5168', loading: this.loadingModal, value: this.customer.name, applyName: (name) => this.handleCustomerName(name) }), this.step === StepFormEnum.STEP_PIN && h("giftback-pin", { key: 'af82b751ed04382498e25614276ac08d5cade07a', cancel: () => this.handleCancel(), sent: this.sent, validate: (data) => this.validateBonus(data), loading: this.loading }), this.step === StepFormEnum.STEP_RESERVE && h("giftback-progress", { key: '1b493c06bf11bc7596d672fcec789a9f93573751', loading: this.loading, cancel: () => this.handleCancel(), bonus: this.bonus, reserve: (amountRedeemed) => this.reserveApply(amountRedeemed) }), this.step === StepFormEnum.STEP_APPLY && h("giftback-finish", { key: '272438aa4dbc8bb1ef9fdb45d3c2cc657d41ef4a' }), h("p", { key: 'a3a0e8a1be44d65b1edd34e28956d1b34b732fef', class: "message-error" }, this.message)));
92
+ return (h(Host, { key: 'daffb2abf1353f42733a8983b675a32889a4858c' }, this.step == StepFormEnum.STEP_NAME && h("name-input", { key: '2602486632038c171b52be14a9625934a563de2b', loading: this.loadingModal, value: this.customer.name, applyName: (name) => this.handleCustomerName(name) }), this.step === StepFormEnum.STEP_PIN && h("giftback-pin", { key: 'c91c4b98a5dce2555c6c876d9f6cc2cb379ee940', cancel: () => this.handleCancel(), sent: this.sent, validate: (data) => this.validateBonus(data), loading: this.loading }), this.step === StepFormEnum.STEP_RESERVE && h("giftback-progress", { key: '972ae81b55992c46cee3584dbd0faf668831a531', loading: this.loading, cancel: () => this.handleCancel(), bonus: this.bonus, reserve: (amountRedeemed) => this.reserveApply(amountRedeemed) }), this.step === StepFormEnum.STEP_APPLY && h("giftback-finish", { key: '5119e52c28aad070073c12f1a277f6eb33ef5a7b' }), h("p", { key: '0c1cd4d8ff2405786603671a3a8ecdbf91382698', class: "message-error" }, this.message)));
93
93
  }
94
94
  };
95
95
  CrmBonusForm.style = CrmBonusFormStyle0;
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-c477a8b3.js';
1
+ import { r as registerInstance, h } from './index-84fba7ef.js';
2
2
  import { g as getInfoCustomization } from './info.config.helper-42d9ddf9.js';
3
3
  import { C as CrmBonusService, g as getKeyReserveByCartId } from './crmbonus.service-84f1cc25.js';
4
4
 
@@ -41,9 +41,9 @@ const CrmBonusNote = class {
41
41
  localStorage.removeItem(getKeyReserveByCartId(this.cartId));
42
42
  }
43
43
  render() {
44
- return (h("div", { key: 'd67dbfdc0777c5b5a96ff1342941af34ee920fe2' }, h("div", { key: 'db20487efa373bd03d0d1e86c33102aee0ba5a26', class: "note-container" }, h("div", { key: '932d9e67f2094aba7c11e486d10844237376850f', class: "note-header" }, h("p", { key: '96b9dd9410df330cafad41992b0a29a5cbdf6012', class: "note-title" }, h("img", { key: '537c4c8522cd367385938bb23638196d216e2884', src: moneyDollarsSvgrepoComSvg, width: 23 }), this.config.giftbackTitle), this.handleHide() && (h("p", { key: '88ebc962e810c269c93e0090da872d37dba2cf5a', class: "back-cart", onClick: () => this.handleCancel() }, "Editar"))), h("hr", { key: '545c55ef563cda8688398a16ca075a8c3027219f' }), this.handleHide() &&
45
- (h("p", { key: '9555594772123ffd1262313dee32646565ce8dc6', class: "note-description-2" }, this.config.giftbackTitle || "Giftback", " aplicado ao pedido: ", h("strong", { key: 'e0115de3a25f686fe0a3b668af370d0c35c4f865' }, "R$ ", this.getAmount()))), !this.handleHide() &&
46
- (h("p", { key: 'e17e72cf2bc5b4bf81730a4930dc9875576c94fd', class: "note-description-not" }, "N\u00E3o h\u00E1 ", this.config.giftbackTitle || "Giftback", " dispon\u00EDvel para essa compra")))));
44
+ return (h("div", { key: '75cafa0618e76798d63234ea6224eb5e081df101' }, h("div", { key: 'e372439c6656f4c08c22e0c810061150200fa528', class: "note-container" }, h("div", { key: '3498e7ca54efa4c07ea464551ed9d985436d0d8e', class: "note-header" }, h("p", { key: '4d018ad8567d68127a5c18a7c7957307ec33070c', class: "note-title" }, h("img", { key: '568fca49338aa74d459f59fa40a6e80b091f40e2', src: moneyDollarsSvgrepoComSvg, width: 23 }), this.config.giftbackTitle), this.handleHide() && (h("p", { key: '3615e06410efc6dcf2379cfb41ab94f56d5d30c7', class: "back-cart", onClick: () => this.handleCancel() }, "Editar"))), h("hr", { key: '739af06a409de815817978868a3b33bd0b194176' }), this.handleHide() &&
45
+ (h("p", { key: '280bc286979cc95d400e1686abe677252f80eb79', class: "note-description-2" }, this.config.giftbackTitle || "Giftback", " aplicado ao pedido: ", h("strong", { key: '00b1d1882d9a76dcd4a0d036b88d31a014c631f4' }, "R$ ", this.getAmount()))), !this.handleHide() &&
46
+ (h("p", { key: '7922f409d435f32841c40f355a1e364663e48eba', class: "note-description-not" }, "N\u00E3o h\u00E1 ", this.config.giftbackTitle || "Giftback", " dispon\u00EDvel para essa compra")))));
47
47
  }
48
48
  };
49
49
  CrmBonusNote.style = CrmBonusNoteStyle0;
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-c477a8b3.js';
1
+ import { r as registerInstance, h } from './index-84fba7ef.js';
2
2
  import { C as CrmBonusService } from './crmbonus.service-84f1cc25.js';
3
3
  import { S as StepFormEnum } from './index-3c6d4feb.js';
4
4
  import { i as instance } from './i18n-887a3ef8.js';
@@ -29,6 +29,7 @@ const CrmBonus = class {
29
29
  this.amountCancel = undefined;
30
30
  this.sent = undefined;
31
31
  this.session = undefined;
32
+ this.loading_reprocess = false;
32
33
  }
33
34
  async resetBonus() {
34
35
  console.log('[START RESET BONUS]!!!!!');
@@ -49,6 +50,22 @@ const CrmBonus = class {
49
50
  this.loading = false;
50
51
  }
51
52
  }
53
+ async reprocess(products) {
54
+ this.loading_reprocess = true;
55
+ console.log('[reprocess]');
56
+ try {
57
+ console.log('[update products list]');
58
+ this.productsInString = JSON.stringify(products);
59
+ await this.handleLoad();
60
+ await this.resetBonus();
61
+ }
62
+ catch (err) {
63
+ console.debug('[watchProducts]', err.message);
64
+ }
65
+ finally {
66
+ this.loading_reprocess = false;
67
+ }
68
+ }
52
69
  async watchProducts(newValue) {
53
70
  try {
54
71
  console.log('[update products list]');
@@ -186,7 +203,7 @@ const CrmBonus = class {
186
203
  this.showModal = true;
187
204
  }
188
205
  render() {
189
- return (h("crm-giftback-form", { key: '0cba16a775789a465f453f2837155360d2cdf537', ref: ref => this.crmBonusRef = ref, storeName: this.storeName, products: this.buildProducts(), cartId: this.cartId, customer: this.customer })
206
+ return (h("loading-container", { key: '308c7f2a9b64fa854827e111a0cc7b131c1deefd', loading: this.loading_reprocess }, h("crm-giftback-form", { key: 'f8403814fa42e2748742890fbb70dd628474ee55', style: { position: "relative" }, ref: ref => this.crmBonusRef = ref, storeName: this.storeName, products: this.buildProducts(), cartId: this.cartId, customer: this.customer }))
190
207
  // <div class="section-cart-crm">
191
208
  // <p class="text-left fbits-responsive-carrinho-desconto-texto">Giftback</p>
192
209
  // <div class="container-button">
@@ -1 +1 @@
1
- {"file":"crm-bonus.entry.js","mappings":"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","names":["i18next"],"sources":["src/components/crm-bonus/crm-bonus.css?tag=crm-bonus&encapsulation=scoped","src/components/crm-bonus/crm-bonus.tsx"],"sourcesContent":["\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, Watch, 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'\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 @State() showModal: boolean = false;\n @Prop({ attribute: 'userid' }) userId: number;\n @Prop({ attribute: 'storename' }) storeName;\n @Prop({ attribute: 'products' }) productsInString: string;\n @Prop({ attribute: 'cartid' }) cartId;\n\n @State() products: Array<IProductWake>;\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\n @Method()\n async resetBonus() {\n console.log('[START RESET BONUS]!!!!!');\n const used = localStorage.getItem(\"bc:used\");\n\n if (used == \"use\") {\n await this.crmBonusService.cancelBonus(this.cartId, this.storeName);\n }\n\n try {\n await this.crmBonusRef.processBonus();\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 @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.loadSession();\n await this.loadConfigStore()\n await this.handleLoad();\n }\n\n async loadConfigStore() {\n await this.crmBonusService.getCustomization(this.storeName);\n }\n\n async handleLoad() {\n try {\n if (this.userId) {\n this.customer = await this.crmBonusService.getCustomer(this.userId, this.storeName);\n // this.phone = Number(this.customer.phone)\n }\n\n const amount = localStorage.getItem(this.cartId);\n\n if (amount) {\n this.canCancel = true;\n this.amountCancel = amount;\n }\n\n } catch (error) {\n console.log('info customer')\n }\n\n this.buildAndGetProducts();\n }\n\n\n async loadSession() {\n this.session = await this.crmBonusService.getToken(this.storeName);\n\n setTimeout(() => {\n this.loadSession()\n }, 1500000)\n\n }\n\n async buildAndGetProducts() {\n const key = `bc-products:${this.cartId}`;\n\n localStorage.setItem(key, this.productsInString);\n\n const productsInCart = JSON.parse(this.productsInString);\n const products_in_cache = JSON.parse(localStorage.getItem(key));\n\n const products: Array<IProductWake> = []\n\n for (const product_cart of productsInCart) {\n\n const [pro] = products_in_cache.filter(p => p.ProdutoVarianteId == product_cart.ProdutoVarianteId)\n\n if (pro) {\n products.push({\n ...product_cart,\n PrecoPor: pro.PrecoPor\n })\n } else {\n products.push(product_cart)\n }\n\n }\n\n this.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.storeName);;\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.storeName);;\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 this.products.map(product => ({ sku: product.SKU, value: (product.PrecoPor * product.Quantidade), productVariantId: product.ProdutoVarianteId.toString(), quantity: product.Quantidade }))\n }\n\n handleCloseModal() {\n this.showModal = false;\n }\n\n save(amount: number) {\n localStorage.setItem(this.cartId, 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.cartId);\n this.canCancel = false;\n\n localStorage.removeItem(this.cartId);\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 <crm-giftback-form\n ref={ref => this.crmBonusRef = ref}\n storeName={this.storeName}\n products={this.buildProducts()}\n cartId={this.cartId}\n customer={this.customer}\n />\n // <div class=\"section-cart-crm\">\n // <p class=\"text-left fbits-responsive-carrinho-desconto-texto\">Giftback</p>\n // <div class=\"container-button\">\n // {/* <img src={logo} onClick={() => (this.showModal = true)} /> */}\n // {\n // this.canCancel ? <phone-cancel-input value={this.amountCancel} sendPin={() => { this.cancel() }} loading={this.loading} />\n // : <phone-input value={this.customer.phone} sendPin={(phone) => { this.handleSendPin(phone) }} loading={this.loading} />\n // }\n // </div>\n // <p class=\"message-alert\" >{this.message}</p>\n // <app-modal\n // isOpen={this.showModal}\n // modalTitle={`Giftback`}\n // onModalClosed={() => (this.showModal = false)}\n // >\n // <crm-bonus-form\n // loadingModal={this.loading}\n // saveStore={(amount: number) => this.save(amount)}\n // ref={ref => this.crmBonusRef = ref}\n // sent={this.sent}\n // phone={this.phone}\n // cancel={() => this.handleCloseModal()}\n // storeName={this.storeName}\n // products={this.buildProducts()}\n // cartId={this.cartId} customer={this.customer}\n // handleCustomerName={(name: string) => this.sendPinName(name)}\n // />\n // </app-modal>\n // </div>\n )\n }\n}\n"],"version":3}
1
+ {"file":"crm-bonus.entry.js","mappings":"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","names":["i18next"],"sources":["src/components/crm-bonus/crm-bonus.css?tag=crm-bonus&encapsulation=scoped","src/components/crm-bonus/crm-bonus.tsx"],"sourcesContent":["\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, Watch, 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'\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 @State() showModal: boolean = false;\n @Prop({ attribute: 'userid' }) userId: number;\n @Prop({ attribute: 'storename' }) storeName;\n @Prop({ attribute: 'products' }) productsInString: string;\n @Prop({ attribute: 'cartid' }) cartId;\n\n @State() products: Array<IProductWake>;\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 const used = localStorage.getItem(\"bc:used\");\n\n if (used == \"use\") {\n await this.crmBonusService.cancelBonus(this.cartId, this.storeName);\n }\n\n try {\n await this.crmBonusRef.processBonus();\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 reprocess(products: Array<any>) {\n this.loading_reprocess = true\n \n console.log('[reprocess]');\n try {\n console.log('[update products list]');\n this.productsInString = JSON.stringify(products);\n await this.handleLoad();\n\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.loadSession();\n await this.loadConfigStore()\n await this.handleLoad();\n }\n\n async loadConfigStore() {\n await this.crmBonusService.getCustomization(this.storeName);\n }\n\n async handleLoad() {\n try {\n if (this.userId) {\n this.customer = await this.crmBonusService.getCustomer(this.userId, this.storeName);\n // this.phone = Number(this.customer.phone)\n }\n\n const amount = localStorage.getItem(this.cartId);\n\n if (amount) {\n this.canCancel = true;\n this.amountCancel = amount;\n }\n\n } catch (error) {\n console.log('info customer')\n }\n\n this.buildAndGetProducts();\n }\n\n\n async loadSession() {\n this.session = await this.crmBonusService.getToken(this.storeName);\n\n setTimeout(() => {\n this.loadSession()\n }, 1500000)\n\n }\n\n async buildAndGetProducts() {\n const key = `bc-products:${this.cartId}`;\n\n localStorage.setItem(key, this.productsInString);\n\n const productsInCart = JSON.parse(this.productsInString);\n const products_in_cache = JSON.parse(localStorage.getItem(key));\n\n const products: Array<IProductWake> = []\n\n for (const product_cart of productsInCart) {\n\n const [pro] = products_in_cache.filter(p => p.ProdutoVarianteId == product_cart.ProdutoVarianteId)\n\n if (pro) {\n products.push({\n ...product_cart,\n PrecoPor: pro.PrecoPor\n })\n } else {\n products.push(product_cart)\n }\n\n }\n\n this.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.storeName);;\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.storeName);;\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 this.products.map(product => ({ sku: product.SKU, value: (product.PrecoPor * product.Quantidade), productVariantId: product.ProdutoVarianteId.toString(), quantity: product.Quantidade }))\n }\n\n handleCloseModal() {\n this.showModal = false;\n }\n\n save(amount: number) {\n localStorage.setItem(this.cartId, 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.cartId);\n this.canCancel = false;\n\n localStorage.removeItem(this.cartId);\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\n <loading-container loading={this.loading_reprocess} >\n <crm-giftback-form\n style={{ position: \"relative\" }}\n ref={ref => this.crmBonusRef = ref}\n storeName={this.storeName}\n products={this.buildProducts()}\n cartId={this.cartId}\n customer={this.customer}\n />\n </loading-container>\n // <div class=\"section-cart-crm\">\n // <p class=\"text-left fbits-responsive-carrinho-desconto-texto\">Giftback</p>\n // <div class=\"container-button\">\n // {/* <img src={logo} onClick={() => (this.showModal = true)} /> */}\n // {\n // this.canCancel ? <phone-cancel-input value={this.amountCancel} sendPin={() => { this.cancel() }} loading={this.loading} />\n // : <phone-input value={this.customer.phone} sendPin={(phone) => { this.handleSendPin(phone) }} loading={this.loading} />\n // }\n // </div>\n // <p class=\"message-alert\" >{this.message}</p>\n // <app-modal\n // isOpen={this.showModal}\n // modalTitle={`Giftback`}\n // onModalClosed={() => (this.showModal = false)}\n // >\n // <crm-bonus-form\n // loadingModal={this.loading}\n // saveStore={(amount: number) => this.save(amount)}\n // ref={ref => this.crmBonusRef = ref}\n // sent={this.sent}\n // phone={this.phone}\n // cancel={() => this.handleCloseModal()}\n // storeName={this.storeName}\n // products={this.buildProducts()}\n // cartId={this.cartId} customer={this.customer}\n // handleCustomerName={(name: string) => this.sendPinName(name)}\n // />\n // </app-modal>\n // </div>\n )\n }\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-c477a8b3.js';
1
+ import { r as registerInstance, h } from './index-84fba7ef.js';
2
2
 
3
3
  const crmButtonCss = "input,button{margin:0;padding:10px;}.crm-contaner-button{height:auto;width:auto}.crm-button{height:48px;width:246px;border:1px solid #000;padding:14px 20px;background-color:#000;color:#fff;font-size:14px;line-height:20px;font-weight:500;cursor:pointer}";
4
4
  const CrmButtonStyle0 = crmButtonCss;
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-c477a8b3.js';
1
+ import { r as registerInstance, h } from './index-84fba7ef.js';
2
2
  import { C as CrmBonusService, g as getKeyReserveByCartId } from './crmbonus.service-84f1cc25.js';
3
3
  import { S as StepFormEnum } from './index-3c6d4feb.js';
4
4
  import { g as getInfoCustomization } from './info.config.helper-42d9ddf9.js';
@@ -189,15 +189,29 @@ const CrmBonus = class {
189
189
  });
190
190
  }
191
191
  render() {
192
- return (h("div", { key: 'bcdcaf47c056325591abc1aca2af8b139b687905', class: "crm-container-form fbits-responsive-carrinho-desconto" }, h("label", { key: 'e5a07f16ec6209c01abcfbd43628c510ba87bbc7', class: "crm-title" }, this.config.giftbackTitle), this.step === StepFormEnum.STEP_PHONE &&
193
- h("phone-form", { key: '9c928594efaee7f7ebd503b2144eec1ba9c1e8a5', value: this.customer.phone, config: this.config, loading: this.loading, handlerSubmit: (phone) => this.handleSendPin(phone) }), this.step === StepFormEnum.STEP_PIN &&
194
- h("pin-form", { key: 'd1280fb5e3b71b004b641af35fc4a1f8df85ced8', config: this.config, phone: this.phone, cancel: () => this.changePhone(), resend: () => this.sendPin(), validate: (data) => this.validateBonus(data), loading: this.loading }, this.sucess && h("p", { key: 'eab06087abbac2ce8fada74cd9313ef87ea63ab9', class: "crm-message-info" }, this.sucess), this.error && h("p", { key: '822b7d1058e8e9dfcdc3a2351984aeed3e8fca6c', class: "crm-message-error" }, this.error)), this.step === StepFormEnum.STEP_RESERVE &&
195
- h("giftback-info", { key: 'e45d28b56f8a8e831050b8afc4075ccbf3bb10b3', loading: this.loading, cancel: () => this.handleCancel(), bonus: this.bonus, reserve: (amountRedeemed) => this.reserveApply(amountRedeemed) }), this.step === StepFormEnum.STEP_NO_BONUS &&
196
- (h("div", { key: 'bed09587cfcd07465345dbca12ef15657c641680', class: "container-message" }, instance.t("noGiftback", { storename: this.config.giftbackTitle })))));
192
+ return (h("div", { key: '2a225520b20b78fba60b11f6bcbff044750bf6d1', class: "crm-container-form fbits-responsive-carrinho-desconto" }, h("label", { key: '19a5f06a826500ca4cde52d9ea3da9e0a8125408', class: "crm-title" }, this.config.giftbackTitle), this.step === StepFormEnum.STEP_PHONE &&
193
+ h("phone-form", { key: '15055be6adb4a01300d03ecc29f6c49963d7f642', value: this.customer.phone, config: this.config, loading: this.loading, handlerSubmit: (phone) => this.handleSendPin(phone) }), this.step === StepFormEnum.STEP_PIN &&
194
+ h("pin-form", { key: '10629be7ff271ce8a65f7268b1f7700f5dab8b25', config: this.config, phone: this.phone, cancel: () => this.changePhone(), resend: () => this.sendPin(), validate: (data) => this.validateBonus(data), loading: this.loading }, this.sucess && h("p", { key: 'ac9c9db89ef6f1357f26b26c2d0b179056f5affd', class: "crm-message-info" }, this.sucess), this.error && h("p", { key: 'd04c70cdbba00d72a7b4d8b089cfff961b4e9ecc', class: "crm-message-error" }, this.error)), this.step === StepFormEnum.STEP_RESERVE &&
195
+ h("giftback-info", { key: '72dfd0ce0dd7fab15d41d32023d8b1190472af3f', loading: this.loading, cancel: () => this.handleCancel(), bonus: this.bonus, reserve: (amountRedeemed) => this.reserveApply(amountRedeemed) }), this.step === StepFormEnum.STEP_NO_BONUS &&
196
+ (h("div", { key: 'd25638b12aebf6fd34064092da6f47e19e54bf9d', class: "container-message" }, instance.t("noGiftback", { storename: this.config.giftbackTitle })))));
197
197
  }
198
198
  };
199
199
  CrmBonus.style = CrmGiftbackFormStyle0;
200
200
 
201
- export { CrmBonus as crm_giftback_form };
201
+ 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}";
202
+ const LoadingContainerStyle0 = loadingContainerCss;
202
203
 
203
- //# sourceMappingURL=crm-giftback-form.entry.js.map
204
+ const LoadingContainer = class {
205
+ constructor(hostRef) {
206
+ registerInstance(this, hostRef);
207
+ this.loading = true;
208
+ }
209
+ render() {
210
+ return (h("div", { key: '422b09da21c691f5eaeb4df9cb30531428409787', class: "relative-xy" }, this.loading && (h("div", { key: '4777be23c24bb0b3190d8992ba97a5206eded534', class: "loading-container" }, h("div", { key: '0f44c0f2d96890a604e60c2ae5163ef80f55b319', class: "loading-spinner" }))), h("slot", { key: 'a8f88a43a1fe8ea3348ecd0f5b6855102262f6c5' })));
211
+ }
212
+ };
213
+ LoadingContainer.style = LoadingContainerStyle0;
214
+
215
+ export { CrmBonus as crm_giftback_form, LoadingContainer as loading_container };
216
+
217
+ //# sourceMappingURL=crm-giftback-form_2.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"crm-giftback-form.loading-container.entry.js","mappings":"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","names":["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}\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 { 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\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_PHONE;\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() {\n this.sucess = \"\";\n const _bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\n\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 }\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 await this.handleApply()\n\n }\n\n async handleApply() {\n await this.processBonus();\n\n // const bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\n\n // if (bonus) {\n // this.bonus = JSON.parse(bonus);\n // this.step = StepFormEnum.STEP_RESERVE; \n // }\n\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\n this.pinInfo = await this.crmBonusService.sendPin(_phone, \"\", this.storeName);\n\n this.step = StepFormEnum.STEP_PIN;\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 if (this.sucess) {\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.phone.toString(),\n storeId: this.pinInfo.storeId.toString(),\n userId: this.pinInfo.userId.toString(),\n checkoutId: this.cartId,\n checkoutProducts: this.products,\n name: null,\n storeName: this.storeName\n }\n\n try {\n this.bonus = await this.crmBonusService.validatePinBonus(payload);\n\n if (!this.bonus.hasBonus) {\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\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 // localStorage.removeItem(this.cartId);\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 loading={this.loading}\n cancel={() => this.handleCancel()}\n bonus={this.bonus}\n reserve={(amountRedeemed: number) => this.reserveApply(amountRedeemed)}\n />\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}