crmbonus-component-wake 2.1.33-ngrok → 2.1.35-homolog

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 (197) hide show
  1. package/dist/cjs/app-modal.cjs.entry.js +1 -1
  2. package/dist/cjs/{cart.helper-b08a12b2.js → cart.helper-abdd9916.js} +5 -3
  3. package/dist/cjs/cart.helper-abdd9916.js.map +1 -0
  4. package/dist/cjs/container-empty.cjs.entry.js +19 -0
  5. package/dist/cjs/container-empty.cjs.entry.js.map +1 -0
  6. package/dist/cjs/countdown-timer_11.cjs.entry.js +968 -0
  7. package/dist/cjs/countdown-timer_11.cjs.entry.js.map +1 -0
  8. package/dist/cjs/crm-bonus-note.cjs.entry.js +44 -69
  9. package/dist/cjs/crm-bonus-note.cjs.entry.js.map +1 -1
  10. package/dist/cjs/crmbonus-component-wake.cjs.js +1 -1
  11. package/dist/cjs/{i18n-1ce6cb94.js → info.config.helper-d4b1291b.js} +14 -1
  12. package/dist/cjs/info.config.helper-d4b1291b.js.map +1 -0
  13. package/dist/cjs/loader.cjs.js +1 -1
  14. package/dist/cjs/pedido-finalizado.cjs.entry.js +2 -2
  15. package/dist/collection/collection-manifest.json +2 -3
  16. package/dist/collection/components/crm-bonus/crm-bonus.js +13 -19
  17. package/dist/collection/components/crm-bonus/crm-bonus.js.map +1 -1
  18. package/dist/collection/components/giftback-form/giftback-form.js +10 -12
  19. package/dist/collection/components/giftback-form/giftback-form.js.map +1 -1
  20. package/dist/collection/components/giftback-form/subcomponents/giftback-info/giftback-info.js +5 -5
  21. package/dist/collection/components/giftback-form/subcomponents/phone-form/phone-form.js +1 -1
  22. package/dist/collection/components/giftback-form/subcomponents/pin-form/pin-form.js +1 -1
  23. package/dist/collection/components/loading-container/container-empty.js +9 -0
  24. package/dist/collection/components/loading-container/container-empty.js.map +1 -0
  25. package/dist/collection/components/loading-container/loading-container.css +9 -2
  26. package/dist/collection/components/loading-container/loading-container.js +20 -1
  27. package/dist/collection/components/loading-container/loading-container.js.map +1 -1
  28. package/dist/collection/components/loading-spinner/loading-spinner.js +1 -1
  29. package/dist/collection/components/modal/app-modal.js +1 -1
  30. package/dist/collection/components/note/crm-bonus-note.js +26 -64
  31. package/dist/collection/components/note/crm-bonus-note.js.map +1 -1
  32. package/dist/collection/components/pedido/pedido.js +1 -1
  33. package/dist/collection/components/phone/phone-input-mask.js +1 -1
  34. package/dist/collection/components/tooltip/tooltip.js +1 -1
  35. package/dist/collection/utils/retry.utils.js +13 -0
  36. package/dist/collection/utils/retry.utils.js.map +1 -0
  37. package/dist/components/app-modal.js +1 -1
  38. package/dist/components/{crm-bonus-2.d.ts → container-empty.d.ts} +4 -4
  39. package/dist/components/container-empty.js +33 -0
  40. package/dist/components/container-empty.js.map +1 -0
  41. package/dist/components/crm-bonus-note.js +40 -64
  42. package/dist/components/crm-bonus-note.js.map +1 -1
  43. package/dist/components/crm-bonus.js +67 -32
  44. package/dist/components/crm-bonus.js.map +1 -1
  45. package/dist/components/crm-button.js +1 -1
  46. package/dist/components/crm-giftback-form.js +1 -1
  47. package/dist/components/crm-tooltip.js +1 -1
  48. package/dist/components/giftback-info.js +1 -1
  49. package/dist/components/loading-container.js +1 -1
  50. package/dist/components/loading-spinner.js +1 -1
  51. package/dist/components/{p-8fda6382.js → p-0a7ccd8c.js} +4 -4
  52. package/dist/components/{p-8fda6382.js.map → p-0a7ccd8c.js.map} +1 -1
  53. package/dist/components/{p-c5be72a0.js → p-2cece106.js} +6 -4
  54. package/dist/components/p-2cece106.js.map +1 -0
  55. package/dist/components/{p-f1823a52.js → p-786485b2.js} +2 -2
  56. package/dist/components/{p-f1823a52.js.map → p-786485b2.js.map} +1 -1
  57. package/dist/components/{p-890dc5d5.js → p-8274e2c4.js} +2 -2
  58. package/dist/components/{p-890dc5d5.js.map → p-8274e2c4.js.map} +1 -1
  59. package/dist/components/{p-ce77a841.js → p-9b5c07d8.js} +2 -2
  60. package/dist/components/{p-ce77a841.js.map → p-9b5c07d8.js.map} +1 -1
  61. package/dist/components/{p-0bb6b0e5.js → p-a7d4e578.js} +19 -21
  62. package/dist/components/p-a7d4e578.js.map +1 -0
  63. package/dist/components/{p-c90ea2e9.js → p-bea5a5c2.js} +5 -3
  64. package/dist/{esm/cart.helper-7101c047.js.map → components/p-bea5a5c2.js.map} +1 -1
  65. package/dist/components/{p-bc930dfe.js → p-c250687d.js} +2 -2
  66. package/dist/components/{p-bc930dfe.js.map → p-c250687d.js.map} +1 -1
  67. package/dist/components/{p-028f43a1.js → p-d49313cb.js} +8 -8
  68. package/dist/components/{p-028f43a1.js.map → p-d49313cb.js.map} +1 -1
  69. package/dist/components/{p-ee1c025b.js → p-e6863cf5.js} +5 -5
  70. package/dist/components/{p-ee1c025b.js.map → p-e6863cf5.js.map} +1 -1
  71. package/dist/components/pedido-finalizado.js +2 -2
  72. package/dist/components/phone-form.js +1 -1
  73. package/dist/components/phone-input-mask.js +1 -1
  74. package/dist/components/pin-form.js +1 -1
  75. package/dist/crmbonus-component-wake/crmbonus-component-wake.esm.js +1 -1
  76. package/dist/crmbonus-component-wake/crmbonus-component-wake.esm.js.map +1 -1
  77. package/dist/crmbonus-component-wake/p-1644deef.entry.js +2 -0
  78. package/dist/crmbonus-component-wake/p-1644deef.entry.js.map +1 -0
  79. package/dist/crmbonus-component-wake/p-4bfd518e.entry.js +2 -0
  80. package/dist/crmbonus-component-wake/p-4bfd518e.entry.js.map +1 -0
  81. package/dist/crmbonus-component-wake/{p-9b7bd1e1.entry.js → p-622d5644.entry.js} +2 -2
  82. package/dist/crmbonus-component-wake/p-7e52727e.entry.js +2 -0
  83. package/dist/crmbonus-component-wake/p-99e8c3f7.entry.js +2 -0
  84. package/dist/crmbonus-component-wake/p-99e8c3f7.entry.js.map +1 -0
  85. package/dist/crmbonus-component-wake/{p-702d5a6f.js → p-b4f52f79.js} +2 -2
  86. package/dist/crmbonus-component-wake/p-b4f52f79.js.map +1 -0
  87. package/dist/crmbonus-component-wake/{p-c74567c6.js → p-bea5a5c2.js} +2 -2
  88. package/dist/crmbonus-component-wake/{p-c74567c6.js.map → p-bea5a5c2.js.map} +1 -1
  89. package/dist/env.js +4 -2
  90. package/dist/env.js.map +1 -1
  91. package/dist/esm/app-modal.entry.js +1 -1
  92. package/dist/esm/{cart.helper-7101c047.js → cart.helper-89391005.js} +6 -4
  93. package/dist/esm/cart.helper-89391005.js.map +1 -0
  94. package/dist/esm/container-empty.entry.js +15 -0
  95. package/dist/esm/container-empty.entry.js.map +1 -0
  96. package/dist/esm/countdown-timer_11.entry.js +954 -0
  97. package/dist/esm/countdown-timer_11.entry.js.map +1 -0
  98. package/dist/esm/crm-bonus-note.entry.js +40 -65
  99. package/dist/esm/crm-bonus-note.entry.js.map +1 -1
  100. package/dist/esm/crmbonus-component-wake.js +1 -1
  101. package/dist/esm/{i18n-7938fb86.js → info.config.helper-e4b8c478.js} +14 -2
  102. package/dist/esm/info.config.helper-e4b8c478.js.map +1 -0
  103. package/dist/esm/loader.js +1 -1
  104. package/dist/esm/pedido-finalizado.entry.js +2 -2
  105. package/dist/types/Users/Darlison/Projects/Bycoders/crmbonus/crmbonus-component/.stencil/env.d.ts +1 -1
  106. package/dist/types/components/giftback-form/giftback-form.d.ts +0 -1
  107. package/dist/types/components/loading-container/container-empty.d.ts +3 -0
  108. package/dist/types/components/loading-container/loading-container.d.ts +1 -0
  109. package/dist/types/components/note/crm-bonus-note.d.ts +1 -3
  110. package/dist/types/components.d.ts +15 -26
  111. package/dist/types/utils/retry.utils.d.ts +1 -0
  112. package/package.json +1 -1
  113. package/dist/cjs/build.payload.helper-cfd3173e.js +0 -54
  114. package/dist/cjs/build.payload.helper-cfd3173e.js.map +0 -1
  115. package/dist/cjs/cart.helper-b08a12b2.js.map +0 -1
  116. package/dist/cjs/countdown-timer_2.cjs.entry.js +0 -74
  117. package/dist/cjs/countdown-timer_2.cjs.entry.js.map +0 -1
  118. package/dist/cjs/crm-bonus-2.cjs.entry.js +0 -33
  119. package/dist/cjs/crm-bonus-2.cjs.entry.js.map +0 -1
  120. package/dist/cjs/crm-bonus-tray.cjs.entry.js +0 -18
  121. package/dist/cjs/crm-bonus-tray.cjs.entry.js.map +0 -1
  122. package/dist/cjs/crm-bonus.cjs.entry.js +0 -284
  123. package/dist/cjs/crm-bonus.cjs.entry.js.map +0 -1
  124. package/dist/cjs/crm-giftback-form.cjs.entry.js +0 -282
  125. package/dist/cjs/crm-giftback-form.cjs.entry.js.map +0 -1
  126. package/dist/cjs/crm-tooltip_5.cjs.entry.js +0 -292
  127. package/dist/cjs/crm-tooltip_5.cjs.entry.js.map +0 -1
  128. package/dist/cjs/i18n-1ce6cb94.js.map +0 -1
  129. package/dist/cjs/info.config.helper-e35e6e20.js +0 -17
  130. package/dist/cjs/info.config.helper-e35e6e20.js.map +0 -1
  131. package/dist/cjs/loading-container.cjs.entry.js +0 -23
  132. package/dist/cjs/loading-container.cjs.entry.js.map +0 -1
  133. package/dist/cjs/loading-spinner.cjs.entry.js +0 -24
  134. package/dist/cjs/loading-spinner.cjs.entry.js.map +0 -1
  135. package/dist/collection/components/crm-bonus/crmbonus.js +0 -38
  136. package/dist/collection/components/crm-bonus/crmbonus.js.map +0 -1
  137. package/dist/collection/tray-ecommerce/crm-bonus-tray.js +0 -8
  138. package/dist/collection/tray-ecommerce/crm-bonus-tray.js.map +0 -1
  139. package/dist/components/crm-bonus-2.js +0 -57
  140. package/dist/components/crm-bonus-2.js.map +0 -1
  141. package/dist/components/crm-bonus-tray.d.ts +0 -11
  142. package/dist/components/crm-bonus-tray.js +0 -32
  143. package/dist/components/crm-bonus-tray.js.map +0 -1
  144. package/dist/components/p-0bb6b0e5.js.map +0 -1
  145. package/dist/components/p-b0ef2c0b.js +0 -52
  146. package/dist/components/p-b0ef2c0b.js.map +0 -1
  147. package/dist/components/p-c5be72a0.js.map +0 -1
  148. package/dist/components/p-c90ea2e9.js.map +0 -1
  149. package/dist/crmbonus-component-wake/p-1b441909.js +0 -2
  150. package/dist/crmbonus-component-wake/p-1b441909.js.map +0 -1
  151. package/dist/crmbonus-component-wake/p-22dc17d2.entry.js +0 -2
  152. package/dist/crmbonus-component-wake/p-22dc17d2.entry.js.map +0 -1
  153. package/dist/crmbonus-component-wake/p-4ed412c2.entry.js +0 -2
  154. package/dist/crmbonus-component-wake/p-4ed412c2.entry.js.map +0 -1
  155. package/dist/crmbonus-component-wake/p-54b8f32b.entry.js +0 -2
  156. package/dist/crmbonus-component-wake/p-54b8f32b.entry.js.map +0 -1
  157. package/dist/crmbonus-component-wake/p-558202ef.entry.js +0 -2
  158. package/dist/crmbonus-component-wake/p-558202ef.entry.js.map +0 -1
  159. package/dist/crmbonus-component-wake/p-61ea41c9.entry.js +0 -2
  160. package/dist/crmbonus-component-wake/p-6532623f.entry.js +0 -2
  161. package/dist/crmbonus-component-wake/p-6532623f.entry.js.map +0 -1
  162. package/dist/crmbonus-component-wake/p-702d5a6f.js.map +0 -1
  163. package/dist/crmbonus-component-wake/p-7d608b81.entry.js +0 -2
  164. package/dist/crmbonus-component-wake/p-7d608b81.entry.js.map +0 -1
  165. package/dist/crmbonus-component-wake/p-9d926857.entry.js +0 -2
  166. package/dist/crmbonus-component-wake/p-9d926857.entry.js.map +0 -1
  167. package/dist/crmbonus-component-wake/p-b0ef2c0b.js +0 -2
  168. package/dist/crmbonus-component-wake/p-b0ef2c0b.js.map +0 -1
  169. package/dist/crmbonus-component-wake/p-ce2819cc.entry.js +0 -2
  170. package/dist/crmbonus-component-wake/p-ce2819cc.entry.js.map +0 -1
  171. package/dist/crmbonus-component-wake/p-f37f3f3f.entry.js +0 -2
  172. package/dist/crmbonus-component-wake/p-f37f3f3f.entry.js.map +0 -1
  173. package/dist/esm/build.payload.helper-699a48ca.js +0 -52
  174. package/dist/esm/build.payload.helper-699a48ca.js.map +0 -1
  175. package/dist/esm/countdown-timer_2.entry.js +0 -69
  176. package/dist/esm/countdown-timer_2.entry.js.map +0 -1
  177. package/dist/esm/crm-bonus-2.entry.js +0 -29
  178. package/dist/esm/crm-bonus-2.entry.js.map +0 -1
  179. package/dist/esm/crm-bonus-tray.entry.js +0 -14
  180. package/dist/esm/crm-bonus-tray.entry.js.map +0 -1
  181. package/dist/esm/crm-bonus.entry.js +0 -280
  182. package/dist/esm/crm-bonus.entry.js.map +0 -1
  183. package/dist/esm/crm-giftback-form.entry.js +0 -278
  184. package/dist/esm/crm-giftback-form.entry.js.map +0 -1
  185. package/dist/esm/crm-tooltip_5.entry.js +0 -284
  186. package/dist/esm/crm-tooltip_5.entry.js.map +0 -1
  187. package/dist/esm/i18n-7938fb86.js.map +0 -1
  188. package/dist/esm/info.config.helper-7cad7a9c.js +0 -15
  189. package/dist/esm/info.config.helper-7cad7a9c.js.map +0 -1
  190. package/dist/esm/loading-container.entry.js +0 -19
  191. package/dist/esm/loading-container.entry.js.map +0 -1
  192. package/dist/esm/loading-spinner.entry.js +0 -20
  193. package/dist/esm/loading-spinner.entry.js.map +0 -1
  194. package/dist/types/components/crm-bonus/crmbonus.d.ts +0 -8
  195. package/dist/types/tray-ecommerce/crm-bonus-tray.d.ts +0 -3
  196. /package/dist/crmbonus-component-wake/{p-9b7bd1e1.entry.js.map → p-622d5644.entry.js.map} +0 -0
  197. /package/dist/crmbonus-component-wake/{p-61ea41c9.entry.js.map → p-7e52727e.entry.js.map} +0 -0
@@ -1,282 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const index = require('./index-a7537457.js');
6
- const cart_helper = require('./cart.helper-b08a12b2.js');
7
- const i18n = require('./i18n-1ce6cb94.js');
8
- const info_config_helper = require('./info.config.helper-e35e6e20.js');
9
-
10
- const giftbackFormCss = "*{margin:0;padding:0;box-sizing:border-box}:host{--crmfont-sizebodymd:14px;--crmline-heightbodymd:20px;--crmletter-spacingtitle-md:0px}.container-message{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:.875rem;line-height:1.25rem}.crm-title{font-weight:700;line-height:20px;color:#262626;}.crm-message-info{color:#619013;font-weight:500;}.crm-message-error{color:#E11D48;font-weight:500;}";
11
- const CrmGiftbackFormStyle0 = giftbackFormCss;
12
-
13
- const CrmBonus = class {
14
- constructor(hostRef) {
15
- index.registerInstance(this, hostRef);
16
- // private phoneInputMask: HTMLPhoneFormElement;
17
- this.crmBonusService = cart_helper.CrmBonusService.getInstance();
18
- this.storeName = undefined;
19
- this.cartId = undefined;
20
- this.products = undefined;
21
- this.customer = undefined;
22
- this.loadProducts = undefined;
23
- this.loadAll = undefined;
24
- this.customStyles = undefined;
25
- this.reservedInfo = undefined;
26
- this.value = undefined;
27
- this.loading = false;
28
- this.message = undefined;
29
- this.phone = undefined;
30
- this.pinInfo = undefined;
31
- this.step = i18n.StepFormEnum.STEP_RESERVE;
32
- this.bonus = undefined;
33
- this.sucess = "";
34
- this.error = "";
35
- this.config = undefined;
36
- this.hasApplyBonus = false;
37
- this.loadingAllComponent = false;
38
- }
39
- async setStep(step) {
40
- this.step = step;
41
- }
42
- async processBonus(products = [], hasNewProduct = false) {
43
- await this.loadProducts();
44
- this.sucess = "";
45
- console.log('processBonus', []);
46
- if (hasNewProduct) {
47
- this.products = products;
48
- }
49
- const _bonus = localStorage.getItem(cart_helper.getKeyReserveByCartId(this.cartId));
50
- if (_bonus) {
51
- const bonus = JSON.parse(_bonus);
52
- this.bonus = bonus;
53
- this.phone = bonus.phone;
54
- this.pinInfo = {
55
- storeId: bonus.storeId,
56
- userId: bonus.userId
57
- };
58
- await this.validateBonus("2018");
59
- //this.step = StepFormEnum.STEP_RESERVE;
60
- }
61
- }
62
- async handleSendPin(phone) {
63
- await this.loadAll();
64
- this.message = "";
65
- if (!phone) {
66
- this.message = "Informe seu telefone";
67
- return;
68
- }
69
- this.phone = phone;
70
- this.sendPin();
71
- }
72
- async componentWillLoad() {
73
- this.sucess = "";
74
- this.error = "";
75
- this.config = info_config_helper.getInfoCustomization(this.storeName);
76
- const phoneAgain = this.getPhoneNumberAgain();
77
- if (phoneAgain) {
78
- this.step = i18n.StepFormEnum.STEP_PHONE;
79
- return;
80
- }
81
- await this.processBonus();
82
- }
83
- getPhoneNumberAgain() {
84
- const consulta_bonus = localStorage.getItem(cart_helper.getKeyReserveByCartId(this.cartId));
85
- if (!consulta_bonus)
86
- return true;
87
- const bonus = JSON.parse(consulta_bonus);
88
- return !bonus.hasBonus;
89
- }
90
- convertStringToNumber() {
91
- var _a;
92
- const _phone = (_a = this.phone) === null || _a === void 0 ? void 0 : _a.replace(/\D/g, '');
93
- return Number(_phone);
94
- }
95
- async sendPin() {
96
- var _a, _b, _c;
97
- this.loading = true;
98
- this.message = "";
99
- this.sucess = "";
100
- this.error = "";
101
- try {
102
- const _phone = this.convertStringToNumber();
103
- const pinInfoCache = localStorage.getItem(`bc:${this.phone}`);
104
- if (!pinInfoCache) {
105
- this.pinInfo = await this.crmBonusService.sendPin(_phone, (_a = this.customer) === null || _a === void 0 ? void 0 : _a.name, this.storeName);
106
- }
107
- if (pinInfoCache) {
108
- const bonus = JSON.parse(pinInfoCache);
109
- this.pinInfo = {
110
- storeId: bonus.storeId,
111
- userId: bonus.userId
112
- };
113
- await this.validateBonus("2018");
114
- // this.step = StepFormEnum.STEP_RESERVE;
115
- }
116
- else {
117
- this.step = i18n.StepFormEnum.STEP_PIN;
118
- }
119
- }
120
- catch (error) {
121
- this.message = (_c = (_b = error === null || error === void 0 ? void 0 : error.response) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.message;
122
- }
123
- finally {
124
- this.loading = false;
125
- }
126
- }
127
- changePhone() {
128
- this.sucess = "";
129
- this.error = "";
130
- this.step = i18n.StepFormEnum.STEP_PHONE;
131
- }
132
- async validateBonus(pin) {
133
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
134
- this.loadingAllComponent = true;
135
- await this.loadProducts();
136
- const used_or_no = localStorage.getItem(cart_helper.USED_KEY);
137
- if (used_or_no == "dontUse") {
138
- this.step = i18n.StepFormEnum.STEP_RESERVE;
139
- return;
140
- }
141
- this.loading = true;
142
- this.sucess = "";
143
- this.error = "";
144
- const storeId = ((_a = this.pinInfo) === null || _a === void 0 ? void 0 : _a.storeId) || ((_c = (_b = this.reservedInfo) === null || _b === void 0 ? void 0 : _b.metadata) === null || _c === void 0 ? void 0 : _c.storeId);
145
- const userId = ((_d = this.pinInfo) === null || _d === void 0 ? void 0 : _d.userId) || ((_f = (_e = this.reservedInfo) === null || _e === void 0 ? void 0 : _e.metadata) === null || _f === void 0 ? void 0 : _f.userId);
146
- const cellphone = (_h = (_g = this.reservedInfo) === null || _g === void 0 ? void 0 : _g.metadata) === null || _h === void 0 ? void 0 : _h.cellphone;
147
- const payload = {
148
- pin: pin,
149
- cellphone: cellphone || this.convertStringToNumber(),
150
- storeId: storeId.toString(),
151
- userId: userId.toString(),
152
- checkoutId: this.cartId,
153
- checkoutProducts: this.products,
154
- name: (_j = this.customer) === null || _j === void 0 ? void 0 : _j.name,
155
- storeName: this.storeName
156
- };
157
- try {
158
- this.bonus = await this.crmBonusService.validatePinBonus(payload);
159
- if (!this.bonus.hasBonus) {
160
- localStorage.setItem(cart_helper.getKeyReserveByCartId(this.cartId), JSON.stringify(Object.assign(Object.assign({}, this.bonus), { phone: this.phone })));
161
- this.loading = false;
162
- this.step = i18n.StepFormEnum.STEP_NO_BONUS;
163
- return;
164
- }
165
- this.sucess = "Código validado com sucesso!";
166
- localStorage.setItem(cart_helper.getKeyReserveByCartId(this.cartId), JSON.stringify(Object.assign(Object.assign({}, this.bonus), { phone: this.phone })));
167
- localStorage.setItem(`bc:${this.phone}`, JSON.stringify(this.bonus));
168
- localStorage.setItem(cart_helper.USED_KEY, "use");
169
- localStorage.setItem(this.cartId, this.bonus.bonusBalance.toString());
170
- this.updateMetadata({ storeId: Number(storeId), userId: Number(userId) }, payload.cellphone);
171
- console.log('RESERVE', this.bonus);
172
- this.step = i18n.StepFormEnum.STEP_RESERVE;
173
- }
174
- catch (error) {
175
- const _error = (_l = (_k = error === null || error === void 0 ? void 0 : error.response) === null || _k === void 0 ? void 0 : _k.data) === null || _l === void 0 ? void 0 : _l.response;
176
- const response = (_m = error === null || error === void 0 ? void 0 : error.response) === null || _m === void 0 ? void 0 : _m.data;
177
- if (_error && _error.includes("Pin")) {
178
- this.error = "Código inválido!";
179
- }
180
- else if ([403, 500].includes(response.statusCode)) {
181
- this.error = "ocorreu um error, atualize a pagina e tente novamente!";
182
- }
183
- else {
184
- this.error = _error;
185
- this.step = i18n.StepFormEnum.STEP_NO_BONUS;
186
- }
187
- }
188
- finally {
189
- this.loading = false;
190
- this.loadingAllComponent = false;
191
- }
192
- }
193
- async updateMetadata(pinInfo, cellphone) {
194
- try {
195
- if (this.reservedInfo.isExpired()) {
196
- console.log('[CRM:updateMetadata]');
197
- await cart_helper.persisteMetadata(this.storeName, this.cartId, {
198
- createdAt: Date.now(),
199
- url: window.location.href,
200
- storeId: pinInfo.storeId,
201
- userId: pinInfo.userId,
202
- cellphone: cellphone,
203
- });
204
- localStorage.removeItem("bc:time");
205
- }
206
- else {
207
- await cart_helper.persisteMetadata(this.storeName, this.cartId, {
208
- url: window.location.href,
209
- storeId: pinInfo.storeId,
210
- userId: pinInfo.userId,
211
- cellphone: cellphone,
212
- });
213
- }
214
- }
215
- catch (error) {
216
- console.error('[CRMBONUS:updateMetadata]: ', error);
217
- }
218
- }
219
- handleCancel() {
220
- // this.step = StepFormEnum.STEP_PHONE;
221
- this.cancel();
222
- }
223
- async cancel() {
224
- this.message = "";
225
- this.loading = true;
226
- try {
227
- await this.crmBonusService.cancel(this.cartId);
228
- localStorage.setItem(cart_helper.USED_KEY, "dontUse");
229
- this.save(0);
230
- await this.updateMetadata({ storeId: null, userId: null }, null);
231
- }
232
- catch (error) {
233
- this.message = "Não consegui cancelar o bônus, tente novamente!";
234
- }
235
- finally {
236
- this.loading = false;
237
- }
238
- }
239
- async reserveApply(amount) {
240
- this.loading = true;
241
- this.message = "";
242
- try {
243
- await this.reserve(amount);
244
- this.save(amount);
245
- }
246
- catch (error) {
247
- this.message = "ocorreu um error ao solicitar a aplicação do bonus! tente novamente";
248
- this.step = i18n.StepFormEnum.STEP_NO_BONUS;
249
- localStorage.removeItem(this.cartId);
250
- }
251
- finally {
252
- this.loading = false;
253
- }
254
- }
255
- save(amount) {
256
- localStorage.setItem(this.cartId, amount.toString());
257
- }
258
- async reserve(amount) {
259
- await this.crmBonusService.reserve({
260
- redeemedBonus: amount,
261
- cartId: this.cartId,
262
- ticket: this.cartId,
263
- grossValue: Number(this.bonus.totalValue),
264
- storeName: this.storeName,
265
- storeId: this.bonus.storeId.toString(),
266
- userId: this.bonus.userId
267
- });
268
- }
269
- render() {
270
- console.log("cartId", this.cartId);
271
- return (index.h("div", { key: 'ec6f957d4b375fd6abe2c11eeae23fa69dfa2ac8', class: "crm-container-form fbits-responsive-carrinho-desconto", style: this.customStyles }, index.h("label", { key: 'a743c2f5565c5403f6daba01f45a1dc665fde99d', class: "crm-title" }, this.config.giftbackTitle), this.error && (index.h("label", { key: 'e5dcc4b20685bac97fc12c6153d68939e0f88956', class: "crm-message-error" }, this.error)), this.step === i18n.StepFormEnum.STEP_PHONE &&
272
- index.h("phone-form", { key: '1f2bc519ec31f4293c75d5284c9fa4fa593187f2', value: this.customer.phone, config: this.config, loading: this.loading, handlerSubmit: (phone) => this.handleSendPin(phone) }), this.step === i18n.StepFormEnum.STEP_PIN &&
273
- index.h("pin-form", { key: '7ff43b9a51a638feafda8dbefd8f641546037fa4', config: this.config, phone: this.phone, cancel: () => this.changePhone(), resend: () => this.sendPin(), validate: (data) => this.validateBonus(data), loading: this.loading }, this.sucess && index.h("p", { key: 'ff486afaf126a8cbeeabc6a11d9647e9cf5b22dd', class: "crm-message-info" }, this.sucess), this.error && index.h("p", { key: '444f7fdfd86a05884086eff15e9aa3b4fface993', class: "crm-message-error" }, this.error)), this.step === i18n.StepFormEnum.STEP_RESERVE &&
274
- index.h("giftback-info", { key: 'cbeb32249da8c5fa088b43e6c2c94eb427fea6a4', storeName: this.storeName, infoBonus: this.reservedInfo, config: this.config, loading: this.loading, cancel: () => this.handleCancel(), bonus: this.bonus, reserve: () => this.processBonus(), cartId: this.cartId }), this.step === i18n.StepFormEnum.STEP_NO_BONUS &&
275
- (index.h("div", { key: '3d1c697af1c4b495f928b493f9c056bb7b84042a', class: "container-message" }, i18n.instance.t("noGiftback", { storename: this.config.giftbackTitle })))));
276
- }
277
- };
278
- CrmBonus.style = CrmGiftbackFormStyle0;
279
-
280
- exports.crm_giftback_form = CrmBonus;
281
-
282
- //# sourceMappingURL=crm-giftback-form.cjs.entry.js.map
@@ -1 +0,0 @@
1
- {"file":"crm-giftback-form.entry.cjs.js","mappings":"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","names":["CrmBonusService","StepFormEnum","getKeyReserveByCartId","getInfoCustomization","USED_KEY","persisteMetadata","h","i18next"],"sources":["src/components/giftback-form/giftback-form.css?tag=crm-giftback-form","src/components/giftback-form/giftback-form.tsx"],"sourcesContent":["* {\r\n margin: 0;\r\n padding: 0;\r\n box-sizing: border-box;\r\n}\r\n\r\n:host {\r\n --crmfont-sizebodymd: 14px;\r\n --crmline-heightbodymd: 20px;\r\n --crmletter-spacingtitle-md: 0px\r\n}\r\n\r\n.container-message {\r\n /* font-size: var(--crmfont-sizebodymd); */\r\n font-weight: 400;\r\n line-height: var(--crmline-heightbodymd);\r\n letter-spacing: var(--crmletter-spacingtitle-md);\r\n text-align: left;\r\n text-underline-position: from-font;\r\n text-decoration-skip-ink: none;\r\n}\r\n\r\n.crm-container-form {\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-around;\r\n height: auto;\r\n padding: 20px 24px 20px 24px;\r\n border: 1px solid #CCCC;\r\n writing-mode: horizontal-tb;\r\n gap: 16px;\r\n border-top: 1px solid #ccc !important;\r\n border-bottom: 1px solid #ccc !important;\r\n}\r\n\r\n/* .fbits-responsive-carrinho-desconto {\r\n overflow: hidden;\r\n border: 1px solid #ccc;\r\n border-top: 0;\r\n border-bottom: 0;\r\n} */\r\n\r\n.crm-phone-form {\r\n display: flex;\r\n flex-direction: column;\r\n height: 100%;\r\n /* justify-content: space-around; */\r\n gap: 16px;\r\n}\r\n\r\n.crm-subtitle {\r\n /* font-size: 14px; */\r\n font-size: .875rem;\r\n line-height: 1.25rem;\r\n \r\n}\r\n\r\n.crm-title {\r\n font-weight: 700;\r\n line-height: 20px;\r\n color: #262626;\r\n /* font-size: 16px; */\r\n}\r\n\r\n.crm-message-info {\r\n color: #619013;\r\n font-weight: 500;\r\n /* font-size: 12px; */\r\n}\r\n\r\n.crm-message-error {\r\n color: #E11D48;\r\n font-weight: 500;\r\n /* font-size: 12px; */\r\n}","import { Component, Method, Prop, State, h } from \"@stencil/core\";\r\nimport { CrmBonusService } from \"../../services/crmbonus.service\";\r\nimport { StepFormEnum } from \"../../contants\";\r\nimport { IPinSent } from '../../dto/pin.sent'\r\nimport { IBonus, ICustomer, IProccesPinBonusDto, IProduct } from \"../../dto/validate.pin.bonus\";\r\nimport { IInfoStore, getInfoCustomization } from \"../../helpers/info.config.helper\";\r\n\r\nimport i18next from \"../../i18n/i18n\"\r\nimport { USED_KEY, getKeyReserveByCartId } from \"../../utils/keys.storage\";\r\nimport { persisteMetadata } from \"../../helpers/cart.helper\";\r\nimport { ReservedInfoDTO } from \"../../dto/reserved-info.dto\";\r\n\r\n@Component({\r\n tag: 'crm-giftback-form',\r\n styleUrl: 'giftback-form.css',\r\n shadow: false\r\n})\r\nexport class CrmBonus {\r\n // private phoneInputMask: HTMLPhoneFormElement;\r\n\r\n private crmBonusService: CrmBonusService = CrmBonusService.getInstance();\r\n\r\n @Prop({ attribute: 'storename' }) storeName;\r\n @Prop() cartId;\r\n @Prop() products: Array<IProduct>;\r\n @Prop() customer: ICustomer;\r\n @Prop() loadProducts: () => void;\r\n @Prop() loadAll: () => void;\r\n\r\n @Prop() customStyles;\r\n @Prop() reservedInfo: ReservedInfoDTO;\r\n\r\n @State() value: string;\r\n @State() loading: boolean = false;\r\n @State() message: string;\r\n @State() phone: string;\r\n @State() pinInfo: IPinSent;\r\n @State() step: StepFormEnum = StepFormEnum.STEP_RESERVE;\r\n @State() bonus: IBonus;\r\n\r\n @State() sucess: string = \"\";\r\n @State() error: string = \"\";\r\n @State() config: IInfoStore;\r\n @State() hasApplyBonus = false;\r\n\r\n @State() loadingAllComponent = false;\r\n\r\n @Method()\r\n async setStep(step: StepFormEnum) {\r\n this.step = step\r\n }\r\n\r\n @Method()\r\n async processBonus(products: IProduct[] = [], hasNewProduct = false) {\r\n await this.loadProducts();\r\n this.sucess = \"\";\r\n\r\n console.log('processBonus', [])\r\n if (hasNewProduct) {\r\n this.products = products;\r\n }\r\n\r\n const _bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\r\n\r\n if (_bonus) {\r\n\r\n const bonus = JSON.parse(_bonus)\r\n\r\n this.bonus = bonus;\r\n\r\n this.phone = bonus.phone;\r\n this.pinInfo = {\r\n storeId: bonus.storeId,\r\n userId: bonus.userId\r\n }\r\n\r\n await this.validateBonus(\"2018\");\r\n //this.step = StepFormEnum.STEP_RESERVE;\r\n\r\n }\r\n }\r\n\r\n async handleSendPin(phone: string) {\r\n await this.loadAll()\r\n this.message = \"\"\r\n if (!phone) {\r\n this.message = \"Informe seu telefone\";\r\n return;\r\n }\r\n\r\n this.phone = phone;\r\n\r\n this.sendPin();\r\n }\r\n\r\n async componentWillLoad() {\r\n this.sucess = \"\";\r\n this.error = \"\"\r\n this.config = getInfoCustomization(this.storeName);\r\n\r\n const phoneAgain = this.getPhoneNumberAgain();\r\n\r\n if (phoneAgain) {\r\n this.step = StepFormEnum.STEP_PHONE;\r\n return\r\n }\r\n\r\n await this.processBonus();\r\n\r\n }\r\n\r\n getPhoneNumberAgain() {\r\n const consulta_bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\r\n\r\n if (!consulta_bonus) return true;\r\n\r\n const bonus = JSON.parse(consulta_bonus);\r\n\r\n return !bonus.hasBonus;\r\n }\r\n\r\n private convertStringToNumber(): number {\r\n const _phone = this.phone?.replace(/\\D/g, '');\r\n return Number(_phone);\r\n }\r\n\r\n public async sendPin() {\r\n this.loading = true;\r\n this.message = \"\";\r\n this.sucess = \"\";\r\n this.error = \"\"\r\n\r\n try {\r\n\r\n const _phone = this.convertStringToNumber();\r\n const pinInfoCache = localStorage.getItem(`bc:${this.phone}`);\r\n\r\n if (!pinInfoCache) {\r\n this.pinInfo = await this.crmBonusService.sendPin(_phone, this.customer?.name, this.storeName);\r\n }\r\n\r\n if (pinInfoCache) {\r\n\r\n const bonus = JSON.parse(pinInfoCache);\r\n\r\n this.pinInfo = {\r\n storeId: bonus.storeId,\r\n userId: bonus.userId\r\n }\r\n\r\n await this.validateBonus(\"2018\");\r\n // this.step = StepFormEnum.STEP_RESERVE;\r\n } else {\r\n this.step = StepFormEnum.STEP_PIN;\r\n }\r\n\r\n } catch (error) {\r\n this.message = error?.response?.data?.message\r\n } finally {\r\n this.loading = false\r\n }\r\n }\r\n\r\n changePhone() {\r\n this.sucess = \"\";\r\n this.error = \"\"\r\n this.step = StepFormEnum.STEP_PHONE;\r\n }\r\n\r\n public async validateBonus(pin: string) {\r\n this.loadingAllComponent = true;\r\n await this.loadProducts();\r\n\r\n const used_or_no = localStorage.getItem(USED_KEY);\r\n\r\n if (used_or_no == \"dontUse\") {\r\n this.step = StepFormEnum.STEP_RESERVE;\r\n return\r\n }\r\n\r\n this.loading = true;\r\n this.sucess = \"\";\r\n this.error = \"\";\r\n\r\n const storeId = this.pinInfo?.storeId || this.reservedInfo?.metadata?.storeId;\r\n const userId = this.pinInfo?.userId || this.reservedInfo?.metadata?.userId;\r\n const cellphone = this.reservedInfo?.metadata?.cellphone;\r\n\r\n const payload: IProccesPinBonusDto = {\r\n pin: pin,\r\n cellphone: cellphone || this.convertStringToNumber(),\r\n storeId: storeId.toString(),\r\n userId: userId.toString(),\r\n checkoutId: this.cartId,\r\n checkoutProducts: this.products,\r\n name: this.customer?.name,\r\n storeName: this.storeName\r\n }\r\n\r\n try {\r\n this.bonus = await this.crmBonusService.validatePinBonus(payload);\r\n\r\n if (!this.bonus.hasBonus) {\r\n\r\n localStorage.setItem(getKeyReserveByCartId(this.cartId), JSON.stringify({ ...this.bonus, phone: this.phone }));\r\n\r\n this.loading = false;\r\n this.step = StepFormEnum.STEP_NO_BONUS;\r\n return\r\n }\r\n\r\n this.sucess = \"Código validado com sucesso!\";\r\n localStorage.setItem(getKeyReserveByCartId(this.cartId), JSON.stringify({ ...this.bonus, phone: this.phone }));\r\n localStorage.setItem(`bc:${this.phone}`, JSON.stringify(this.bonus));\r\n\r\n localStorage.setItem(USED_KEY, \"use\");\r\n localStorage.setItem(this.cartId, this.bonus.bonusBalance.toString());\r\n\r\n this.updateMetadata({ storeId: Number(storeId), userId: Number(userId) }, payload.cellphone);\r\n\r\n console.log('RESERVE', this.bonus)\r\n this.step = StepFormEnum.STEP_RESERVE;\r\n\r\n } catch (error) {\r\n const _error: string = error?.response?.data?.response;\r\n const response = error?.response?.data;\r\n\r\n if (_error && _error.includes(\"Pin\")) {\r\n this.error = \"Código inválido!\"\r\n } else if ([403, 500].includes(response.statusCode)) {\r\n this.error = \"ocorreu um error, atualize a pagina e tente novamente!\"\r\n } else {\r\n this.error = _error;\r\n this.step = StepFormEnum.STEP_NO_BONUS;\r\n }\r\n } finally {\r\n this.loading = false;\r\n this.loadingAllComponent = false;\r\n }\r\n }\r\n\r\n private async updateMetadata(pinInfo: IPinSent, cellphone: number) {\r\n try {\r\n if (this.reservedInfo.isExpired()) {\r\n console.log('[CRM:updateMetadata]')\r\n await persisteMetadata(this.storeName, this.cartId, {\r\n createdAt: Date.now(),\r\n url: window.location.href,\r\n storeId: pinInfo.storeId,\r\n userId: pinInfo.userId,\r\n cellphone: cellphone,\r\n });\r\n\r\n localStorage.removeItem(\"bc:time\");\r\n } else {\r\n await persisteMetadata(this.storeName, this.cartId, {\r\n url: window.location.href,\r\n storeId: pinInfo.storeId,\r\n userId: pinInfo.userId,\r\n cellphone: cellphone,\r\n });\r\n }\r\n } catch (error) {\r\n console.error('[CRMBONUS:updateMetadata]: ', error);\r\n }\r\n }\r\n\r\n public handleCancel() {\r\n // this.step = StepFormEnum.STEP_PHONE;\r\n this.cancel()\r\n }\r\n\r\n async cancel() {\r\n this.message = \"\";\r\n this.loading = true;\r\n try {\r\n await this.crmBonusService.cancel(this.cartId);\r\n\r\n localStorage.setItem(USED_KEY, \"dontUse\");\r\n this.save(0)\r\n await this.updateMetadata({ storeId: null, userId: null }, null);\r\n } catch (error) {\r\n this.message = \"Não consegui cancelar o bônus, tente novamente!\"\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n public async reserveApply(amount: number) {\r\n this.loading = true;\r\n this.message = \"\";\r\n try {\r\n await this.reserve(amount);\r\n this.save(amount);\r\n\r\n } catch (error) {\r\n this.message = \"ocorreu um error ao solicitar a aplicação do bonus! tente novamente\"\r\n\r\n this.step = StepFormEnum.STEP_NO_BONUS;\r\n localStorage.removeItem(this.cartId);\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n save(amount: number) {\r\n localStorage.setItem(this.cartId, amount.toString());\r\n }\r\n\r\n public async reserve(amount: number) {\r\n\r\n await this.crmBonusService.reserve({\r\n redeemedBonus: amount,\r\n cartId: this.cartId,\r\n ticket: this.cartId,\r\n grossValue: Number(this.bonus.totalValue),\r\n storeName: this.storeName,\r\n storeId: this.bonus.storeId.toString(),\r\n userId: this.bonus.userId\r\n });\r\n }\r\n\r\n render() {\r\n console.log(\"cartId\", this.cartId);\r\n\r\n return (\r\n <div class=\"crm-container-form fbits-responsive-carrinho-desconto\" style={this.customStyles} >\r\n \r\n {/* <loading-container /> */}\r\n\r\n <label class=\"crm-title\">{this.config.giftbackTitle}</label>\r\n\r\n {\r\n this.error && (<label class=\"crm-message-error\">{this.error}</label>)\r\n }\r\n\r\n {this.step === StepFormEnum.STEP_PHONE &&\r\n <phone-form\r\n value={this.customer.phone}\r\n config={this.config}\r\n loading={this.loading}\r\n handlerSubmit={(phone) => this.handleSendPin(phone)}\r\n />}\r\n {\r\n this.step === StepFormEnum.STEP_PIN &&\r\n <pin-form\r\n config={this.config}\r\n phone={this.phone}\r\n cancel={() => this.changePhone()}\r\n resend={() => this.sendPin()}\r\n validate={(data) => this.validateBonus(data)}\r\n loading={this.loading}\r\n >\r\n {this.sucess && <p class=\"crm-message-info\">{this.sucess}</p>}\r\n {this.error && <p class=\"crm-message-error\">{this.error}</p>}\r\n\r\n </pin-form>\r\n }\r\n\r\n {\r\n this.step === StepFormEnum.STEP_RESERVE &&\r\n <giftback-info\r\n storeName={this.storeName}\r\n infoBonus={this.reservedInfo}\r\n config={this.config}\r\n loading={this.loading}\r\n cancel={() => this.handleCancel()}\r\n bonus={this.bonus}\r\n reserve={() => this.processBonus()}\r\n cartId={this.cartId}\r\n />\r\n }\r\n\r\n {\r\n this.step === StepFormEnum.STEP_NO_BONUS &&\r\n (\r\n <div class=\"container-message\">\r\n {i18next.t(\"noGiftback\", { storename: this.config.giftbackTitle })}\r\n </div>\r\n )\r\n\r\n }\r\n </div>\r\n )\r\n }\r\n}"],"version":3}
@@ -1,292 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const index = require('./index-a7537457.js');
6
- const i18n = require('./i18n-1ce6cb94.js');
7
- const cart_helper = require('./cart.helper-b08a12b2.js');
8
- const utils = require('./utils-5d59acb1.js');
9
-
10
- const infoCircleSvgrepoComSvg = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tIFVwbG9hZGVkIHRvOiBTVkcgUmVwbywgd3d3LnN2Z3JlcG8uY29tLCBHZW5lcmF0b3I6IFNWRyBSZXBvIE1peGVyIFRvb2xzIC0tPg0KPHN2ZyB3aWR0aD0iODAwcHgiIGhlaWdodD0iODAwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik0xMiAxNy43NUMxMi40MTQyIDE3Ljc1IDEyLjc1IDE3LjQxNDIgMTIuNzUgMTdWMTFDMTIuNzUgMTAuNTg1OCAxMi40MTQyIDEwLjI1IDEyIDEwLjI1QzExLjU4NTggMTAuMjUgMTEuMjUgMTAuNTg1OCAxMS4yNSAxMVYxN0MxMS4yNSAxNy40MTQyIDExLjU4NTggMTcuNzUgMTIgMTcuNzVaIiBmaWxsPSIjMUMyNzRDIi8+DQo8cGF0aCBkPSJNMTIgN0MxMi41NTIzIDcgMTMgNy40NDc3MiAxMyA4QzEzIDguNTUyMjggMTIuNTUyMyA5IDEyIDlDMTEuNDQ3NyA5IDExIDguNTUyMjggMTEgOEMxMSA3LjQ0NzcyIDExLjQ0NzcgNyAxMiA3WiIgZmlsbD0iIzFDMjc0QyIvPg0KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xLjI1IDEyQzEuMjUgNi4wNjI5NCA2LjA2Mjk0IDEuMjUgMTIgMS4yNUMxNy45MzcxIDEuMjUgMjIuNzUgNi4wNjI5NCAyMi43NSAxMkMyMi43NSAxNy45MzcxIDE3LjkzNzEgMjIuNzUgMTIgMjIuNzVDNi4wNjI5NCAyMi43NSAxLjI1IDE3LjkzNzEgMS4yNSAxMlpNMTIgMi43NUM2Ljg5MTM3IDIuNzUgMi43NSA2Ljg5MTM3IDIuNzUgMTJDMi43NSAxNy4xMDg2IDYuODkxMzcgMjEuMjUgMTIgMjEuMjVDMTcuMTA4NiAyMS4yNSAyMS4yNSAxNy4xMDg2IDIxLjI1IDEyQzIxLjI1IDYuODkxMzcgMTcuMTA4NiAyLjc1IDEyIDIuNzVaIiBmaWxsPSIjMUMyNzRDIi8+DQo8L3N2Zz4=';
11
-
12
- const crmTooltipCss = ".crm-tooltip-container {\r\n display: flex;\r\n\r\n & img {\r\n width: 16px;\r\n margin-left: 3px;\r\n position: relative;\r\n }\r\n}\r\n\r\n.crm-tooltip {\r\n position: relative;\r\n display: inline-block;\r\n}\r\n\r\n.crm-tooltip .tooltiptext {\r\n visibility: hidden;\r\n background-color: black;\r\n color: #fff;\r\n text-align: center;\r\n padding: 8px 12px;\r\n border-radius: 0px;\r\n position: absolute;\r\n z-index: 1;\r\n min-width: 271px;\r\n top: 100%;\r\n left: 50%;\r\n margin-left: -238px;\r\n}\r\n\r\n@container (max-width: 410px) {\r\n .crm-tooltip .tooltiptext {\r\n margin-left: -14px;\r\n }\r\n\r\n .crm-tooltip #crm-role-description {\r\n margin-left: -151px;\r\n }\r\n}\r\n\r\n@container (max-width: 250px) {\r\n .crm-tooltip .tooltiptext {\r\n margin-left: -201px;\r\n }\r\n}\r\n\r\n.crm-tooltip:hover .tooltiptext {\r\n visibility: visible;\r\n}";
13
- const CrmTooltipStyle0 = crmTooltipCss;
14
-
15
- const Tooltip = class {
16
- constructor(hostRef) {
17
- index.registerInstance(this, hostRef);
18
- this.text = undefined;
19
- this.identity = undefined;
20
- }
21
- render() {
22
- return (index.h("div", { key: 'f6eb9b4e67680d56d3a456335ccd850cd9d121bb', class: "crm-tooltip-container crm-tooltip" }, index.h("img", { key: 'a56e738aedaa6c18071825d2c9380bf81d15b839', src: infoCircleSvgrepoComSvg }), index.h("span", { key: 'd596a79359a295f8a8add81b55fe69d5f879d0d5', id: this.identity, class: "tooltiptext" }, this.text)));
23
- }
24
- };
25
- Tooltip.style = CrmTooltipStyle0;
26
-
27
- const giftbackInfoCss = ":host{--text-color:#6D6D5F}.giftback-container{display:flex;flex-direction:column;gap:14px}h3{margin-bottom:8px;color:#333}.container-description{display:flex;align-items:center;gap:5px;margin:0 0 10px 0}.container-description p{font-weight:400;margin:0px}p{color:#000}.value-display h2{color:#6D6D5F;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 0px 3px 3px}input[type=\"range\"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:rgb(109, 109, 95);border-radius:50%;cursor:pointer}.options{margin:0px 0;display:flex;gap:10px;flex-direction:column}.options label{display:flex;margin:0px 0;color:#333;align-items:center}.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;color:#262626;line-height:20px}.info-icon{cursor:pointer;color:#888}h3{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-weight:700;color:var(--text-color);transform:translateX(-50%);white-space:nowrap;}.options-option{display:flex}";
28
- const GiftbackInfoStyle0 = giftbackInfoCss;
29
-
30
- const GiftbackInfo = class {
31
- constructor(hostRef) {
32
- index.registerInstance(this, hostRef);
33
- this.usedValue = 0;
34
- this.selectedOption = 'none';
35
- this.cartId = undefined;
36
- this.loading = false;
37
- this.bonus = {
38
- totalBonus: 0,
39
- cartId: "",
40
- minimumPurchase: 0,
41
- bonusBalance: 0,
42
- calculatedValue: 0,
43
- firstValidityDate: "",
44
- totalValue: 0
45
- };
46
- this.reserve = undefined;
47
- this.cancel = undefined;
48
- this.config = undefined;
49
- this.infoBonus = undefined;
50
- this.storeName = undefined;
51
- this.sliderPosition = 0;
52
- this.sliderValuePosition = 0;
53
- this.loadingTime = false;
54
- }
55
- changedBonus() {
56
- this.updateBonus();
57
- }
58
- updateBonus() {
59
- this.usedValue = this.bonus.bonusBalance;
60
- this.buildPositionSlider(0, this.bonus.totalBonus);
61
- }
62
- componentWillLoad() {
63
- this.updateBonus();
64
- this.selectedOption = localStorage.getItem(cart_helper.USED_KEY);
65
- }
66
- handleSliderChange(event) {
67
- const input = event.target;
68
- this.usedValue = parseFloat(input.value);
69
- // Calculando a posição do texto com base no valor do slider
70
- // const percentage = ((this.usedValue - parseInt(input.min)) / (parseInt(input.max) - parseInt(input.min))) * 100;
71
- // this.sliderPosition = percentage;
72
- this.buildPositionSlider(parseFloat(input.min), parseFloat(input.max));
73
- }
74
- componentDidLoad() {
75
- var _a;
76
- if (this.bonus) {
77
- this._refIinputRange.value = (_a = this.bonus) === null || _a === void 0 ? void 0 : _a.bonusBalance.toString();
78
- }
79
- }
80
- buildPositionSlider(min, max) {
81
- const percentage_init = max * 0.1;
82
- // Calculando a posição do texto com base no valor do slider
83
- const percentage = ((this.usedValue - min) / (max - min)) * 100;
84
- this.sliderPosition = percentage;
85
- this.sliderValuePosition = percentage + (this.usedValue <= percentage_init ? 10 : 0);
86
- }
87
- async handleOptionChange(option) {
88
- this.selectedOption = option;
89
- localStorage.setItem(cart_helper.USED_KEY, option);
90
- await cart_helper.persisteMetadata(this.storeName, this.cartId, Object.assign(Object.assign({}, this.infoBonus.metadata), { createdAt: null }));
91
- switch (this.selectedOption) {
92
- case 'use':
93
- await this.reserve(this.usedValue);
94
- break;
95
- case 'dontUse':
96
- await this.cancel();
97
- break;
98
- }
99
- }
100
- showTime() {
101
- if (!this.infoBonus)
102
- return false;
103
- return !this.infoBonus.isExpired();
104
- // return this.infoBonus.isBonusProcessed
105
- }
106
- getTime() {
107
- var _a, _b;
108
- const createdAt = new Date((_b = (_a = this.infoBonus) === null || _a === void 0 ? void 0 : _a.metadata) === null || _b === void 0 ? void 0 : _b.createdAt);
109
- const expiration = new Date(createdAt);
110
- expiration.setMinutes(expiration.getMinutes() + 6);
111
- return {
112
- createdAt,
113
- expiration
114
- };
115
- }
116
- async downtime() {
117
- await cart_helper.persisteMetadata(this.storeName, this.bonus.cartId, {
118
- createdAt: null,
119
- });
120
- }
121
- render() {
122
- var _a, _b, _c, _d, _e, _f, _g;
123
- console.log('this.bonus', this.bonus);
124
- const remainingGiftback = this.bonus.minimumPurchase - this.bonus.totalValue;
125
- const translateDescription = i18n.instance.t("giftDescription", { amount: `${(_b = (_a = this.bonus) === null || _a === void 0 ? void 0 : _a.totalBonus) === null || _b === void 0 ? void 0 : _b.toFixed(2).replace(".", ",")}`, custom_name: "Giftback" });
126
- const limit = utils.defineLimit(remainingGiftback);
127
- return (index.h("div", { key: '251849dcd0ee6d93cf4698997dc24e6e49790508', class: "giftback-container" }, index.h("div", { key: '92ddf91fd103a013a1b51ffbd1cbca4d6d152871', class: "container-description" }, index.h("p", { key: '65905baf07a9e34897f582456055babe61914307', innerHTML: translateDescription }), index.h("crm-tooltip", { key: '9eaf65a6fab8ad3841359416a20b33f95c8cbb7f', identity: "crm-role-description", text: i18n.instance.t("labelUseGiftback", { minimumPurchase: this.bonus.minimumPurchase, expírationDate: utils.formatDateToBr(this.bonus.firstValidityDate) }) })), index.h("div", { key: '93cd9be26b78817932acd89fca9f084c3d2238f3', class: "slider-wrapper" }, index.h("div", { key: '6ad83282c9269b366ede9dbd72ce046167b131d5', class: "slider-value", style: {
128
- left: `calc(${this.sliderValuePosition}% - 20px)`, // Ajuste para centralizar o texto
129
- } }, "R$ ", this.usedValue.toFixed(2).replace(".", ",")), index.h("input", { key: '77889b653c213eb74ad9e90cc180b0f37f2fd147', ref: ref => this._refIinputRange = ref, id: "position_value_id", disabled: true, type: "range", min: "0", max: this.bonus.totalBonus, value: this.usedValue, class: "slider", step: "0.01", onInput: (event) => this.handleSliderChange(event), style: {
130
- background: `linear-gradient(to right, #6D6D5F ${this.sliderPosition}%, #ddd ${this.sliderPosition}%)`,
131
- } })), limit.isComplete && (index.h("p", { key: 'c003334375b24df8747bf9d7318c33c61ff3ae65' }, i18n.instance.t("maxAmount"))), !limit.isComplete && (index.h("div", { key: 'e83765c2c9b1216e5925cc3c80acaeaaaebac413', class: "container-description" }, index.h("p", { key: 'a107fa566fe77be6e415f4f5612ef3331c866b91' }, "Adicione ", index.h("strong", { key: '0120a2973c571bc0c02bf928009052e97c9fd200' }, "R$ ", remainingGiftback < 0 ? "0,00" : remainingGiftback.toFixed(2).replace(".", ",")), " ao carrinho para atingir o valor m\u00E1ximo!"), index.h("crm-tooltip", { key: '575e50fe8993d511fd147e7ca424e44aa9007f23', identity: "crm-max-description", text: i18n.instance.t("labelamountPartial") }))), index.h("div", { key: '818aa27228db4427deea9ac375e8876b4c21a920', class: "options" }, index.h("div", { key: 'f7dc2801e7bdec1379588b447d56403b0a2f93ac', class: "options-option" }, index.h("input", { key: '8b5b8e9e2ad5facfbc13d32aa24ad4d9eb12e5f8', disabled: this.showTime(), type: "radio", name: "giftbackOption", value: "use", checked: this.selectedOption === 'use', onChange: () => this.handleOptionChange('use') }), index.h("p", { key: '73e551592deaf17bcce8a3365da5aefbf616b6c0' }, "Usar o meu ", (_c = this.config) === null || _c === void 0 ? void 0 :
132
- _c.giftbackTitle)), index.h("div", { key: '809d083f5eb3c733128405da5c4c9f3b7e1a0a9d', class: "options-option" }, index.h("input", { key: '9313b764aedd08263ac598ac86c4ce95cff3a1b8', disabled: this.showTime(), type: "radio", name: "giftbackOption", value: "dontUse", checked: this.selectedOption === 'dontUse', onChange: () => this.handleOptionChange('dontUse') }), index.h("p", { key: '90b7c65dabc22cf1b1c61335736e3ec668ca0a86' }, "N\u00E3o usar o meu ", (_d = this.config) === null || _d === void 0 ? void 0 :
133
- _d.giftbackTitle))), this.showTime() &&
134
- (index.h("div", { key: '89e6f7a109a63e4f7fb733fd5b7a8b06f85b25c8', class: "info-box" }, "Ap\u00F3s ", index.h("countdown-timer", { key: '25d92d5e6a08dc425d43e459b7824b897b383ad6', dataCriacao: new Date((_f = (_e = this.infoBonus) === null || _e === void 0 ? void 0 : _e.metadata) === null || _f === void 0 ? void 0 : _f.createdAt).toString(), downtime: () => { window.location.reload(); } }), ", voc\u00EA poder\u00E1 alterar sua escolha de usar ou n\u00E3o o Giftback.")), !((_g = this === null || this === void 0 ? void 0 : this.infoBonus) === null || _g === void 0 ? void 0 : _g.isBonusProcessed) && (index.h("div", { key: 'f5129182b2da492d595856ef247cbcc65224c6ce', class: "info-box" }, "O Giftback ser\u00E1 aplicado na pr\u00F3xima etapa."))));
135
- }
136
- static get watchers() { return {
137
- "bonus": ["changedBonus"]
138
- }; }
139
- };
140
- GiftbackInfo.style = GiftbackInfoStyle0;
141
-
142
- const giftbackFormCss$1 = "*{margin:0;padding:0;box-sizing:border-box}:host{--crmfont-sizebodymd:14px;--crmline-heightbodymd:20px;--crmletter-spacingtitle-md:0px}.container-message{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:.875rem;line-height:1.25rem}.crm-title{font-weight:700;line-height:20px;color:#262626;}.crm-message-info{color:#619013;font-weight:500;}.crm-message-error{color:#E11D48;font-weight:500;}";
143
- const PhoneFormStyle0 = giftbackFormCss$1;
144
-
145
- const PhoneForm = class {
146
- constructor(hostRef) {
147
- index.registerInstance(this, hostRef);
148
- this.value = undefined;
149
- this.loading = undefined;
150
- this.handlerSubmit = undefined;
151
- this.config = undefined;
152
- }
153
- async handlePhone() {
154
- const phone = await this.phoneInputMask.getPhone();
155
- await this.handlerSubmit(phone);
156
- }
157
- render() {
158
- var _a;
159
- return (index.h(index.Host, { key: '14b9f78c937aa6f1e0c3c9f7ba31dc06de27dae3', class: "crm-phone-form" }, index.h("p", { key: '95056ca63b0b5e1719014b17a2d293deeeb11f77', class: "crm-subtitle" }, "Digite o seu celular para verificar se h\u00E1 desconto dispon\u00EDvel nessa compra:"), index.h("phone-input-mask", { key: '7f57deba5e35335020b69a49e3ed332b23d10800', initialValue: this.value, ref: ref => this.phoneInputMask = ref }), index.h("crm-button", { key: '35b3f86fe1c95f7d7e9841c855dc12042ed26eb1', txtBtn: ((_a = this.config) === null || _a === void 0 ? void 0 : _a.btnApplyBonusLabel) || "Avançar", loading: this.loading, handleClick: () => this.handlePhone() })));
160
- }
161
- };
162
- PhoneForm.style = PhoneFormStyle0;
163
-
164
- const phoneInputMaskCss = "*{margin:0;padding:0;box-sizing:border-box}.phone{display:block;width:100%;height:24px;padding:6px 12px;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}.phone-input-form{width:100%;height:48px;padding:13px 16px 13px 16px;border:1px solid #CCCCCC;}.crm-erro-msg{color:#E11D48;font-weight:500;margin-top:11px}";
165
- const PhoneInputMaskStyle0 = phoneInputMaskCss;
166
-
167
- const PhoneInputMask = class {
168
- constructor(hostRef) {
169
- index.registerInstance(this, hostRef);
170
- this.phone = '';
171
- this.message = "";
172
- this.initialValue = undefined;
173
- this.disabled = undefined;
174
- }
175
- componentWillLoad() {
176
- this.phone = this.initialValue;
177
- }
178
- formatPhone(value) {
179
- const cleaned = value.replace(/\D/g, ''); // Remove tudo que não for número
180
- const match = cleaned.match(/^(\d{0,2})(\d{0,5})(\d{0,4})$/);
181
- if (!match)
182
- return value;
183
- const part1 = match[1] ? `(${match[1]}` : '';
184
- const part2 = match[2] ? `) ${match[2]}` : '';
185
- const part3 = match[3] ? ` ${match[3]}` : '';
186
- return `${part1}${part2}${part3}`;
187
- }
188
- handleInput(event) {
189
- const input = event.target;
190
- this.phone = this.formatPhone(input.value);
191
- if (!this.validatePhoneNumber(input.value)) {
192
- this.message = i18n.MESSAGE_ERROR_INVALID_NUMBER;
193
- }
194
- else {
195
- this.message = "";
196
- }
197
- console.log('phone', this.phone);
198
- }
199
- validatePhoneNumber(phone) {
200
- if (phone.length < 15) {
201
- return true;
202
- }
203
- const phoneRegex = /^\(\d{2}\) \d{5} \d{4}$/; // Valida formato (99) 99999-9999
204
- return phoneRegex.test(phone);
205
- }
206
- async getPhone() {
207
- return this.phone;
208
- }
209
- render() {
210
- return (index.h("div", { key: '0d11de5bf45fba344ec90b09e00bc1edc9db2d03' }, index.h("input", { key: '504e8a84f1b88916253e3f75c93b5f18103f34ba', disabled: this.disabled, id: "phone", type: "text", class: "phone-input-form", value: this.phone, onInput: (event) => this.handleInput(event), placeholder: "(99) 99999 9999" }), index.h("p", { key: 'b127914b7d8f2b9a69363869e49059fb8fd203b9', class: "crm-erro-msg" }, this.message)));
211
- }
212
- };
213
- PhoneInputMask.style = PhoneInputMaskStyle0;
214
-
215
- const pinFormCss = ":host{display:block}.form-container-pin{display:flex;flex-direction:column;align-items:center}.pin-container{display:flex;justify-content:start;gap:10px}.pin-container input{width:100%;height:48px;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;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;cursor:pointer}.crm-description{width:100%;display:flex;gap:9px;flex-wrap:wrap}.crm-description a{font-weight:bold;cursor:pointer;text-decoration:underline}.crm-description div{display:flex;gap:5px}";
216
- const PinFormStyle0 = pinFormCss;
217
-
218
- const giftbackFormCss = "*{margin:0;padding:0;box-sizing:border-box}:host{--crmfont-sizebodymd:14px;--crmline-heightbodymd:20px;--crmletter-spacingtitle-md:0px}.container-message{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:.875rem;line-height:1.25rem}.crm-title{font-weight:700;line-height:20px;color:#262626;}.crm-message-info{color:#619013;font-weight:500;}.crm-message-error{color:#E11D48;font-weight:500;}";
219
- const PinFormStyle1 = giftbackFormCss;
220
-
221
- const GiftbackPin = class {
222
- constructor(hostRef) {
223
- index.registerInstance(this, hostRef);
224
- this.validate = undefined;
225
- this.cancel = undefined;
226
- this.resend = undefined;
227
- this.sent = undefined;
228
- this.loading = false;
229
- this.phone = undefined;
230
- this.config = undefined;
231
- this.pin = ['', '', '', ''];
232
- this.isVerified = false;
233
- this.canResend = false;
234
- }
235
- componentWillLoad() {
236
- this.canResend = false;
237
- }
238
- handleInput(event, index) {
239
- const input = event.target;
240
- const value = input.value.slice(0, 1); // Limitar a um único dígito
241
- this.pin[index] = value;
242
- // Focar no próximo campo, se possível
243
- if (value && index < this.pin.length - 1) {
244
- const nextInput = input.nextElementSibling;
245
- nextInput === null || nextInput === void 0 ? void 0 : nextInput.focus();
246
- }
247
- this.pin = [...this.pin];
248
- }
249
- validatePin() {
250
- localStorage.removeItem("bc:resend");
251
- this.validate(this.pin.join(""));
252
- }
253
- verifyPin() {
254
- const pinCode = this.pin.join('');
255
- if (pinCode === '9999') {
256
- this.isVerified = true;
257
- }
258
- }
259
- handleTimeout() {
260
- localStorage.removeItem("bc:resend");
261
- this.canResend = true;
262
- }
263
- async handleResend() {
264
- await this.resend();
265
- this.canResend = false;
266
- this.pin = ['', '', '', ''];
267
- localStorage.removeItem("bc:resend");
268
- }
269
- buildTime() {
270
- const resendDate = localStorage.getItem("bc:resend");
271
- if (resendDate) {
272
- return resendDate;
273
- }
274
- const date = new Date();
275
- date.setSeconds(date.getSeconds() + 30);
276
- localStorage.setItem("bc:resend", date.toString());
277
- return date.toString();
278
- }
279
- render() {
280
- var _a;
281
- return (index.h("div", { key: '62007c5d1028fb839af17f54e7b906bbd9ad0fac', class: "crm-phone-form" }, index.h("label", { key: '0b0d49b96d7d3e966658e208ca12350e2239abb2', class: "crm-subtitle" }, i18n.instance.t('pin-sutitle'), " ", index.h("strong", { key: '02070b4c6d28c49db3b090f16cafe9f7f0b76704' }, "+55 ", this.phone)), index.h("div", { key: '3c6c28386189de0acc4900eea4b35393375970f4', class: "pin-container" }, this.pin.map((_, index$1) => (index.h("input", { type: "text", maxLength: 1, value: this.pin[index$1], onInput: (event) => this.handleInput(event, index$1) })))), index.h("slot", { key: 'fa6e6992af0531176efbe5e00f517bd013f72a8e' }), index.h("p", { key: '67ceef747a599600283712b06acaf3d658196cc1', class: "crm-description" }, " N\u00E3o recebeu?", !this.canResend && index.h("label", { key: '0404bc452da839060304e179697e1ec0e6247764' }, " Reenviar em", index.h("countdown-timer", { key: 'ee0eff1200cfabafdecbe2909ec46e426b40b1da', minutos: 0, segundos: 30, dataCriacao: this.buildTime(), downtime: () => this.handleTimeout() }), " "), this.canResend && (index.h("div", { key: '5bac75dd6bcc930f3d59ba07190b6c5778147987' }, index.h("a", { key: 'fba49bfc8004dadce5c61fbf8275e009c7898165', onClick: () => this.handleResend() }, "Reenviar"), index.h("a", { key: 'ce3e1b2e0683c28ad5c1f8dae62b00bbe8b8e6d5', onClick: () => this.cancel() }, "Trocar n\u00FAmero")))), index.h("crm-button", { key: '58e3a04308775601cf72ab9db8d877bd6a988c4d', txtBtn: ((_a = this.config) === null || _a === void 0 ? void 0 : _a.btnApplyBonusLabel) || "Avançar", loading: this.loading, handleClick: () => this.validatePin() })));
282
- }
283
- };
284
- GiftbackPin.style = PinFormStyle0 + PinFormStyle1;
285
-
286
- exports.crm_tooltip = Tooltip;
287
- exports.giftback_info = GiftbackInfo;
288
- exports.phone_form = PhoneForm;
289
- exports.phone_input_mask = PhoneInputMask;
290
- exports.pin_form = GiftbackPin;
291
-
292
- //# sourceMappingURL=crm-tooltip_5.cjs.entry.js.map