crmbonus-component-wake 2.0.84 → 2.0.86

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 (228) hide show
  1. package/dist/cjs/app-modal.cjs.entry.js +1 -1
  2. package/dist/cjs/countdown-timer_5.cjs.entry.js +218 -0
  3. package/dist/cjs/countdown-timer_5.cjs.entry.js.map +1 -0
  4. package/dist/cjs/crm-bonus-form.cjs.entry.js +4 -4
  5. package/dist/cjs/crm-bonus-form.cjs.entry.js.map +1 -1
  6. package/dist/cjs/crm-bonus-note.cjs.entry.js +11 -6
  7. package/dist/cjs/crm-bonus-note.cjs.entry.js.map +1 -1
  8. package/dist/cjs/crm-bonus.cjs.entry.js +7 -8
  9. package/dist/cjs/crm-bonus.cjs.entry.js.map +1 -1
  10. package/dist/cjs/crm-button.cjs.entry.js +1 -1
  11. package/dist/cjs/crm-button.cjs.entry.js.map +1 -1
  12. package/dist/cjs/crm-giftback-form_2.cjs.entry.js +13 -11
  13. package/dist/cjs/crm-giftback-form_2.cjs.entry.js.map +1 -1
  14. package/dist/cjs/crmbonus-component-wake.cjs.js +1 -1
  15. package/dist/cjs/{crmbonus.service-368a29e0.js → crmbonus.service-5a89216e.js} +1 -5
  16. package/dist/cjs/crmbonus.service-5a89216e.js.map +1 -0
  17. package/dist/cjs/{i18n-efd790a3.js → i18n-03b74fb8.js} +11 -2
  18. package/dist/cjs/{i18n-efd790a3.js.map → i18n-03b74fb8.js.map} +1 -1
  19. package/dist/cjs/{index-96a8951f.js → index-f903012c.js} +6 -1
  20. package/dist/cjs/index-f903012c.js.map +1 -0
  21. package/dist/cjs/index.cjs.js +4 -4
  22. package/dist/cjs/index.cjs.js.map +1 -1
  23. package/dist/cjs/loader.cjs.js +1 -1
  24. package/dist/cjs/loading-spinner.cjs.entry.js +1 -1
  25. package/dist/cjs/pedido-finalizado.cjs.entry.js +2 -2
  26. package/dist/cjs/phone-input-mask.cjs.entry.js +3 -3
  27. package/dist/cjs/phone-input-mask.cjs.entry.js.map +1 -1
  28. package/dist/cjs/utils-666a842d.js +24 -0
  29. package/dist/cjs/utils-666a842d.js.map +1 -0
  30. package/dist/collection/assets/svg/info-circle-svgrepo-com.svg +6 -0
  31. package/dist/collection/assets/svg/money-dollars-svgrepo-com.svg +5 -5
  32. package/dist/collection/collection-manifest.json +2 -1
  33. package/dist/collection/components/button/crm-button.css +1 -1
  34. package/dist/collection/components/crm-bonus/crm-bonus.js +4 -5
  35. package/dist/collection/components/crm-bonus/crm-bonus.js.map +1 -1
  36. package/dist/collection/components/crm-bonus-form/crm-bonus-form.js +2 -2
  37. package/dist/collection/components/crm-bonus-form/crm-bonus-form.js.map +1 -1
  38. package/dist/collection/components/giftback-form/giftback-form.js +10 -8
  39. package/dist/collection/components/giftback-form/giftback-form.js.map +1 -1
  40. package/dist/collection/components/giftback-form/subcomponents/giftback-info/giftback-info.css +9 -2
  41. package/dist/collection/components/giftback-form/subcomponents/giftback-info/giftback-info.js +12 -10
  42. package/dist/collection/components/giftback-form/subcomponents/giftback-info/giftback-info.js.map +1 -1
  43. package/dist/collection/components/giftback-form/subcomponents/phone-form/phone-form.js +1 -1
  44. package/dist/collection/components/giftback-form/subcomponents/pin-form/pin-form.css +2 -2
  45. package/dist/collection/components/giftback-form/subcomponents/pin-form/pin-form.js +1 -1
  46. package/dist/collection/components/loading-container/loading-container.js +1 -1
  47. package/dist/collection/components/loading-spinner/loading-spinner.js +1 -1
  48. package/dist/collection/components/modal/app-modal.js +1 -1
  49. package/dist/collection/components/note/crm-bonus-note.js +11 -4
  50. package/dist/collection/components/note/crm-bonus-note.js.map +1 -1
  51. package/dist/collection/components/pedido/pedido.js +1 -1
  52. package/dist/collection/components/phone/phone-input-mask.css +2 -1
  53. package/dist/collection/components/phone/phone-input-mask.js +1 -1
  54. package/dist/collection/components/phone/phone-input-mask.js.map +1 -1
  55. package/dist/collection/components/tooltip/crm-tooltip.css +32 -0
  56. package/dist/collection/components/tooltip/tooltip.js +43 -0
  57. package/dist/collection/components/tooltip/tooltip.js.map +1 -0
  58. package/dist/collection/contants/index.js +5 -0
  59. package/dist/collection/contants/index.js.map +1 -1
  60. package/dist/collection/dto/validate.pin.bonus.js.map +1 -1
  61. package/dist/collection/i18n/i18n.js +10 -1
  62. package/dist/collection/i18n/i18n.js.map +1 -1
  63. package/dist/collection/services/crmbonus.service.js +0 -4
  64. package/dist/collection/services/crmbonus.service.js.map +1 -1
  65. package/dist/collection/utils/utils.js +20 -0
  66. package/dist/collection/utils/utils.js.map +1 -1
  67. package/dist/components/app-modal.js +1 -1
  68. package/dist/components/crm-bonus-form.js +8 -8
  69. package/dist/components/crm-bonus-form.js.map +1 -1
  70. package/dist/components/crm-bonus-note.js +11 -6
  71. package/dist/components/crm-bonus-note.js.map +1 -1
  72. package/dist/components/crm-bonus.js +25 -20
  73. package/dist/components/crm-bonus.js.map +1 -1
  74. package/dist/components/crm-button.js +1 -1
  75. package/dist/components/crm-giftback-form.js +1 -1
  76. package/dist/components/crm-tooltip.d.ts +11 -0
  77. package/dist/components/crm-tooltip.js +8 -0
  78. package/dist/components/crm-tooltip.js.map +1 -0
  79. package/dist/components/giftback-info.js +1 -1
  80. package/dist/components/giftback-pin.js +1 -1
  81. package/dist/components/giftback-progress.js +1 -1
  82. package/dist/components/index.js +1 -6
  83. package/dist/components/index.js.map +1 -1
  84. package/dist/components/loading-container.js +1 -1
  85. package/dist/components/loading-spinner.js +1 -1
  86. package/dist/components/name-input.js +1 -1
  87. package/dist/components/p-04cdbceb.js +120 -0
  88. package/dist/components/p-04cdbceb.js.map +1 -0
  89. package/dist/components/{p-58ee9506.js → p-0a3cdf33.js} +2 -2
  90. package/dist/components/{p-58ee9506.js.map → p-0a3cdf33.js.map} +1 -1
  91. package/dist/components/{p-ca3d612c.js → p-15fdee2f.js} +5 -5
  92. package/dist/components/{p-ca3d612c.js.map → p-15fdee2f.js.map} +1 -1
  93. package/dist/components/{p-a561251a.js → p-24bdfca4.js} +7 -2
  94. package/dist/components/p-24bdfca4.js.map +1 -0
  95. package/dist/components/{p-f1639e26.js → p-2dfeae64.js} +2 -2
  96. package/dist/components/{p-f1639e26.js.map → p-2dfeae64.js.map} +1 -1
  97. package/dist/components/{p-0a29a684.js → p-430ee6c6.js} +4 -4
  98. package/dist/components/p-430ee6c6.js.map +1 -0
  99. package/dist/components/{p-29622725.js → p-4dd7aa7c.js} +3 -3
  100. package/dist/components/p-4dd7aa7c.js.map +1 -0
  101. package/dist/components/{p-56757e8d.js → p-5032086b.js} +6 -6
  102. package/dist/components/p-5032086b.js.map +1 -0
  103. package/dist/components/{p-6592ce84.js → p-749a0632.js} +2 -2
  104. package/dist/components/{p-6592ce84.js.map → p-749a0632.js.map} +1 -1
  105. package/dist/components/{p-c7fc1cb6.js → p-79fec4b2.js} +2 -2
  106. package/dist/components/{p-c7fc1cb6.js.map → p-79fec4b2.js.map} +1 -1
  107. package/dist/components/{p-27554f4e.js → p-8aab89d2.js} +2 -2
  108. package/dist/components/{p-27554f4e.js.map → p-8aab89d2.js.map} +1 -1
  109. package/dist/components/{p-0183bc96.js → p-9c859043.js} +1 -5
  110. package/dist/components/p-9c859043.js.map +1 -0
  111. package/dist/components/p-cb13774f.js +38 -0
  112. package/dist/components/p-cb13774f.js.map +1 -0
  113. package/dist/components/{p-ced6f09e.js → p-ccf2c2ed.js} +28 -20
  114. package/dist/components/p-ccf2c2ed.js.map +1 -0
  115. package/dist/components/p-d3bfac80.js +20 -0
  116. package/dist/components/p-d3bfac80.js.map +1 -0
  117. package/dist/{esm/i18n-887a3ef8.js → components/p-d5fa47cd.js} +11 -2
  118. package/dist/components/{p-fb505488.js.map → p-d5fa47cd.js.map} +1 -1
  119. package/dist/components/pedido-finalizado.js +2 -2
  120. package/dist/components/phone-cancel-input.js +2 -2
  121. package/dist/components/phone-form.js +1 -1
  122. package/dist/components/phone-input-mask.js +1 -1
  123. package/dist/components/phone-input.js +2 -2
  124. package/dist/components/pin-form.js +1 -1
  125. package/dist/crmbonus-component-wake/crmbonus-component-wake.esm.js +1 -1
  126. package/dist/crmbonus-component-wake/crmbonus-component-wake.esm.js.map +1 -1
  127. package/dist/crmbonus-component-wake/index.esm.js +1 -1
  128. package/dist/crmbonus-component-wake/index.esm.js.map +1 -1
  129. package/dist/crmbonus-component-wake/p-066672d8.entry.js +2 -0
  130. package/dist/crmbonus-component-wake/p-066672d8.entry.js.map +1 -0
  131. package/dist/crmbonus-component-wake/p-0d374b83.entry.js +2 -0
  132. package/dist/crmbonus-component-wake/p-0d374b83.entry.js.map +1 -0
  133. package/dist/crmbonus-component-wake/{p-a561251a.js → p-24bdfca4.js} +2 -2
  134. package/dist/crmbonus-component-wake/p-24bdfca4.js.map +1 -0
  135. package/dist/crmbonus-component-wake/{p-f2414e57.entry.js → p-5bdb505d.entry.js} +2 -2
  136. package/dist/crmbonus-component-wake/p-6227735e.entry.js +2 -0
  137. package/dist/crmbonus-component-wake/p-6227735e.entry.js.map +1 -0
  138. package/dist/crmbonus-component-wake/{p-c8445f78.entry.js → p-801497d6.entry.js} +2 -2
  139. package/dist/crmbonus-component-wake/p-9058518e.entry.js +2 -0
  140. package/dist/crmbonus-component-wake/p-9058518e.entry.js.map +1 -0
  141. package/dist/crmbonus-component-wake/{p-0183bc96.js → p-9c859043.js} +2 -2
  142. package/dist/crmbonus-component-wake/p-9c859043.js.map +1 -0
  143. package/dist/crmbonus-component-wake/p-c207044b.entry.js +2 -0
  144. package/dist/crmbonus-component-wake/p-cd1ed04d.entry.js +2 -0
  145. package/dist/crmbonus-component-wake/p-cd1ed04d.entry.js.map +1 -0
  146. package/dist/crmbonus-component-wake/p-d1f879c6.entry.js +2 -0
  147. package/dist/crmbonus-component-wake/p-d1f879c6.entry.js.map +1 -0
  148. package/dist/crmbonus-component-wake/p-d3bfac80.js +2 -0
  149. package/dist/crmbonus-component-wake/p-d3bfac80.js.map +1 -0
  150. package/dist/crmbonus-component-wake/{p-fb505488.js → p-d5fa47cd.js} +2 -2
  151. package/dist/crmbonus-component-wake/p-d5fa47cd.js.map +1 -0
  152. package/dist/crmbonus-component-wake/p-d67f7a32.entry.js +2 -0
  153. package/dist/crmbonus-component-wake/p-d67f7a32.entry.js.map +1 -0
  154. package/dist/esm/app-modal.entry.js +1 -1
  155. package/dist/esm/countdown-timer_5.entry.js +210 -0
  156. package/dist/esm/countdown-timer_5.entry.js.map +1 -0
  157. package/dist/esm/crm-bonus-form.entry.js +4 -4
  158. package/dist/esm/crm-bonus-form.entry.js.map +1 -1
  159. package/dist/esm/crm-bonus-note.entry.js +11 -6
  160. package/dist/esm/crm-bonus-note.entry.js.map +1 -1
  161. package/dist/esm/crm-bonus.entry.js +7 -8
  162. package/dist/esm/crm-bonus.entry.js.map +1 -1
  163. package/dist/esm/crm-button.entry.js +1 -1
  164. package/dist/esm/crm-button.entry.js.map +1 -1
  165. package/dist/esm/crm-giftback-form_2.entry.js +13 -11
  166. package/dist/esm/crm-giftback-form_2.entry.js.map +1 -1
  167. package/dist/esm/crmbonus-component-wake.js +1 -1
  168. package/dist/esm/{crmbonus.service-547dde14.js → crmbonus.service-abc38398.js} +1 -5
  169. package/dist/esm/crmbonus.service-abc38398.js.map +1 -0
  170. package/dist/{components/p-fb505488.js → esm/i18n-a7cab75d.js} +11 -2
  171. package/dist/esm/{i18n-887a3ef8.js.map → i18n-a7cab75d.js.map} +1 -1
  172. package/dist/esm/{index-3c6d4feb.js → index-23a034bf.js} +7 -2
  173. package/dist/esm/index-23a034bf.js.map +1 -0
  174. package/dist/esm/index.js +1 -5
  175. package/dist/esm/index.js.map +1 -1
  176. package/dist/esm/loader.js +1 -1
  177. package/dist/esm/loading-spinner.entry.js +1 -1
  178. package/dist/esm/pedido-finalizado.entry.js +2 -2
  179. package/dist/esm/phone-input-mask.entry.js +3 -3
  180. package/dist/esm/phone-input-mask.entry.js.map +1 -1
  181. package/dist/esm/utils-02d50e38.js +20 -0
  182. package/dist/esm/utils-02d50e38.js.map +1 -0
  183. package/dist/types/components/note/crm-bonus-note.d.ts +1 -0
  184. package/dist/types/components/tooltip/tooltip.d.ts +4 -0
  185. package/dist/types/components.d.ts +15 -0
  186. package/dist/types/contants/index.d.ts +4 -0
  187. package/dist/types/dto/validate.pin.bonus.d.ts +1 -1
  188. package/dist/types/services/crmbonus.service.d.ts +0 -1
  189. package/dist/types/utils/utils.d.ts +6 -0
  190. package/package.json +1 -1
  191. package/dist/cjs/countdown-timer_4.cjs.entry.js +0 -199
  192. package/dist/cjs/countdown-timer_4.cjs.entry.js.map +0 -1
  193. package/dist/cjs/crmbonus.service-368a29e0.js.map +0 -1
  194. package/dist/cjs/index-96a8951f.js.map +0 -1
  195. package/dist/components/p-0183bc96.js.map +0 -1
  196. package/dist/components/p-0a29a684.js.map +0 -1
  197. package/dist/components/p-29622725.js.map +0 -1
  198. package/dist/components/p-56757e8d.js.map +0 -1
  199. package/dist/components/p-83fd06e5.js +0 -112
  200. package/dist/components/p-83fd06e5.js.map +0 -1
  201. package/dist/components/p-a561251a.js.map +0 -1
  202. package/dist/components/p-ced6f09e.js.map +0 -1
  203. package/dist/crmbonus-component-wake/p-0183bc96.js.map +0 -1
  204. package/dist/crmbonus-component-wake/p-2086a755.entry.js +0 -2
  205. package/dist/crmbonus-component-wake/p-2086a755.entry.js.map +0 -1
  206. package/dist/crmbonus-component-wake/p-4d351ad2.entry.js +0 -2
  207. package/dist/crmbonus-component-wake/p-7ddbe83c.entry.js +0 -2
  208. package/dist/crmbonus-component-wake/p-7ddbe83c.entry.js.map +0 -1
  209. package/dist/crmbonus-component-wake/p-8bd25376.entry.js +0 -2
  210. package/dist/crmbonus-component-wake/p-8bd25376.entry.js.map +0 -1
  211. package/dist/crmbonus-component-wake/p-9d6c9e7c.entry.js +0 -2
  212. package/dist/crmbonus-component-wake/p-9d6c9e7c.entry.js.map +0 -1
  213. package/dist/crmbonus-component-wake/p-a561251a.js.map +0 -1
  214. package/dist/crmbonus-component-wake/p-bced74ec.entry.js +0 -2
  215. package/dist/crmbonus-component-wake/p-bced74ec.entry.js.map +0 -1
  216. package/dist/crmbonus-component-wake/p-d9837aef.entry.js +0 -2
  217. package/dist/crmbonus-component-wake/p-d9837aef.entry.js.map +0 -1
  218. package/dist/crmbonus-component-wake/p-f2b13b76.entry.js +0 -2
  219. package/dist/crmbonus-component-wake/p-f2b13b76.entry.js.map +0 -1
  220. package/dist/crmbonus-component-wake/p-fb505488.js.map +0 -1
  221. package/dist/esm/countdown-timer_4.entry.js +0 -192
  222. package/dist/esm/countdown-timer_4.entry.js.map +0 -1
  223. package/dist/esm/crmbonus.service-547dde14.js.map +0 -1
  224. package/dist/esm/index-3c6d4feb.js.map +0 -1
  225. /package/dist/crmbonus-component-wake/{p-f2414e57.entry.js.map → p-5bdb505d.entry.js.map} +0 -0
  226. /package/dist/crmbonus-component-wake/{p-c8445f78.entry.js.map → p-801497d6.entry.js.map} +0 -0
  227. /package/dist/crmbonus-component-wake/{p-4d351ad2.entry.js.map → p-c207044b.entry.js.map} +0 -0
  228. /package/dist/types/home/darlison/Projects/{crmbonus/app → Bycoders/crmbonus}/crmbonus-component/.stencil/env.d.ts +0 -0
@@ -1,19 +1,20 @@
1
1
  import { h } from "@stencil/core";
2
2
  import i18next from "../../../../i18n/i18n";
3
3
  import { USED_KEY } from "../../../../utils/keys.storage";
4
+ import { defineLimit, formatDateToBr } from "../../../../utils/utils";
4
5
  export class GiftbackInfo {
5
6
  constructor() {
6
7
  this.usedValue = 0;
7
8
  this.selectedOption = 'none';
8
9
  this.loading = false;
9
10
  this.bonus = {
10
- totalBonus: 0,
11
+ totalBonus: 150,
11
12
  cartId: "",
12
- minimumPurchase: 0,
13
- bonusBalance: 0,
14
- calculatedValue: 0,
13
+ minimumPurchase: 500,
14
+ bonusBalance: 50,
15
+ calculatedValue: 150,
15
16
  firstValidityDate: "",
16
- totalValue: 0
17
+ totalValue: 400
17
18
  };
18
19
  this.reserve = undefined;
19
20
  this.cancel = undefined;
@@ -28,7 +29,7 @@ export class GiftbackInfo {
28
29
  }
29
30
  componentWillLoad() {
30
31
  this.updateBonus();
31
- this.selectedOption = localStorage.getItem("bc:used");
32
+ this.selectedOption = localStorage.getItem(USED_KEY);
32
33
  }
33
34
  handleSliderChange(event) {
34
35
  const input = event.target;
@@ -66,11 +67,12 @@ export class GiftbackInfo {
66
67
  render() {
67
68
  const remainingGiftback = this.bonus.minimumPurchase - this.bonus.totalValue;
68
69
  const translateDescription = i18next.t("giftDescription", { amount: `${this.bonus.totalBonus.toFixed(2).replace(".", ",")}`, custom_name: "Giftback" });
69
- return (h("div", { key: '99f9ac837bb0784d8d08e4e7b311e021b22e8727', class: "giftback-container" }, h("div", { key: 'd863dafc0cc827aa6c51459814eef4920129e082', class: "container-description" }, h("p", { key: 'a6737f0b7a7754cdad94dc2ae109bc19e632ed19', innerHTML: translateDescription })), h("div", { key: 'ced811638f8cc02d464adc94b3c3b6f4fa1be73b', class: "slider-wrapper" }, h("div", { key: '38e3e3e9e2b9dc1c0613da62c1689c371fd7d568', class: "slider-value", style: {
70
+ const limit = defineLimit(remainingGiftback);
71
+ return (h("div", { key: 'da4d122a841ff7e9dbcc5ca2db37bcfe753464c1', class: "giftback-container" }, h("div", { key: 'fb68c3c1c7f969fb0ad3f148a67158631f1a82c7', class: "container-description" }, h("p", { key: 'c1d94e890585ee73531f8201d6955a670d5e9147', innerHTML: translateDescription }), h("crm-tooltip", { key: '6f7c823d535897275e0481e4d78762b02784861d', text: i18next.t("labelUseGiftback", { minimumPurchase: this.bonus.minimumPurchase, expírationDate: formatDateToBr(this.bonus.firstValidityDate) }) })), h("div", { key: '807678fc6a1f06fa315a92d7f2bd40b59e67bfaf', class: "slider-wrapper" }, h("div", { key: 'd48eb2878477aedee4f36b0c89dc1ff9afb6814a', class: "slider-value", style: {
70
72
  left: `calc(${this.sliderPosition}% - 20px)`, // Ajuste para centralizar o texto
71
- } }, "R$ ", this.usedValue.toFixed(2).replace(".", ",")), h("input", { key: 'c8e73ec6c387754ba2d1f4763b1137453c43f755', disabled: true, type: "range", min: "0", max: this.bonus.totalBonus, value: this.usedValue, class: "slider", step: "0.01", onInput: (event) => this.handleSliderChange(event), style: {
73
+ } }, "R$ ", this.usedValue.toFixed(2).replace(".", ",")), h("input", { key: 'c0fcc91224ea46bb72a5a4243903319f8a62e6b3', disabled: true, type: "range", min: "0", max: this.bonus.totalBonus, value: this.usedValue, class: "slider", step: "0.01", onInput: (event) => this.handleSliderChange(event), style: {
72
74
  background: `linear-gradient(to right, #6D6D5F ${this.sliderPosition}%, #ddd ${this.sliderPosition}%)`,
73
- } })), h("p", { key: '356cc07eef900046f3ab6713517e16deb479834f' }, "Adicione ", h("strong", { key: 'f6c851796a49ca185fab2c9a193fb184687b22f4' }, "R$ ", remainingGiftback < 0 ? "0,00" : remainingGiftback.toFixed(2).replace(".", ",")), " ao carrinho para atingir o valor m\u00E1ximo!"), h("div", { key: '9ab14d43cf6ef9e3649fa5d2d039b7dc827953f3', class: "options" }, h("label", { key: '40d2fcede3f8675e9c2a86c49aa50adb553b4ee0' }, h("input", { key: 'd5a3c9d672b530ae2befbe607253a95466760b63', type: "radio", name: "giftbackOption", value: "use", checked: this.selectedOption === 'use', onChange: () => this.handleOptionChange('use') }), "Usar o meu Giftback"), h("label", { key: '1f8eea782c31124ec781e0ee4df790fb47029606' }, h("input", { key: '899440020f9e08cc8ad62cdfeef09a9aa1e0f975', type: "radio", name: "giftbackOption", value: "dontUse", checked: this.selectedOption === 'dontUse', onChange: () => this.handleOptionChange('dontUse') }), "N\u00E3o usar o meu Giftback")), h("div", { key: 'c097b51dce06914afdd5332ad5af7eae300ff1b1', class: "info-box" }, "O Giftback ser\u00E1 aplicado na pr\u00F3xima etapa.")));
75
+ } })), limit.isComplete && (h("p", { key: '6598d0a66eb796bc5b04a3ef3629a3f22b8f82d3' }, i18next.t("maxAmount"))), !limit.isComplete && (h("div", { key: '3dc469d1b2b0dad1deeb96f60baba9e880b331b2', class: "container-description" }, h("p", { key: '798167bcbd1d518596084bd4022705e95cf7641c' }, "Adicione ", h("strong", { key: '339608110c0dca39eaa6a2c02709dd54bd87e7c0' }, "R$ ", remainingGiftback < 0 ? "0,00" : remainingGiftback.toFixed(2).replace(".", ",")), " ao carrinho para atingir o valor m\u00E1ximo!"), h("crm-tooltip", { key: '4f0a469bc99e496796041c17de270bbb687f7764', text: i18next.t("labelamountPartial") }))), h("div", { key: 'a2f2bc7f6b022b3981f8f6df8732b7a4c9a5a243', class: "options" }, h("label", { key: '13e3c13f007d5b1d43f746fd06e18f2b29e3b823' }, h("input", { key: '82ddf88366daa1cf63f2a45417860f42b8fd83f4', type: "radio", name: "giftbackOption", value: "use", checked: this.selectedOption === 'use', onChange: () => this.handleOptionChange('use') }), h("p", { key: 'c4ccce86e81bebe6f146df2d2239bafb2d6a088c' }, "Usar o meu Giftback")), h("label", { key: 'cb8adaac7228d66458e8d1dc541e2b850a82e546' }, h("input", { key: 'fd64be58a008831b94260883de1064858efad875', type: "radio", name: "giftbackOption", value: "dontUse", checked: this.selectedOption === 'dontUse', onChange: () => this.handleOptionChange('dontUse') }), "N\u00E3o usar o meu Giftback")), h("div", { key: '329ba139c2ee8b5addb111b7da6a8883c32e7aa1', class: "info-box" }, "O Giftback ser\u00E1 aplicado na pr\u00F3xima etapa.")));
74
76
  }
75
77
  static get is() { return "giftback-info"; }
76
78
  static get originalStyleUrls() {
@@ -127,7 +129,7 @@ export class GiftbackInfo {
127
129
  "tags": [],
128
130
  "text": ""
129
131
  },
130
- "defaultValue": "{\n totalBonus: 0,\n cartId: \"\",\n minimumPurchase: 0,\n bonusBalance: 0,\n calculatedValue: 0,\n firstValidityDate: \"\",\n totalValue: 0\n }"
132
+ "defaultValue": "{\n totalBonus: 150,\n cartId: \"\",\n minimumPurchase: 500,\n bonusBalance: 50,\n calculatedValue: 150,\n firstValidityDate: \"\",\n totalValue: 400\n }"
131
133
  },
132
134
  "reserve": {
133
135
  "type": "unknown",
@@ -1 +1 @@
1
- {"version":3,"file":"giftback-info.js","sourceRoot":"","sources":["../../../../../../src/components/giftback-form/subcomponents/giftback-info/giftback-info.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, State, Watch, h } from \"@stencil/core\";\nimport { IBonus } from \"../../../../dto/validate.pin.bonus\";\n\nimport i18next from '../../../../i18n/i18n'\nimport { USED_KEY } from \"../../../../utils/keys.storage\";\n\n@Component({\n tag: 'giftback-info',\n styleUrls: ['giftback-info.css']\n})\nexport class GiftbackInfo {\n @State() usedValue: number = 0;\n @State() selectedOption: string = 'none';\n\n @Prop() loading: boolean = false;\n @Prop() bonus: Partial<IBonus> = {\n totalBonus: 0,\n cartId: \"\",\n minimumPurchase: 0,\n bonusBalance: 0,\n calculatedValue: 0,\n firstValidityDate: \"\",\n totalValue: 0\n };\n @Prop() reserve: (amountRedeemed: number) => void;\n @Prop() cancel: () => void;\n\n @State() sliderPosition: number = 50;\n\n @Watch(\"bonus\")\n changedBonus() {\n this.updateBonus()\n }\n\n private updateBonus() {\n this.usedValue = parseFloat(this.bonus.bonusBalance.toString());\n this.buildPositionSlider(0, this.bonus.totalBonus);\n }\n\n componentWillLoad() {\n this.updateBonus();\n this.selectedOption = localStorage.getItem(\"bc:used\");\n }\n\n handleSliderChange(event: Event) {\n const input = event.target as HTMLInputElement;\n this.usedValue = parseFloat(input.value);\n\n // Calculando a posição do texto com base no valor do slider\n // const percentage = ((this.usedValue - parseInt(input.min)) / (parseInt(input.max) - parseInt(input.min))) * 100;\n // this.sliderPosition = percentage;\n\n this.buildPositionSlider(parseFloat(input.min), parseFloat(input.max))\n }\n\n\n private buildPositionSlider(min: number, max: number) {\n // Calculando a posição do texto com base no valor do slider\n const percentage = ((this.usedValue - min) / (max - min)) * 100;\n this.sliderPosition = percentage;\n }\n\n async handleOptionChange(option: string) {\n this.selectedOption = option;\n \n const canCancel = this.canCancelSetOption(option);\n\n switch (this.selectedOption) {\n case 'use':\n await this.reserve(this.usedValue)\n break;\n case 'dontUse':\n if(canCancel) {\n await this.cancel();\n } \n break;\n default:\n }\n }\n\n\n private canCancelSetOption(option: string): boolean {\n \n const opt = localStorage.getItem(USED_KEY);\n \n localStorage.setItem(USED_KEY, option)\n\n return (opt === \"use\")\n }\n\n render() {\n const remainingGiftback = this.bonus.minimumPurchase - this.bonus.totalValue;\n\n const translateDescription = i18next.t(\"giftDescription\", { amount: `${this.bonus.totalBonus.toFixed(2).replace(\".\", \",\")}`, custom_name: \"Giftback\" })\n return (\n\n <div class=\"giftback-container\">\n <div class=\"container-description\">\n <p innerHTML={translateDescription}></p>\n </div>\n <div class=\"slider-wrapper\">\n <div\n class=\"slider-value\"\n style={{\n left: `calc(${this.sliderPosition}% - 20px)`, // Ajuste para centralizar o texto\n\n }}\n >\n R$ {this.usedValue.toFixed(2).replace(\".\", \",\")}\n </div>\n <input\n disabled\n type=\"range\"\n min=\"0\"\n max={this.bonus.totalBonus}\n value={this.usedValue}\n class=\"slider\"\n step=\"0.01\"\n onInput={(event) => this.handleSliderChange(event)}\n style={{\n background: `linear-gradient(to right, #6D6D5F ${this.sliderPosition}%, #ddd ${this.sliderPosition}%)`,\n }}\n />\n </div>\n <p>\n Adicione <strong>R$ {remainingGiftback < 0 ? \"0,00\" : remainingGiftback.toFixed(2).replace(\".\", \",\")}</strong> ao carrinho para atingir o valor\n máximo!\n </p>\n <div class=\"options\">\n <label>\n <input\n type=\"radio\"\n name=\"giftbackOption\"\n value=\"use\"\n checked={this.selectedOption === 'use'}\n onChange={() => this.handleOptionChange('use')}\n />\n Usar o meu Giftback\n </label>\n <label>\n <input\n type=\"radio\"\n name=\"giftbackOption\"\n value=\"dontUse\"\n checked={this.selectedOption === 'dontUse'}\n onChange={() => this.handleOptionChange('dontUse')}\n />\n Não usar o meu Giftback\n </label>\n </div>\n <div class=\"info-box\">\n O Giftback será aplicado na próxima etapa.\n </div>\n </div>\n );\n }\n}"]}
1
+ {"version":3,"file":"giftback-info.js","sourceRoot":"","sources":["../../../../../../src/components/giftback-form/subcomponents/giftback-info/giftback-info.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, State, Watch, h } from \"@stencil/core\";\nimport { IBonus } from \"../../../../dto/validate.pin.bonus\";\n\nimport i18next from '../../../../i18n/i18n'\nimport { USED_KEY } from \"../../../../utils/keys.storage\";\nimport { defineLimit, formatDateToBr } from \"../../../../utils/utils\";\n\n@Component({\n tag: 'giftback-info',\n styleUrls: ['giftback-info.css']\n})\nexport class GiftbackInfo {\n @State() usedValue: number = 0;\n @State() selectedOption: string = 'none';\n\n @Prop() loading: boolean = false;\n @Prop() bonus: Partial<IBonus> = {\n totalBonus: 150,\n cartId: \"\",\n minimumPurchase: 500,\n bonusBalance: 50,\n calculatedValue: 150,\n firstValidityDate: \"\",\n totalValue: 400\n };\n @Prop() reserve: (amountRedeemed: number) => void;\n @Prop() cancel: () => void;\n\n @State() sliderPosition: number = 50;\n\n @Watch(\"bonus\")\n changedBonus() {\n this.updateBonus()\n }\n\n private updateBonus() {\n this.usedValue = parseFloat(this.bonus.bonusBalance.toString());\n this.buildPositionSlider(0, this.bonus.totalBonus);\n }\n\n componentWillLoad() {\n this.updateBonus();\n this.selectedOption = localStorage.getItem(USED_KEY);\n }\n\n handleSliderChange(event: Event) {\n const input = event.target as HTMLInputElement;\n this.usedValue = parseFloat(input.value);\n\n // Calculando a posição do texto com base no valor do slider\n // const percentage = ((this.usedValue - parseInt(input.min)) / (parseInt(input.max) - parseInt(input.min))) * 100;\n // this.sliderPosition = percentage;\n\n this.buildPositionSlider(parseFloat(input.min), parseFloat(input.max))\n }\n\n\n private buildPositionSlider(min: number, max: number) {\n // Calculando a posição do texto com base no valor do slider\n const percentage = ((this.usedValue - min) / (max - min)) * 100;\n this.sliderPosition = percentage;\n }\n\n async handleOptionChange(option: string) {\n this.selectedOption = option;\n\n const canCancel = this.canCancelSetOption(option);\n\n switch (this.selectedOption) {\n case 'use':\n await this.reserve(this.usedValue)\n break;\n case 'dontUse':\n if (canCancel) {\n await this.cancel();\n }\n break;\n default:\n }\n }\n\n\n private canCancelSetOption(option: string): boolean {\n\n const opt = localStorage.getItem(USED_KEY);\n\n localStorage.setItem(USED_KEY, option)\n\n return (opt === \"use\")\n }\n\n render() {\n const remainingGiftback = this.bonus.minimumPurchase - this.bonus.totalValue;\n\n const translateDescription = i18next.t(\"giftDescription\", { amount: `${this.bonus.totalBonus.toFixed(2).replace(\".\", \",\")}`, custom_name: \"Giftback\" })\n\n const limit = defineLimit(remainingGiftback)\n\n return (\n\n <div class=\"giftback-container\">\n <div class=\"container-description\">\n <p innerHTML={translateDescription}></p>\n <crm-tooltip text={i18next.t(\"labelUseGiftback\", { minimumPurchase: this.bonus.minimumPurchase, expírationDate: formatDateToBr(this.bonus.firstValidityDate) })} />\n </div>\n <div class=\"slider-wrapper\">\n <div\n class=\"slider-value\"\n style={{\n left: `calc(${this.sliderPosition}% - 20px)`, // Ajuste para centralizar o texto\n\n }}\n >\n R$ {this.usedValue.toFixed(2).replace(\".\", \",\")}\n </div>\n <input\n disabled\n type=\"range\"\n min=\"0\"\n max={this.bonus.totalBonus}\n value={this.usedValue}\n class=\"slider\"\n step=\"0.01\"\n onInput={(event) => this.handleSliderChange(event)}\n style={{\n background: `linear-gradient(to right, #6D6D5F ${this.sliderPosition}%, #ddd ${this.sliderPosition}%)`,\n }}\n />\n </div>\n\n {\n limit.isComplete && (\n <p>\n {i18next.t(\"maxAmount\")}\n </p>\n )\n }\n\n {\n !limit.isComplete && (\n <div class=\"container-description\">\n <p>\n Adicione <strong>R$ {remainingGiftback < 0 ? \"0,00\" : remainingGiftback.toFixed(2).replace(\".\", \",\")}</strong> ao carrinho para atingir o valor\n máximo!\n </p>\n\n <crm-tooltip text={i18next.t(\"labelamountPartial\")} />\n </div>\n )\n }\n\n\n <div class=\"options\">\n <label>\n <input\n type=\"radio\"\n name=\"giftbackOption\"\n value=\"use\"\n checked={this.selectedOption === 'use'}\n onChange={() => this.handleOptionChange('use')}\n />\n <p>Usar o meu Giftback</p>\n </label>\n <label>\n <input\n type=\"radio\"\n name=\"giftbackOption\"\n value=\"dontUse\"\n checked={this.selectedOption === 'dontUse'}\n onChange={() => this.handleOptionChange('dontUse')}\n />\n Não usar o meu Giftback\n </label>\n </div>\n <div class=\"info-box\">\n O Giftback será aplicado na próxima etapa.\n </div>\n </div>\n );\n }\n}"]}
@@ -12,7 +12,7 @@ export class PhoneForm {
12
12
  }
13
13
  render() {
14
14
  var _a;
15
- 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() })));
15
+ return (h(Host, { key: '44a43d6200143af7d9f413571c39ad8b2d764070', class: "crm-phone-form" }, h("label", { key: '05af852fc0f27b4cb7029c7aa5ef26525d4e273c', class: "crm-subtitle" }, "Digite o seu celular para verificar se h\u00E1 desconto dispon\u00EDvel nessa compra"), h("phone-input-mask", { key: '6dd36e632341c68d5d1cfddf83b035119949a07f', initialValue: this.value, ref: ref => this.phoneInputMask = ref }), h("crm-button", { key: '101d6e9a0a21f6608fdf383dc1b5405c33428363', txtBtn: ((_a = this.config) === null || _a === void 0 ? void 0 : _a.btnApplyBonusLabel) || "Avançar", loading: this.loading, handleClick: () => this.handlePhone() })));
16
16
  }
17
17
  static get is() { return "phone-form"; }
18
18
  static get originalStyleUrls() {
@@ -16,8 +16,8 @@
16
16
  gap: 10px;
17
17
  }
18
18
 
19
- input {
20
- width: 40px;
19
+ .pin-container input {
20
+ width: 100%;
21
21
  height: 48px;
22
22
  font-size: 14px;
23
23
  text-align: center;
@@ -46,7 +46,7 @@ export class GiftbackPin {
46
46
  }
47
47
  render() {
48
48
  var _a;
49
- return (h("div", { key: '767d23f4116f50eff85dee75caf93b9138e915f7', class: "crm-phone-form" }, h("label", { key: '56eb285a2fde3f209e86834dacf265801d6778dd', class: "crm-subtitle" }, i18next.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() })));
49
+ return (h("div", { key: '4d3b1300e306c09a1a1c972bb8fd6abe05e27085', class: "crm-phone-form" }, h("label", { key: '0d428f3832fbbe10f9afdd768b4d187c7fd2275d', class: "crm-subtitle" }, i18next.t('pin-sutitle'), " ", h("strong", { key: '3120293f084ffb828d7a20c970af0f49871a1e7f' }, "+55 ", this.phone)), h("div", { key: '39c04d08be23fac1ecea34157fe974c4db2cfac1', 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: '7099657ea1973946c3e834191b7b9d503ce0c510' }), h("p", { key: '7f79c7f72fc4d964c99c8cf643dcb3bc803baa83', class: "crm-description" }, " N\u00E3o recebeu?", !this.canResend && h("label", { key: '506084710b447c586c5bd9fe0f675f43b7138519' }, " Reenviar em ", h("countdown-timer", { key: 'dfbc7731988b97d4d0f78cbb6597cd5e92bea8eb', downtime: () => this.handleTimeout() }), " "), this.canResend && (h("div", { key: '8278705253471cd5b4117ede94f4bddab72dc2c4' }, h("a", { key: '34881c55f9f2fc1e27f0c052a89c222fcb55cd9a', onClick: () => this.handleResend() }, "Reenviar"), h("a", { key: '43c699c936cde7140e6e2d7e773bbf91c76c25c6', onClick: () => this.cancel() }, "Trocar n\u00FAmero")))), h("crm-button", { key: 'ec6e0d04c987fd8ae8863361360d20553fc72bbb', txtBtn: ((_a = this.config) === null || _a === void 0 ? void 0 : _a.btnApplyBonusLabel) || "Avançar", loading: this.loading, handleClick: () => this.validatePin() })));
50
50
  }
51
51
  static get is() { return "pin-form"; }
52
52
  static get encapsulation() { return "shadow"; }
@@ -4,7 +4,7 @@ export class LoadingContainer {
4
4
  this.loading = true;
5
5
  }
6
6
  render() {
7
- 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' })));
7
+ return (h("div", { key: 'b296bae3c386f47406a343f1f52bc8e273bebc7e', class: "relative-xy" }, this.loading && (h("div", { key: '90e8cf5fbe925bd9c5fc05cd7c0b5bd300b0c957', class: "loading-container" }, h("div", { key: '5821afd50bb7cb303599d95ecf622a47747708b6', class: "loading-spinner" }))), h("slot", { key: 'dc74d49591339bc50df561aa8d3e4390509ed72e' })));
8
8
  }
9
9
  static get is() { return "loading-container"; }
10
10
  static get originalStyleUrls() {
@@ -5,7 +5,7 @@ export class LoadingSpinner {
5
5
  this.color = '#0078d7';
6
6
  }
7
7
  render() {
8
- return (h("div", { key: 'cc9e6d79f37b688cb4a3648343fe392c149d43cf', class: "spinner", style: { width: this.size, height: this.size, borderColor: `${this.color} transparent transparent transparent` } }));
8
+ return (h("div", { key: '0524ecd0f9d9096b1bc0cee013b87c28fd7afd96', class: "spinner", style: { width: this.size, height: this.size, borderColor: `${this.color} transparent transparent transparent` } }));
9
9
  }
10
10
  static get is() { return "loading-spinner"; }
11
11
  static get encapsulation() { return "shadow"; }
@@ -8,7 +8,7 @@ export class AppModal {
8
8
  this.modalClosed.emit();
9
9
  }
10
10
  render() {
11
- 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' })))));
11
+ return (h("div", { key: '865b8946b7bad1c39cd021246d4a0c8159c1885b', class: `modal-backdrop ${this.isOpen ? 'visible' : ''}` }, h("div", { key: '23de051000e3a705761cee54aa683ae5a73925cc', class: "modal" }, h("div", { key: '9b5179eafac0acaff0cc4d2c2f6018193898ef85', class: "modal-header" }, h("h3", { key: '71f68c71ec64e00d0c96500ceb1ec7bbb30f6068' }, this.modalTitle), h("button", { key: 'a03f5372efceceac59367b58649d21337e8655c1', class: "close-button", onClick: () => this.closeModal() }, "\u00D7")), h("div", { key: '5a307dc198b072c5fad60508774237e8c2967fd4', class: "modal-body" }, h("slot", { key: '4b48f2473469050f4df368eb2cfa9121725f5ef9' })))));
12
12
  }
13
13
  static get is() { return "app-modal"; }
14
14
  static get encapsulation() { return "shadow"; }
@@ -3,6 +3,8 @@ import { getInfoCustomization } from "../../helpers/info.config.helper";
3
3
  import money from "../../assets/svg/money-dollars-svgrepo-com.svg";
4
4
  import { CrmBonusService } from "../../services/crmbonus.service";
5
5
  import { getKeyReserveByCartId } from "../../utils/keys.storage";
6
+ import i18next from "../../i18n/i18n";
7
+ import { StatusGiftBackProcess } from "../../contants";
6
8
  export class CrmBonusNote {
7
9
  constructor() {
8
10
  this.cartId = undefined;
@@ -27,7 +29,6 @@ export class CrmBonusNote {
27
29
  }
28
30
  getAmount() {
29
31
  const amount = localStorage.getItem(this.cartId);
30
- console.log('amount', amount);
31
32
  return Number(amount).toFixed(2).replace(".", ",") || "0,00";
32
33
  }
33
34
  async handleCancel() {
@@ -35,10 +36,16 @@ export class CrmBonusNote {
35
36
  window.location.href = this.url;
36
37
  localStorage.removeItem(getKeyReserveByCartId(this.cartId));
37
38
  }
39
+ hasBonus() {
40
+ const _bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));
41
+ if (_bonus) {
42
+ }
43
+ }
38
44
  render() {
39
- return (h("div", { key: 'bc5d604cea5aed792cb15f0851eb1f972da6ecb4' }, h("div", { key: 'cffe8d7bf73a7971bfb0474a4d043cb6ed6e89cf', class: "note-container" }, h("div", { key: '50dfeb29b9214d3f10c5ee6cdef8319c23d5393d', class: "note-header" }, h("p", { key: 'b3aa16aae338bf237a81bacfcade1c23c22aae40', class: "note-title" }, h("img", { key: 'ae64ef45b9a564ed237836bde2f9ea281b5f527c', src: money, width: 23 }), this.config.giftbackTitle), this.handleHide() && (h("p", { key: '3466e86e46fad25a466165d2b161a73e20bca833', class: "back-cart", onClick: () => this.handleCancel() }, "Editar"))), h("hr", { key: '85c7ca5112d163c5b886289cb2f9aaaed6855491' }), this.handleHide() &&
40
- (h("p", { key: '1986f4c1cb4498b65d84dcdf548ad126bf15e9f0', class: "note-description-2" }, this.config.giftbackTitle || "Giftback", " aplicado ao pedido: ", h("strong", { key: '9443c54500c49c6c94e919b37c771df51b4e2f68' }, "R$ ", this.getAmount()))), !this.handleHide() &&
41
- (h("p", { key: '5c17a22fee3edefb4de60451883a015cdc4b8e0e', class: "note-description-not" }, "N\u00E3o h\u00E1 ", this.config.giftbackTitle || "Giftback", " dispon\u00EDvel para essa compra")))));
45
+ const giftbackname = this.config.giftbackTitle || "Giftback";
46
+ return (h("div", { key: '1306da5499eb1629b4e28801deec00b0e51d4b4b' }, h("div", { key: '00b1e26aadffcf3a4a23fe32946f5d522a12cf42', class: "note-container" }, h("div", { key: '32ef114e61f585f174c750ccc80d21fbb908c14b', class: "note-header" }, h("p", { key: '41fc0c2753028a34d7912a62b1a23ed8d8296dae', class: "note-title" }, h("img", { key: 'a3ecf4889eff8f7e147b768d220b36b5512cd5a2', src: money, width: 23 }), this.config.giftbackTitle), this.handleHide() && (h("p", { key: '527dc658a05c62057260cd26baa516b10600e10b', class: "back-cart", onClick: () => this.handleCancel() }, i18next.t("edit")))), this.handleHide() &&
47
+ (h("p", { key: '6e06d4d4e41397ac986d3f8bf14341b2c67ce974', class: "note-description-2" }, i18next.t("withApplyBonus", { giftbackname: giftbackname }), " ", h("strong", { key: 'd5b8e1093f100524dfceb0207478c2a8ceecb355' }, "R$ ", this.getAmount(), "."))), localStorage.getItem(`bc:${this.cartId}`) === StatusGiftBackProcess.NO_BONUS &&
48
+ (h("p", { key: '7dfea3a2d82af19ac1e3d5f45f180578fbd36c7c', class: "note-description-not" }, i18next.t("noBonus", { giftbackname: giftbackname }))))));
42
49
  }
43
50
  static get is() { return "crm-bonus-note"; }
44
51
  static get originalStyleUrls() {
@@ -1 +1 @@
1
- {"version":3,"file":"crm-bonus-note.js","sourceRoot":"","sources":["../../../../src/components/note/crm-bonus-note.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAc,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAEpF,OAAO,KAAK,MAAM,gDAAgD,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAMjE,MAAM,OAAO,YAAY;;;;;;;IAQrB,iBAAiB;QACb,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACxC,CAAC;IAED,4BAA4B;QAExB,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACzD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,EAAE;YAC1B,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;IACtC,CAAC;IAED,UAAU;QACN,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,OAAO,CAAC,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,SAAS;QACL,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEjD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAE7B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAA;IAChE,CAAC;IAED,KAAK,CAAC,YAAY;QACd,MAAM,eAAe,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7E,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;QAEhC,YAAY,CAAC,UAAU,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,MAAM;QAEF,OAAO,CACH;YACI,4DAAK,KAAK,EAAC,gBAAgB;gBACvB,4DAAK,KAAK,EAAC,aAAa;oBAEpB,0DAAG,KAAK,EAAC,YAAY;wBACjB,4DAAK,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,GAAI;wBAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,CAC1B;oBAEA,IAAI,CAAC,UAAU,EAAE,IAAI,CACjB,0DAAG,KAAK,EAAC,WAAW,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,aAEnD,CACP,CAEH;gBAEN,4DAAM;gBAEF,IAAI,CAAC,UAAU,EAAE;oBACjB,CACI,0DAAG,KAAK,EAAC,oBAAoB;wBACxB,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,UAAU;;wBAAsB;;4BAAY,IAAI,CAAC,SAAS,EAAE,CAAU,CACpG,CACP;gBAID,CAAC,IAAI,CAAC,UAAU,EAAE;oBAClB,CACI,0DAAG,KAAK,EAAC,sBAAsB;;wBACnB,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,UAAU;4DAC/C,CACP,CAMH,CACJ,CACT,CAAA;IACL,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACJ","sourcesContent":["import { Component, Prop, State, h } from \"@stencil/core\";\nimport { IInfoStore, getInfoCustomization } from \"../../helpers/info.config.helper\";\n\nimport money from '../../assets/svg/money-dollars-svgrepo-com.svg'\nimport { CrmBonusService } from \"../../services/crmbonus.service\";\nimport { getKeyReserveByCartId } from \"../../utils/keys.storage\";\n\n@Component({\n tag: 'crm-bonus-note',\n styleUrl: 'crm-bonus-note.css'\n})\nexport class CrmBonusNote {\n\n @Prop({ attribute: 'cartid' }) cartId;\n @Prop({ attribute: \"storename\" }) storename;\n\n @State() url: string;\n @State() config: IInfoStore;\n\n componentWillLoad() {\n this.upadateCheckToFreteAndGetUrl();\n }\n\n upadateCheckToFreteAndGetUrl() {\n\n this.config = getInfoCustomization(this.storename);\n const envios = document.getElementsByName('forma-envio');\n envios.forEach((envio: any) => {\n envio.checked = false;\n });\n\n this.url = window.location.origin;\n }\n\n handleHide() {\n const amount = localStorage.getItem(this.cartId);\n return !!amount;\n }\n\n getAmount() {\n const amount = localStorage.getItem(this.cartId);\n\n console.log('amount', amount)\n\n return Number(amount).toFixed(2).replace(\".\", \",\") || \"0,00\"\n }\n\n async handleCancel() {\n await CrmBonusService.getInstance().cancelBonus(this.cartId, this.storename);\n window.location.href = this.url;\n\n localStorage.removeItem(getKeyReserveByCartId(this.cartId));\n }\n\n render() {\n\n return (\n <div>\n <div class=\"note-container\">\n <div class=\"note-header\">\n\n <p class=\"note-title\">\n <img src={money} width={23} />\n {this.config.giftbackTitle}\n </p>\n {\n this.handleHide() && (\n <p class=\"back-cart\" onClick={() => this.handleCancel()}>\n Editar\n </p>\n )\n }\n </div>\n\n <hr />\n {\n this.handleHide() &&\n (\n <p class=\"note-description-2\">\n {this.config.giftbackTitle || \"Giftback\"} aplicado ao pedido: <strong>R$ {this.getAmount()}</strong>\n </p>\n )\n }\n\n {\n !this.handleHide() &&\n (\n <p class=\"note-description-not\">\n Não há {this.config.giftbackTitle || \"Giftback\"} disponível para essa compra\n </p>\n )\n }\n\n {/* <a class=\"back-cart\" href={this.url}>\n Voltar ao carrinho\n </a> */}\n </div>\n </div>\n )\n }\n}"]}
1
+ {"version":3,"file":"crm-bonus-note.js","sourceRoot":"","sources":["../../../../src/components/note/crm-bonus-note.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, State, h } from \"@stencil/core\";\nimport { IInfoStore, getInfoCustomization } from \"../../helpers/info.config.helper\";\n\nimport money from '../../assets/svg/money-dollars-svgrepo-com.svg'\nimport { CrmBonusService } from \"../../services/crmbonus.service\";\nimport { getKeyReserveByCartId } from \"../../utils/keys.storage\";\nimport i18next from \"../../i18n/i18n\"\nimport { StatusGiftBackProcess } from \"../../contants\";\n\n@Component({\n tag: 'crm-bonus-note',\n styleUrl: 'crm-bonus-note.css'\n})\nexport class CrmBonusNote {\n\n @Prop({ attribute: 'cartid' }) cartId;\n @Prop({ attribute: \"storename\" }) storename;\n\n @State() url: string;\n @State() config: IInfoStore;\n\n componentWillLoad() {\n this.upadateCheckToFreteAndGetUrl()\n }\n\n upadateCheckToFreteAndGetUrl() {\n\n this.config = getInfoCustomization(this.storename);\n const envios = document.getElementsByName('forma-envio');\n envios.forEach((envio: any) => {\n envio.checked = false;\n });\n\n this.url = window.location.origin;\n }\n\n handleHide() {\n const amount = localStorage.getItem(this.cartId);\n return !!amount;\n }\n\n getAmount() {\n const amount = localStorage.getItem(this.cartId);\n\n return Number(amount).toFixed(2).replace(\".\", \",\") || \"0,00\"\n }\n\n async handleCancel() {\n await CrmBonusService.getInstance().cancelBonus(this.cartId, this.storename);\n window.location.href = this.url;\n\n localStorage.removeItem(getKeyReserveByCartId(this.cartId));\n }\n\n\n hasBonus() {\n const _bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\n\n if (_bonus) {\n \n }\n\n }\n\n render() {\n\n const giftbackname = this.config.giftbackTitle || \"Giftback\";\n\n return (\n <div>\n <div class=\"note-container\">\n <div class=\"note-header\">\n\n <p class=\"note-title\">\n <img src={money} width={23} />\n {this.config.giftbackTitle}\n </p>\n {\n this.handleHide() && (\n <p class=\"back-cart\" onClick={() => this.handleCancel()}>\n {i18next.t(\"edit\")}\n </p>\n )\n }\n </div>\n\n {\n this.handleHide() &&\n (\n <p class=\"note-description-2\">\n {i18next.t(\"withApplyBonus\", { giftbackname: giftbackname })} <strong>R$ {this.getAmount()}.</strong>\n </p>\n )\n }\n\n {\n localStorage.getItem(`bc:${this.cartId}`) === StatusGiftBackProcess.NO_BONUS &&\n (\n <p class=\"note-description-not\">\n {i18next.t(\"noBonus\", { giftbackname: giftbackname })}\n </p>\n )\n }\n\n {/* <a class=\"back-cart\" href={this.url}>\n Voltar ao carrinho\n </a> */}\n </div>\n </div>\n )\n }\n}"]}
@@ -20,7 +20,7 @@ export class Pedido {
20
20
  }
21
21
  }
22
22
  render() {
23
- return (h("div", { key: 'd930957c252694d11aade1aeaa2a823131b0e6c9' }));
23
+ return (h("div", { key: '064db478ceea260d2e4e7ca3eb47ec4a8f75908b' }));
24
24
  }
25
25
  static get is() { return "pedido-finalizado"; }
26
26
  static get properties() {
@@ -25,10 +25,11 @@
25
25
 
26
26
 
27
27
  .phone-input-form {
28
- width: 246px;
28
+ width: 100%;
29
29
  height: 48px;
30
30
  padding: 13px 16px 13px 16px;
31
31
  border: 1px solid #CCCCCC;
32
+ font-size: 14px;
32
33
  }
33
34
 
34
35
  .crm-erro-msg {
@@ -41,7 +41,7 @@ export class PhoneInputMask {
41
41
  return this.phone;
42
42
  }
43
43
  render() {
44
- return (h("div", { key: 'da82e6c688cc88043ff18f935bba2d929b9bb5a4' }, h("input", { key: '805202fe1f963f524b461a7f1c92f0796a08c394', disabled: this.disabled, id: "phone", type: "text", class: "phone-input-form", value: this.phone, onInput: (event) => this.handleInput(event), placeholder: "(12) 94567 8910" }), h("p", { key: '80a7288bd27e4d8d5d6220a78cbc016710e9dc95', class: "crm-erro-msg" }, this.message)));
44
+ return (h("div", { key: 'fdbdfe4ec8f6fa24c0d529f6074bd681526ec729' }, h("input", { key: 'cda5899b15b3a1af7cf242738bec01913e4e3777', disabled: this.disabled, id: "phone", type: "text", class: "phone-input-form", value: this.phone, onInput: (event) => this.handleInput(event), placeholder: "(99) 99999 9999" }), h("p", { key: '80a1d09a1ad1784a048cf0a3863573d61533ef26', class: "crm-erro-msg" }, this.message)));
45
45
  }
46
46
  static get is() { return "phone-input-mask"; }
47
47
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"phone-input-mask.js","sourceRoot":"","sources":["../../../../src/components/phone/phone-input-mask.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAO9D,MAAM,OAAO,cAAc;;qBACE,EAAE;uBACA,EAAE;;;;IAK7B,iBAAiB;QACb,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;IACnC,CAAC;IAEO,WAAW,CAAC,KAAa;QAE7B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,iCAAiC;QAC3E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAE7D,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAEzB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7C,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,CAAC;IACtC,CAAC;IAEO,WAAW,CAAC,KAAY;QAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B,CAAC;QAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE3C,IAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,OAAO,GAAG,4BAA4B,CAAA;QAC/C,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACrB,CAAC;IACL,CAAC;IAED,mBAAmB,CAAC,KAAa;QAC7B,IAAG,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACnB,OAAO,IAAI,CAAA;QACf,CAAC;QACD,MAAM,UAAU,GAAG,yBAAyB,CAAC,CAAC,iCAAiC;QAC/E,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAGM,KAAK,CAAC,QAAQ;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,MAAM;QACF,OAAO,CACH;YACI,8DACI,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,EAAE,EAAC,OAAO,EACV,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,kBAAkB,EACxB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAC3C,WAAW,EAAC,iBAAiB,GAC/B;YACF,0DAAG,KAAK,EAAC,cAAc,IAAE,IAAI,CAAC,OAAO,CAAK,CACxC,CAET,CAAC;IACN,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACJ","sourcesContent":["import { Component, h, Method, Prop, State } from '@stencil/core';\nimport { MESSAGE_ERROR_INVALID_NUMBER } from '../../contants';\n\n@Component({\n tag: 'phone-input-mask',\n styleUrl: 'phone-input-mask.css',\n shadow: true,\n})\nexport class PhoneInputMask {\n @State() phone: string = '';\n @State() message: string = \"\";\n\n @Prop() initialValue: string;\n @Prop() disabled: boolean;\n\n componentWillLoad() {\n this.phone = this.initialValue;\n }\n\n private formatPhone(value: string): string {\n\n const cleaned = value.replace(/\\D/g, ''); // Remove tudo que não for número\n const match = cleaned.match(/^(\\d{0,2})(\\d{0,5})(\\d{0,4})$/);\n\n if (!match) return value;\n\n const part1 = match[1] ? `(${match[1]}` : '';\n const part2 = match[2] ? `) ${match[2]}` : '';\n const part3 = match[3] ? ` ${match[3]}` : '';\n\n return `${part1}${part2}${part3}`;\n }\n\n private handleInput(event: Event): void {\n const input = event.target as HTMLInputElement;\n this.phone = this.formatPhone(input.value);\n\n if(!this.validatePhoneNumber(input.value)) {\n this.message = MESSAGE_ERROR_INVALID_NUMBER\n } else {\n this.message = \"\"\n }\n }\n\n validatePhoneNumber(phone: string): boolean {\n if(phone.length < 15) {\n return true\n }\n const phoneRegex = /^\\(\\d{2}\\) \\d{5} \\d{4}$/; // Valida formato (99) 99999-9999\n return phoneRegex.test(phone);\n }\n\n @Method()\n public async getPhone() {\n return this.phone;\n }\n\n render() {\n return (\n <div>\n <input\n disabled={this.disabled}\n id=\"phone\"\n type=\"text\"\n class=\"phone-input-form\"\n value={this.phone}\n onInput={(event) => this.handleInput(event)}\n placeholder=\"(12) 94567 8910\"\n />\n <p class=\"crm-erro-msg\">{this.message}</p>\n </div>\n\n );\n }\n}\n"]}
1
+ {"version":3,"file":"phone-input-mask.js","sourceRoot":"","sources":["../../../../src/components/phone/phone-input-mask.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAO9D,MAAM,OAAO,cAAc;;qBACE,EAAE;uBACA,EAAE;;;;IAK7B,iBAAiB;QACb,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;IACnC,CAAC;IAEO,WAAW,CAAC,KAAa;QAE7B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,iCAAiC;QAC3E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAE7D,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAEzB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7C,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,CAAC;IACtC,CAAC;IAEO,WAAW,CAAC,KAAY;QAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B,CAAC;QAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE3C,IAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,OAAO,GAAG,4BAA4B,CAAA;QAC/C,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACrB,CAAC;IACL,CAAC;IAED,mBAAmB,CAAC,KAAa;QAC7B,IAAG,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACnB,OAAO,IAAI,CAAA;QACf,CAAC;QACD,MAAM,UAAU,GAAG,yBAAyB,CAAC,CAAC,iCAAiC;QAC/E,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAGM,KAAK,CAAC,QAAQ;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,MAAM;QACF,OAAO,CACH;YACI,8DACI,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,EAAE,EAAC,OAAO,EACV,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,kBAAkB,EACxB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAC3C,WAAW,EAAC,iBAAiB,GAC/B;YACF,0DAAG,KAAK,EAAC,cAAc,IAAE,IAAI,CAAC,OAAO,CAAK,CACxC,CAET,CAAC;IACN,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACJ","sourcesContent":["import { Component, h, Method, Prop, State } from '@stencil/core';\nimport { MESSAGE_ERROR_INVALID_NUMBER } from '../../contants';\n\n@Component({\n tag: 'phone-input-mask',\n styleUrl: 'phone-input-mask.css',\n shadow: true,\n})\nexport class PhoneInputMask {\n @State() phone: string = '';\n @State() message: string = \"\";\n\n @Prop() initialValue: string;\n @Prop() disabled: boolean;\n\n componentWillLoad() {\n this.phone = this.initialValue;\n }\n\n private formatPhone(value: string): string {\n\n const cleaned = value.replace(/\\D/g, ''); // Remove tudo que não for número\n const match = cleaned.match(/^(\\d{0,2})(\\d{0,5})(\\d{0,4})$/);\n\n if (!match) return value;\n\n const part1 = match[1] ? `(${match[1]}` : '';\n const part2 = match[2] ? `) ${match[2]}` : '';\n const part3 = match[3] ? ` ${match[3]}` : '';\n\n return `${part1}${part2}${part3}`;\n }\n\n private handleInput(event: Event): void {\n const input = event.target as HTMLInputElement;\n this.phone = this.formatPhone(input.value);\n\n if(!this.validatePhoneNumber(input.value)) {\n this.message = MESSAGE_ERROR_INVALID_NUMBER\n } else {\n this.message = \"\"\n }\n }\n\n validatePhoneNumber(phone: string): boolean {\n if(phone.length < 15) {\n return true\n }\n const phoneRegex = /^\\(\\d{2}\\) \\d{5} \\d{4}$/; // Valida formato (99) 99999-9999\n return phoneRegex.test(phone);\n }\n\n @Method()\n public async getPhone() {\n return this.phone;\n }\n\n render() {\n return (\n <div>\n <input\n disabled={this.disabled}\n id=\"phone\"\n type=\"text\"\n class=\"phone-input-form\"\n value={this.phone}\n onInput={(event) => this.handleInput(event)}\n placeholder=\"(99) 99999 9999\"\n />\n <p class=\"crm-erro-msg\">{this.message}</p>\n </div>\n\n );\n }\n}\n"]}
@@ -0,0 +1,32 @@
1
+ .crm-tooltip-container {
2
+ display: flex;
3
+
4
+ & img {
5
+ width: 25px;
6
+ }
7
+ }
8
+
9
+ .tooltip {
10
+ position: relative;
11
+ display: inline-block;
12
+ border-bottom: 1px dotted black;
13
+ }
14
+
15
+ .tooltip .tooltiptext {
16
+ visibility: hidden;
17
+ background-color: black;
18
+ color: #fff;
19
+ text-align: center;
20
+ padding: 8px 12px;
21
+ border-radius: 0px;
22
+ position: absolute;
23
+ z-index: 1;
24
+ min-width: 271px;
25
+ top: 100%;
26
+ left: 50%;
27
+ margin-left: -238px;
28
+ }
29
+
30
+ .tooltip:hover .tooltiptext {
31
+ visibility: visible;
32
+ }
@@ -0,0 +1,43 @@
1
+ import { h } from "@stencil/core";
2
+ import info from "../../assets/svg/info-circle-svgrepo-com.svg";
3
+ export class Tooltip {
4
+ constructor() {
5
+ this.text = undefined;
6
+ }
7
+ render() {
8
+ return (h("div", { key: '5aff620286089156f747e84ad26707c27d04a5d0', class: "crm-tooltip-container tooltip" }, h("img", { key: '71dcc81b150b4dff7b83cfce24e8ec1e1864b32c', src: info }), h("span", { key: '6c8def41b9ecadb9eca904e2c51086d794f64dbe', class: "tooltiptext" }, this.text)));
9
+ }
10
+ static get is() { return "crm-tooltip"; }
11
+ static get originalStyleUrls() {
12
+ return {
13
+ "$": ["crm-tooltip.css"]
14
+ };
15
+ }
16
+ static get styleUrls() {
17
+ return {
18
+ "$": ["crm-tooltip.css"]
19
+ };
20
+ }
21
+ static get properties() {
22
+ return {
23
+ "text": {
24
+ "type": "string",
25
+ "mutable": false,
26
+ "complexType": {
27
+ "original": "string",
28
+ "resolved": "string",
29
+ "references": {}
30
+ },
31
+ "required": false,
32
+ "optional": false,
33
+ "docs": {
34
+ "tags": [],
35
+ "text": ""
36
+ },
37
+ "attribute": "text",
38
+ "reflect": false
39
+ }
40
+ };
41
+ }
42
+ }
43
+ //# sourceMappingURL=tooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.js","sourceRoot":"","sources":["../../../../src/components/tooltip/tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,IAAI,MAAM,8CAA8C,CAAC;AAOhE,MAAM,OAAO,OAAO;;;;IAIhB,MAAM;QACF,OAAO,CACH,4DAAK,KAAK,EAAC,+BAA+B;YACtC,4DAAK,GAAG,EAAE,IAAI,GAAI;YAClB,6DAAM,KAAK,EAAC,aAAa,IAAE,IAAI,CAAC,IAAI,CAAQ,CAC1C,CACT,CAAC;IACN,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;CACJ","sourcesContent":["import { Component, h, Prop } from \"@stencil/core\";\nimport info from '../../assets/svg/info-circle-svgrepo-com.svg';\n\n\n@Component({\n tag: 'crm-tooltip',\n styleUrl: 'crm-tooltip.css'\n})\nexport class Tooltip {\n\n @Prop() text: string\n\n render() {\n return (\n <div class=\"crm-tooltip-container tooltip\">\n <img src={info} />\n <span class=\"tooltiptext\">{this.text}</span>\n </div>\n );\n }\n}"]}
@@ -8,4 +8,9 @@ export var StepFormEnum;
8
8
  StepFormEnum[StepFormEnum["STEP_NO_BONUS"] = 5] = "STEP_NO_BONUS";
9
9
  })(StepFormEnum || (StepFormEnum = {}));
10
10
  export const MESSAGE_ERROR_INVALID_NUMBER = "Número inválido";
11
+ export var StatusGiftBackProcess;
12
+ (function (StatusGiftBackProcess) {
13
+ StatusGiftBackProcess["VALIDATE"] = "validate";
14
+ StatusGiftBackProcess["NO_BONUS"] = "no_bonus";
15
+ })(StatusGiftBackProcess || (StatusGiftBackProcess = {}));
11
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contants/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,YAOX;AAPD,WAAY,YAAY;IACpB,yDAAa,CAAA;IACb,2DAAc,CAAA;IACd,uDAAY,CAAA;IACZ,+DAAgB,CAAA;IAChB,2DAAc,CAAA;IACd,iEAAiB,CAAA;AACrB,CAAC,EAPW,YAAY,KAAZ,YAAY,QAOvB;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAE,iBAAiB,CAAA","sourcesContent":["export enum StepFormEnum {\n STEP_NAME = 0,\n STEP_PHONE = 1,\n STEP_PIN = 2,\n STEP_RESERVE = 3,\n STEP_APPLY = 4,\n STEP_NO_BONUS = 5\n}\n\nexport const MESSAGE_ERROR_INVALID_NUMBER= \"Número inválido\""]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contants/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,YAOX;AAPD,WAAY,YAAY;IACpB,yDAAa,CAAA;IACb,2DAAc,CAAA;IACd,uDAAY,CAAA;IACZ,+DAAgB,CAAA;IAChB,2DAAc,CAAA;IACd,iEAAiB,CAAA;AACrB,CAAC,EAPW,YAAY,KAAZ,YAAY,QAOvB;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAE,iBAAiB,CAAA;AAG5D,MAAM,CAAN,IAAY,qBAGX;AAHD,WAAY,qBAAqB;IAC7B,8CAAqB,CAAA;IACrB,8CAAqB,CAAA;AACzB,CAAC,EAHW,qBAAqB,KAArB,qBAAqB,QAGhC","sourcesContent":["export enum StepFormEnum {\n STEP_NAME = 0,\n STEP_PHONE = 1,\n STEP_PIN = 2,\n STEP_RESERVE = 3,\n STEP_APPLY = 4,\n STEP_NO_BONUS = 5\n}\n\nexport const MESSAGE_ERROR_INVALID_NUMBER= \"Número inválido\"\n\n\nexport enum StatusGiftBackProcess {\n VALIDATE = \"validate\",\n NO_BONUS = \"no_bonus\"\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.pin.bonus.js","sourceRoot":"","sources":["../../../src/dto/validate.pin.bonus.ts"],"names":[],"mappings":"AAQA,MAAM,CAAN,IAAY,eAEX;AAFD,WAAY,eAAe;IACvB,iCAAc,CAAA;AAClB,CAAC,EAFW,eAAe,KAAf,eAAe,QAE1B","sourcesContent":["export interface IProduct {\n productVariantId: string;\n sku: string;\n value: number;\n quantity: number;\n discount: number;\n}\n\nexport enum AjustesTipoEnum {\n P = \"Promocao\" \n}\n\nexport interface IAjustes {\n Tipo: AjustesTipoEnum;\n Valor: number;\n}\n\nexport interface IProductWake {\n ProdutoVarianteId: number;\n SKU: string;\n PrecoPor: number;\n Quantidade: number;\n Ajustes: IAjustes[];\n}\n\nexport interface ICustomer {\n birthDate: string;\n document: string;\n name: string;\n phone: string;\n}\n\nexport interface IProccesPinBonusDto {\n storeName: string;\n name: string;\n checkoutId: string;\n checkoutProducts: Array<IProduct>;\n storeId: string;\n userId: string;\n cellphone: string;\n pin: string;\n\n}\n\nexport interface IBonus {\n hasBonus: boolean;\n bonusBalance: number;\n totalBonus: number;\n minimumPurchase: number;\n bonusIds: string;\n firstValidityDate: string\n history: [\n {\n validityStart: string;\n validityEnd: string;\n value: number\n },\n {\n validityStart: string;\n validityEnd: string\n value: number\n }\n ]\n storeId: number;\n userId: number;\n cartId: string\n calculatedValue: number;\n totalValue: number\n}\n\n\nexport interface IReserveDTO {\n storeName: string;\n cartId: string;\n grossValue: number;\n redeemedBonus: number;\n ticket: string;\n storeId: string;\n userId: number;\n}"]}
1
+ {"version":3,"file":"validate.pin.bonus.js","sourceRoot":"","sources":["../../../src/dto/validate.pin.bonus.ts"],"names":[],"mappings":"AAQA,MAAM,CAAN,IAAY,eAEX;AAFD,WAAY,eAAe;IACvB,iCAAc,CAAA;AAClB,CAAC,EAFW,eAAe,KAAf,eAAe,QAE1B","sourcesContent":["export interface IProduct {\n productVariantId: string;\n sku: string;\n value: number;\n quantity: number;\n discount: number;\n}\n\nexport enum AjustesTipoEnum {\n P = \"Promocao\" \n}\n\nexport interface IAjustes {\n Tipo: AjustesTipoEnum;\n Valor: number;\n}\n\nexport interface IProductWake {\n ProdutoVarianteId: number;\n SKU: string;\n PrecoPor: number;\n Quantidade: number;\n Ajustes: IAjustes[];\n}\n\nexport interface ICustomer {\n birthDate: string;\n document: string;\n name: string;\n phone: string;\n}\n\nexport interface IProccesPinBonusDto {\n storeName: string;\n name: string;\n checkoutId: string;\n checkoutProducts: Array<IProduct>;\n storeId: string;\n userId: string;\n cellphone: number;\n pin: string;\n\n}\n\nexport interface IBonus {\n hasBonus: boolean;\n bonusBalance: number;\n totalBonus: number;\n minimumPurchase: number;\n bonusIds: string;\n firstValidityDate: string\n history: [\n {\n validityStart: string;\n validityEnd: string;\n value: number\n },\n {\n validityStart: string;\n validityEnd: string\n value: number\n }\n ]\n storeId: number;\n userId: number;\n cartId: string\n calculatedValue: number;\n totalValue: number\n}\n\n\nexport interface IReserveDTO {\n storeName: string;\n cartId: string;\n grossValue: number;\n redeemedBonus: number;\n ticket: string;\n storeId: string;\n userId: number;\n}"]}
@@ -2,6 +2,9 @@ import i18next from "i18next";
2
2
  i18next.init({
3
3
  lng: 'pt', // Idioma padrão
4
4
  fallbackLng: 'en', // Idioma de fallback
5
+ interpolation: {
6
+ escapeValue: false
7
+ },
5
8
  resources: {
6
9
  en: {
7
10
  translation: {
@@ -12,11 +15,17 @@ i18next.init({
12
15
  },
13
16
  pt: {
14
17
  translation: {
18
+ edit: "Editar",
15
19
  welcome: "Bem-vindo",
16
20
  description: "Este é um exemplo",
17
21
  'pin-sutitle': "Digite o código de 4 dígitos enviado por SMS ao número",
18
22
  giftDescription: "Você tem até <strong>R$ {{amount}}</strong> de {{custom_name}}",
19
- noGiftback: "Você não possui {{storename}} disponível para essa compra."
23
+ noGiftback: "Você não possui {{storename}} disponível para essa compra.",
24
+ noBonus: "Não há {{giftbackname}} disponível para essa compra.",
25
+ withApplyBonus: "{{giftbackname}} aplicado ao pedido: ",
26
+ maxAmount: "Você atingiu o valor máximo!",
27
+ labelamountPartial: "Ao utilizar um valor parcial, você perderá a quantia restante.",
28
+ labelUseGiftback: "Regra de utilização: Valor mínimo de compra de {{minimumPurchase}} reais para usar 100% do Giftback, válido até {{expírationDate}}"
20
29
  },
21
30
  },
22
31
  },
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../../src/i18n/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,CAAC,IAAI,CAAC;IACX,GAAG,EAAE,IAAI,EAAE,gBAAgB;IAC3B,WAAW,EAAE,IAAI,EAAE,qBAAqB;IACxC,SAAS,EAAE;QACT,EAAE,EAAE;YACF,WAAW,EAAE;gBACX,OAAO,EAAE,SAAS;gBAClB,WAAW,EAAE,oBAAoB;gBACjC,aAAa,EAAE,mDAAmD;aACnE;SACF;QACD,EAAE,EAAE;YACF,WAAW,EAAE;gBACX,OAAO,EAAE,WAAW;gBACpB,WAAW,EAAE,mBAAmB;gBAChC,aAAa,EAAE,wDAAwD;gBACvE,eAAe,EAAE,gEAAgE;gBACjF,UAAU,EAAE,4DAA4D;aACzE;SACF;KACF;CACF,CAAC,CAAC;AAEH,eAAe,OAAO,CAAC","sourcesContent":["import i18next from 'i18next';\n\ni18next.init({\n lng: 'pt', // Idioma padrão\n fallbackLng: 'en', // Idioma de fallback\n resources: {\n en: {\n translation: {\n welcome: \"Welcome\",\n description: \"This is an example\",\n 'pin-sutitle': \"Enter the 4-digit code sent via SMS to the number\"\n },\n },\n pt: {\n translation: {\n welcome: \"Bem-vindo\",\n description: \"Este é um exemplo\",\n 'pin-sutitle': \"Digite o código de 4 dígitos enviado por SMS ao número\",\n giftDescription: \"Você tem até <strong>R$ {{amount}}</strong> de {{custom_name}}\",\n noGiftback: \"Você não possui {{storename}} disponível para essa compra.\"\n },\n },\n },\n});\n\nexport default i18next;\n"]}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../../src/i18n/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,CAAC,IAAI,CAAC;IACX,GAAG,EAAE,IAAI,EAAE,gBAAgB;IAC3B,WAAW,EAAE,IAAI,EAAE,qBAAqB;IACxC,aAAa,EAAE;QACb,WAAW,EAAE,KAAK;KACnB;IACD,SAAS,EAAE;QACT,EAAE,EAAE;YACF,WAAW,EAAE;gBACX,OAAO,EAAE,SAAS;gBAClB,WAAW,EAAE,oBAAoB;gBACjC,aAAa,EAAE,mDAAmD;aACnE;SACF;QACD,EAAE,EAAE;YACF,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,WAAW;gBACpB,WAAW,EAAE,mBAAmB;gBAChC,aAAa,EAAE,wDAAwD;gBACvE,eAAe,EAAE,gEAAgE;gBACjF,UAAU,EAAE,4DAA4D;gBACxE,OAAO,EAAE,sDAAsD;gBAC/D,cAAc,EAAE,uCAAuC;gBACvD,SAAS,EAAE,8BAA8B;gBACzC,kBAAkB,EAAE,gEAAgE;gBACpF,gBAAgB,EAAE,oIAAoI;aACvJ;SACF;KACF;CACF,CAAC,CAAC;AAEH,eAAe,OAAO,CAAC","sourcesContent":["import i18next from 'i18next';\n\ni18next.init({\n lng: 'pt', // Idioma padrão\n fallbackLng: 'en', // Idioma de fallback\n interpolation: {\n escapeValue: false\n },\n resources: {\n en: {\n translation: {\n welcome: \"Welcome\",\n description: \"This is an example\",\n 'pin-sutitle': \"Enter the 4-digit code sent via SMS to the number\"\n },\n },\n pt: {\n translation: {\n edit: \"Editar\",\n welcome: \"Bem-vindo\",\n description: \"Este é um exemplo\",\n 'pin-sutitle': \"Digite o código de 4 dígitos enviado por SMS ao número\",\n giftDescription: \"Você tem até <strong>R$ {{amount}}</strong> de {{custom_name}}\",\n noGiftback: \"Você não possui {{storename}} disponível para essa compra.\",\n noBonus: \"Não há {{giftbackname}} disponível para essa compra.\",\n withApplyBonus: \"{{giftbackname}} aplicado ao pedido: \",\n maxAmount: \"Você atingiu o valor máximo!\",\n labelamountPartial: \"Ao utilizar um valor parcial, você perderá a quantia restante.\",\n labelUseGiftback: \"Regra de utilização: Valor mínimo de compra de {{minimumPurchase}} reais para usar 100% do Giftback, válido até {{expírationDate}}\"\n },\n },\n },\n});\n\nexport default i18next;\n"]}
@@ -108,10 +108,6 @@ export class CrmBonusService {
108
108
  localStorage.setItem(cartId, "0");
109
109
  localStorage.removeItem(USED_KEY);
110
110
  }
111
- async getWakeCart() {
112
- const response = await this.axiosInstance.get("https://bycoders.checkout.fbits.store/api/carrinho");
113
- return response.data;
114
- }
115
111
  }
116
112
  CrmBonusService._instance = null;
117
113
  //# sourceMappingURL=crmbonus.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"crmbonus.service.js","sourceRoot":"","sources":["../../../src/services/crmbonus.service.ts"],"names":[],"mappings":"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","sourcesContent":["import axios, { AxiosInstance } from 'axios';\nimport { CRM_BONUS_API_URL } from '../../env'\nimport { IPinSent } from '../dto/pin.sent';\nimport { IBonus, IProccesPinBonusDto, IReserveDTO } from '../dto/validate.pin.bonus';\nimport { UpdateOrderDTO } from '../dto/update.order.dto';\nimport { BYCODERS_KEY, USED_KEY, getKeyConfigByStoreName, getKeyReserveByCartId } from '../utils/keys.storage';\n\nexport class CrmBonusService {\n private axiosInstance: AxiosInstance;\n private token: string;\n\n private static _instance: CrmBonusService = null;\n\n constructor() {\n this.axiosInstance = axios.create({\n baseURL: CRM_BONUS_API_URL,\n headers: {\n 'Content-Type': 'application/json',\n 'accept': 'application/json',\n },\n });\n }\n\n public static getInstance(): CrmBonusService {\n if (this._instance) {\n return this._instance;\n }\n\n this._instance = new CrmBonusService()\n\n return this._instance;\n }\n\n async getCustomer(userId: number, store: string) {\n\n const headers = {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${this.token}`\n }\n\n const response = await this.axiosInstance.get(`/store/${store}/customer/${userId}`, { headers: headers })\n\n this.token = response?.data?.token\n\n return response?.data?.customer\n }\n\n async updateOrder(updateOrderDTO: UpdateOrderDTO) {\n\n const token = localStorage.getItem(\"@BYCODERS_KEY\");\n\n const headers = {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${token}`\n }\n\n await this.axiosInstance.patch(`/checkouts/${updateOrderDTO.cartId}/updateOrder`,\n {\n orderId: updateOrderDTO.orderId,\n externalId: updateOrderDTO.cartIdCrm\n }, { headers: headers })\n\n localStorage.removeItem(\"@BYCODERS_KEY\");\n localStorage.removeItem(USED_KEY);\n localStorage.removeItem(getKeyReserveByCartId(updateOrderDTO.cartId))\n }\n\n async sendPin(phone: number, name: string, store: string): Promise<IPinSent> {\n\n const headers = {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${this.token}`\n }\n\n\n const response = await this.axiosInstance.post(\"/crmbonus/send-pin\", { cellphone: phone, name: name, storeName: store }, { headers: headers });\n return {\n storeId: response.data.storeId,\n userId: response.data.userId\n }\n }\n\n async validatePinBonus(payload: IProccesPinBonusDto): Promise<IBonus> {\n\n const headers = {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${this.token}`\n }\n\n const response = await this.axiosInstance.post(\"/crmbonus/process-pin-bonus\", payload, { headers })\n\n return response.data;\n }\n\n async reserve(payload: IReserveDTO) {\n\n const headers = {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${this.token}`\n }\n const response = await this.axiosInstance.post(\"/crmbonus/redeem-bonus\", payload, { headers });\n return response.data;\n }\n\n async cancel(cartId: string) {\n\n const headers = {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${this.token}`\n }\n\n const response = await this.axiosInstance.post(\"/crmbonus/cancel-apply-bonus\", {\n ticket: cartId\n }, { headers });\n return response.data;\n }\n\n async getToken(store: string): Promise<string> {\n const response = await this.axiosInstance.post(\"/wake/requestToken\", { storeName: store })\n this.token = response?.data?.token;\n\n localStorage.setItem(BYCODERS_KEY, this.token);\n\n return response?.data?.token;\n }\n\n async getCustomization(storeName: string) {\n\n const headers = {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${this.token}`\n }\n\n const response = await this.axiosInstance.get(`/stores/${storeName}/customizations`, { headers });\n\n localStorage.setItem(getKeyConfigByStoreName(storeName), JSON.stringify(response.data))\n }\n\n async cancelBonus(cartId: string, storeName: string) {\n const token = localStorage.getItem(BYCODERS_KEY);\n\n const headers = {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${token}`\n }\n\n await this.axiosInstance.post(`/crmbonus/cancel-bonus`,\n {\n cartId,\n usedBonus: true,\n storeName: storeName\n }, { headers: headers })\n\n localStorage.setItem(cartId, \"0\");\n\n localStorage.removeItem(USED_KEY)\n }\n\n async getWakeCart() {\n const response = await this.axiosInstance.get(\"https://bycoders.checkout.fbits.store/api/carrinho\");\n return response.data\n }\n}"]}
1
+ {"version":3,"file":"crmbonus.service.js","sourceRoot":"","sources":["../../../src/services/crmbonus.service.ts"],"names":[],"mappings":"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","sourcesContent":["import axios, { AxiosInstance } from 'axios';\nimport { CRM_BONUS_API_URL } from '../../env'\nimport { IPinSent } from '../dto/pin.sent';\nimport { IBonus, IProccesPinBonusDto, IReserveDTO } from '../dto/validate.pin.bonus';\nimport { UpdateOrderDTO } from '../dto/update.order.dto';\nimport { BYCODERS_KEY, USED_KEY, getKeyConfigByStoreName, getKeyReserveByCartId } from '../utils/keys.storage';\n\nexport class CrmBonusService {\n private axiosInstance: AxiosInstance;\n private token: string;\n\n private static _instance: CrmBonusService = null;\n\n constructor() {\n this.axiosInstance = axios.create({\n baseURL: CRM_BONUS_API_URL,\n headers: {\n 'Content-Type': 'application/json',\n 'accept': 'application/json',\n },\n });\n }\n\n public static getInstance(): CrmBonusService {\n if (this._instance) {\n return this._instance;\n }\n\n this._instance = new CrmBonusService()\n\n return this._instance;\n }\n\n async getCustomer(userId: number, store: string) {\n\n const headers = {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${this.token}`\n }\n\n const response = await this.axiosInstance.get(`/store/${store}/customer/${userId}`, { headers: headers })\n\n this.token = response?.data?.token\n\n return response?.data?.customer\n }\n\n async updateOrder(updateOrderDTO: UpdateOrderDTO) {\n\n const token = localStorage.getItem(\"@BYCODERS_KEY\");\n\n const headers = {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${token}`\n }\n\n await this.axiosInstance.patch(`/checkouts/${updateOrderDTO.cartId}/updateOrder`,\n {\n orderId: updateOrderDTO.orderId,\n externalId: updateOrderDTO.cartIdCrm\n }, { headers: headers })\n\n localStorage.removeItem(\"@BYCODERS_KEY\");\n localStorage.removeItem(USED_KEY);\n localStorage.removeItem(getKeyReserveByCartId(updateOrderDTO.cartId))\n }\n\n async sendPin(phone: number, name: string, store: string): Promise<IPinSent> {\n\n const headers = {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${this.token}`\n }\n\n\n const response = await this.axiosInstance.post(\"/crmbonus/send-pin\", { cellphone: phone, name: name, storeName: store }, { headers: headers });\n return {\n storeId: response.data.storeId,\n userId: response.data.userId\n }\n }\n\n async validatePinBonus(payload: IProccesPinBonusDto): Promise<IBonus> {\n\n const headers = {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${this.token}`\n }\n\n const response = await this.axiosInstance.post(\"/crmbonus/process-pin-bonus\", payload, { headers })\n\n return response.data;\n }\n\n async reserve(payload: IReserveDTO) {\n\n const headers = {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${this.token}`\n }\n const response = await this.axiosInstance.post(\"/crmbonus/redeem-bonus\", payload, { headers });\n return response.data;\n }\n\n async cancel(cartId: string) {\n\n const headers = {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${this.token}`\n }\n\n const response = await this.axiosInstance.post(\"/crmbonus/cancel-apply-bonus\", {\n ticket: cartId\n }, { headers });\n return response.data;\n }\n\n async getToken(store: string): Promise<string> {\n const response = await this.axiosInstance.post(\"/wake/requestToken\", { storeName: store })\n this.token = response?.data?.token;\n\n localStorage.setItem(BYCODERS_KEY, this.token);\n\n return response?.data?.token;\n }\n\n async getCustomization(storeName: string) {\n\n const headers = {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${this.token}`\n }\n\n const response = await this.axiosInstance.get(`/stores/${storeName}/customizations`, { headers });\n\n localStorage.setItem(getKeyConfigByStoreName(storeName), JSON.stringify(response.data))\n }\n\n async cancelBonus(cartId: string, storeName: string) {\n const token = localStorage.getItem(BYCODERS_KEY);\n\n const headers = {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${token}`\n }\n\n await this.axiosInstance.post(`/crmbonus/cancel-bonus`,\n {\n cartId,\n usedBonus: true,\n storeName: storeName\n }, { headers: headers })\n\n localStorage.setItem(cartId, \"0\");\n\n localStorage.removeItem(USED_KEY)\n }\n}"]}
@@ -1,4 +1,24 @@
1
1
  export function format(first, middle, last) {
2
2
  return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');
3
3
  }
4
+ export function defineLimit(remainingGiftback) {
5
+ return {
6
+ remainingGiftback: remainingGiftback < 0 ? "0,00" : remainingGiftback.toFixed(2).replace(".", ","),
7
+ isComplete: (remainingGiftback < 0)
8
+ };
9
+ }
10
+ export function formatDateToBr(dateTime) {
11
+ // const decodedDateTime = decodeHtmlEntities(dateTime);
12
+ const [date] = dateTime.split(" ");
13
+ if (date.length != 10)
14
+ throw new Error("Invalid validateDate");
15
+ return date.split("-").reverse().join("/");
16
+ }
17
+ // Decodifica entidades HTML, se houver
18
+ export const decodeHtmlEntities = (str) => {
19
+ const parser = new DOMParser();
20
+ const doc = parser.parseFromString(str, 'text/html');
21
+ console.log("doc.documentElement");
22
+ return doc.documentElement.textContent || str;
23
+ };
4
24
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,MAAM,CAAC,KAAc,EAAE,MAAe,EAAE,IAAa;IACnE,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACjF,CAAC","sourcesContent":["export function format(first?: string, middle?: string, last?: string): string {\n return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,MAAM,CAAC,KAAc,EAAE,MAAe,EAAE,IAAa;IACnE,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,iBAAyB;IAEnD,OAAO;QACL,iBAAiB,EAAE,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;QAClG,UAAU,EAAE,CAAC,iBAAiB,GAAG,CAAC,CAAC;KACpC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAgB;IAE7C,wDAAwD;IAExD,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEnC,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAE1C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7C,CAAC;AAGD,uCAAuC;AACvC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAE,EAAE;IAChD,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;IAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAErD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;IAElC,OAAO,GAAG,CAAC,eAAe,CAAC,WAAW,IAAI,GAAG,CAAC;AAChD,CAAC,CAAC","sourcesContent":["export function format(first?: string, middle?: string, last?: string): string {\n return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');\n}\n\nexport function defineLimit(remainingGiftback: number) {\n\n return {\n remainingGiftback: remainingGiftback < 0 ? \"0,00\" : remainingGiftback.toFixed(2).replace(\".\", \",\"),\n isComplete: (remainingGiftback < 0)\n }\n}\n\nexport function formatDateToBr(dateTime: string) {\n\n // const decodedDateTime = decodeHtmlEntities(dateTime);\n\n const [date] = dateTime.split(\" \");\n\n if (date.length != 10)\n throw new Error(\"Invalid validateDate\");\n\n return date.split(\"-\").reverse().join(\"/\");\n}\n\n\n// Decodifica entidades HTML, se houver\nexport const decodeHtmlEntities = (str: string) => {\n const parser = new DOMParser();\n const doc = parser.parseFromString(str, 'text/html');\n\n console.log(\"doc.documentElement\")\n\n return doc.documentElement.textContent || str;\n};\n"]}
@@ -16,7 +16,7 @@ const AppModal$1 = /*@__PURE__*/ proxyCustomElement(class AppModal extends H {
16
16
  this.modalClosed.emit();
17
17
  }
18
18
  render() {
19
- 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' })))));
19
+ return (h("div", { key: '865b8946b7bad1c39cd021246d4a0c8159c1885b', class: `modal-backdrop ${this.isOpen ? 'visible' : ''}` }, h("div", { key: '23de051000e3a705761cee54aa683ae5a73925cc', class: "modal" }, h("div", { key: '9b5179eafac0acaff0cc4d2c2f6018193898ef85', class: "modal-header" }, h("h3", { key: '71f68c71ec64e00d0c96500ceb1ec7bbb30f6068' }, this.modalTitle), h("button", { key: 'a03f5372efceceac59367b58649d21337e8655c1', class: "close-button", onClick: () => this.closeModal() }, "\u00D7")), h("div", { key: '5a307dc198b072c5fad60508774237e8c2967fd4', class: "modal-body" }, h("slot", { key: '4b48f2473469050f4df368eb2cfa9121725f5ef9' })))));
20
20
  }
21
21
  static get style() { return AppModalStyle0; }
22
22
  }, [1, "app-modal", {