crmbonus-component-wake 0.0.26 → 1.0.27

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 (206) hide show
  1. package/dist/cjs/app-globals-3a1e7e63.js +7 -0
  2. package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
  3. package/dist/cjs/app-modal_4.cjs.entry.js +152 -0
  4. package/dist/cjs/app-modal_4.cjs.entry.js.map +1 -0
  5. package/dist/cjs/crm-bonus.cjs.entry.js +86 -0
  6. package/dist/cjs/crm-bonus.cjs.entry.js.map +1 -0
  7. package/dist/cjs/crmbonus-component-wake.cjs.js +27 -0
  8. package/dist/cjs/crmbonus-component-wake.cjs.js.map +1 -0
  9. package/dist/cjs/crmbonus.service-8412ddbf.js +3798 -0
  10. package/dist/cjs/crmbonus.service-8412ddbf.js.map +1 -0
  11. package/dist/cjs/giftback-finish_3.cjs.entry.js +102 -0
  12. package/dist/cjs/giftback-finish_3.cjs.entry.js.map +1 -0
  13. package/dist/cjs/index-296f70bf.js +11 -0
  14. package/dist/cjs/index-296f70bf.js.map +1 -0
  15. package/dist/cjs/index-52d8a075.js +1248 -0
  16. package/dist/cjs/index-52d8a075.js.map +1 -0
  17. package/dist/cjs/index.cjs.js +11 -0
  18. package/dist/cjs/index.cjs.js.map +1 -0
  19. package/dist/cjs/loader.cjs.js +17 -0
  20. package/dist/cjs/loader.cjs.js.map +1 -0
  21. package/dist/cjs/loading-spinner.cjs.entry.js +24 -0
  22. package/dist/cjs/loading-spinner.cjs.entry.js.map +1 -0
  23. package/dist/cjs/pedido-finalizado.cjs.entry.js +36 -0
  24. package/dist/cjs/pedido-finalizado.cjs.entry.js.map +1 -0
  25. package/dist/cjs/phone-input-mask.cjs.entry.js +45 -0
  26. package/dist/cjs/phone-input-mask.cjs.entry.js.map +1 -0
  27. package/dist/collection/collection-manifest.json +22 -0
  28. package/dist/collection/components/crm-bonus/assets/logo.svg +18 -0
  29. package/dist/collection/components/crm-bonus/assets/success-svgrepo-com.svg +8 -0
  30. package/dist/collection/components/crm-bonus/assets/svg/logo.svg +18 -0
  31. package/dist/collection/components/crm-bonus/assets/svg/success-svgrepo-com.svg +8 -0
  32. package/dist/collection/components/crm-bonus/crm-bonus.css +50 -0
  33. package/dist/collection/components/crm-bonus/crm-bonus.js +170 -0
  34. package/dist/collection/components/crm-bonus/crm-bonus.js.map +1 -0
  35. package/dist/collection/components/crm-bonus-form/crm-bonus-form.css +19 -0
  36. package/dist/collection/components/crm-bonus-form/crm-bonus-form.js +311 -0
  37. package/dist/collection/components/crm-bonus-form/crm-bonus-form.js.map +1 -0
  38. package/dist/collection/components/crm-bonus-form/subcomponents/giftback-finish/giftback-finish.css +10 -0
  39. package/dist/collection/components/crm-bonus-form/subcomponents/giftback-finish/giftback-finish.js +20 -0
  40. package/dist/collection/components/crm-bonus-form/subcomponents/giftback-finish/giftback-finish.js.map +1 -0
  41. package/dist/collection/components/crm-bonus-form/subcomponents/giftback-pin/giftback-pin.css +74 -0
  42. package/dist/collection/components/crm-bonus-form/subcomponents/giftback-pin/giftback-pin.js +127 -0
  43. package/dist/collection/components/crm-bonus-form/subcomponents/giftback-pin/giftback-pin.js.map +1 -0
  44. package/dist/collection/components/crm-bonus-form/subcomponents/giftback-progress/giftback-progress.css +109 -0
  45. package/dist/collection/components/crm-bonus-form/subcomponents/giftback-progress/giftback-progress.js +127 -0
  46. package/dist/collection/components/crm-bonus-form/subcomponents/giftback-progress/giftback-progress.js.map +1 -0
  47. package/dist/collection/components/crm-bonus-form/subcomponents/phone/phone.input.js +75 -0
  48. package/dist/collection/components/crm-bonus-form/subcomponents/phone/phone.input.js.map +1 -0
  49. package/dist/collection/components/crm-bonus-form/subcomponents/phone-cancel/phone.cancel.input.js +75 -0
  50. package/dist/collection/components/crm-bonus-form/subcomponents/phone-cancel/phone.cancel.input.js.map +1 -0
  51. package/dist/collection/components/loading-spinner/loading-spinner.css +17 -0
  52. package/dist/collection/components/loading-spinner/loading-spinner.js +63 -0
  53. package/dist/collection/components/loading-spinner/loading-spinner.js.map +1 -0
  54. package/dist/collection/components/modal/app-modal.css +45 -0
  55. package/dist/collection/components/modal/app-modal.js +83 -0
  56. package/dist/collection/components/modal/app-modal.js.map +1 -0
  57. package/dist/collection/components/pedido/pedido.js +83 -0
  58. package/dist/collection/components/pedido/pedido.js.map +1 -0
  59. package/dist/collection/components/phone/phone-input-mask.css +47 -0
  60. package/dist/collection/components/phone/phone-input-mask.js +108 -0
  61. package/dist/collection/components/phone/phone-input-mask.js.map +1 -0
  62. package/dist/collection/contants/index.js +8 -0
  63. package/dist/collection/contants/index.js.map +1 -0
  64. package/dist/collection/contants/mocks.js +28 -0
  65. package/dist/collection/contants/mocks.js.map +1 -0
  66. package/dist/collection/dto/pin.sent.js +2 -0
  67. package/dist/collection/dto/pin.sent.js.map +1 -0
  68. package/dist/collection/dto/update.order.dto.js +2 -0
  69. package/dist/collection/dto/update.order.dto.js.map +1 -0
  70. package/dist/collection/dto/validate.pin.bonus.js +2 -0
  71. package/dist/collection/dto/validate.pin.bonus.js.map +1 -0
  72. package/dist/collection/index.js +11 -0
  73. package/dist/collection/index.js.map +1 -0
  74. package/dist/collection/services/crmbonus.service.js +42 -0
  75. package/dist/collection/services/crmbonus.service.js.map +1 -0
  76. package/dist/collection/utils/utils.js +4 -0
  77. package/dist/collection/utils/utils.js.map +1 -0
  78. package/dist/components/app-modal.js +8 -0
  79. package/dist/components/app-modal.js.map +1 -0
  80. package/dist/components/crm-bonus-form.js +8 -0
  81. package/dist/components/crm-bonus-form.js.map +1 -0
  82. package/dist/components/crm-bonus.js +167 -0
  83. package/dist/components/crm-bonus.js.map +1 -0
  84. package/dist/components/giftback-finish.js +8 -0
  85. package/dist/components/giftback-finish.js.map +1 -0
  86. package/dist/components/giftback-pin.js +8 -0
  87. package/dist/components/giftback-pin.js.map +1 -0
  88. package/dist/components/giftback-progress.js +8 -0
  89. package/dist/components/giftback-progress.js.map +1 -0
  90. package/dist/components/index.js +9 -0
  91. package/dist/components/index.js.map +1 -0
  92. package/dist/components/loading-spinner.js +8 -0
  93. package/dist/components/loading-spinner.js.map +1 -0
  94. package/dist/components/p-03918b34.js +39 -0
  95. package/dist/components/p-03918b34.js.map +1 -0
  96. package/dist/components/p-2667d525.js +36 -0
  97. package/dist/components/p-2667d525.js.map +1 -0
  98. package/dist/components/p-28ba6192.js +52 -0
  99. package/dist/components/p-28ba6192.js.map +1 -0
  100. package/dist/{crmbonus-component-wake/crmbonus.service-5208f883.js → components/p-374de9ae.js} +91 -166
  101. package/dist/components/p-374de9ae.js.map +1 -0
  102. package/dist/{crmbonus-component-wake/giftback-pin.entry.js → components/p-3e80a758.js} +39 -9
  103. package/dist/components/p-3e80a758.js.map +1 -0
  104. package/dist/components/p-675deed3.js +62 -0
  105. package/dist/components/p-675deed3.js.map +1 -0
  106. package/dist/components/p-b4c3e6bf.js +156 -0
  107. package/dist/components/p-b4c3e6bf.js.map +1 -0
  108. package/dist/components/p-c5913818.js +69 -0
  109. package/dist/components/p-c5913818.js.map +1 -0
  110. package/dist/components/p-ed6bc79c.js +52 -0
  111. package/dist/components/p-ed6bc79c.js.map +1 -0
  112. package/dist/components/p-f6396f4c.js +43 -0
  113. package/dist/components/p-f6396f4c.js.map +1 -0
  114. package/dist/components/p-faf7103e.js +1064 -0
  115. package/dist/components/p-faf7103e.js.map +1 -0
  116. package/dist/components/pedido-finalizado.js +54 -0
  117. package/dist/components/pedido-finalizado.js.map +1 -0
  118. package/dist/components/phone-cancel-input.d.ts +11 -0
  119. package/dist/components/phone-cancel-input.js +8 -0
  120. package/dist/components/phone-cancel-input.js.map +1 -0
  121. package/dist/components/phone-input-mask.js +8 -0
  122. package/dist/components/phone-input-mask.js.map +1 -0
  123. package/dist/components/phone-input.js +8 -0
  124. package/dist/components/phone-input.js.map +1 -0
  125. package/dist/crmbonus-component-wake/crmbonus-component-wake.esm.js +1 -48
  126. package/dist/crmbonus-component-wake/crmbonus-component-wake.esm.js.map +1 -1
  127. package/dist/crmbonus-component-wake/index.esm.js +1 -16
  128. package/dist/crmbonus-component-wake/index.esm.js.map +1 -1
  129. package/dist/crmbonus-component-wake/p-075bd04d.entry.js +2 -0
  130. package/dist/crmbonus-component-wake/p-075bd04d.entry.js.map +1 -0
  131. package/dist/crmbonus-component-wake/p-241a5303.entry.js +2 -0
  132. package/dist/crmbonus-component-wake/p-241a5303.entry.js.map +1 -0
  133. package/dist/crmbonus-component-wake/p-374de9ae.js +2 -0
  134. package/dist/crmbonus-component-wake/p-374de9ae.js.map +1 -0
  135. package/dist/crmbonus-component-wake/p-72510682.js +3 -0
  136. package/dist/crmbonus-component-wake/p-72510682.js.map +1 -0
  137. package/dist/crmbonus-component-wake/p-86d04322.entry.js +2 -0
  138. package/dist/crmbonus-component-wake/p-86d04322.entry.js.map +1 -0
  139. package/dist/crmbonus-component-wake/p-8e6cdd1e.js +2 -0
  140. package/dist/crmbonus-component-wake/p-8e6cdd1e.js.map +1 -0
  141. package/dist/crmbonus-component-wake/p-a603a26e.entry.js +2 -0
  142. package/dist/crmbonus-component-wake/p-a603a26e.entry.js.map +1 -0
  143. package/dist/crmbonus-component-wake/p-e1255160.js +2 -0
  144. package/dist/crmbonus-component-wake/p-e1255160.js.map +1 -0
  145. package/dist/crmbonus-component-wake/p-e9c2ed46.entry.js +2 -0
  146. package/dist/crmbonus-component-wake/p-e9c2ed46.entry.js.map +1 -0
  147. package/dist/crmbonus-component-wake/p-ef75ecd5.entry.js +2 -0
  148. package/dist/crmbonus-component-wake/p-ef75ecd5.entry.js.map +1 -0
  149. package/dist/env.js +5 -0
  150. package/dist/env.js.map +1 -0
  151. package/dist/esm/app-modal_4.entry.js +145 -0
  152. package/dist/esm/app-modal_4.entry.js.map +1 -0
  153. package/dist/esm/crm-bonus.entry.js +82 -0
  154. package/dist/esm/crm-bonus.entry.js.map +1 -0
  155. package/dist/esm/crmbonus-component-wake.js +22 -0
  156. package/dist/esm/crmbonus-component-wake.js.map +1 -0
  157. package/dist/esm/crmbonus.service-053a9e38.js +3796 -0
  158. package/dist/esm/crmbonus.service-053a9e38.js.map +1 -0
  159. package/dist/esm/giftback-finish_3.entry.js +96 -0
  160. package/dist/esm/giftback-finish_3.entry.js.map +1 -0
  161. package/dist/esm/index-2bfaba2b.js +11 -0
  162. package/dist/esm/index-2bfaba2b.js.map +1 -0
  163. package/dist/esm/index-9f7bde48.js +1220 -0
  164. package/dist/esm/index-9f7bde48.js.map +1 -0
  165. package/dist/esm/index.js +7 -0
  166. package/dist/esm/index.js.map +1 -0
  167. package/dist/esm/loader.js +13 -0
  168. package/dist/esm/loader.js.map +1 -0
  169. package/dist/{crmbonus-component-wake → esm}/loading-spinner.entry.js +4 -3
  170. package/dist/esm/loading-spinner.entry.js.map +1 -0
  171. package/dist/{crmbonus-component-wake → esm}/pedido-finalizado.entry.js +3 -3
  172. package/dist/esm/pedido-finalizado.entry.js.map +1 -0
  173. package/dist/{crmbonus-component-wake → esm}/phone-input-mask.entry.js +5 -3
  174. package/dist/esm/phone-input-mask.entry.js.map +1 -0
  175. package/dist/index.cjs.js +1 -0
  176. package/dist/index.js +1 -0
  177. package/dist/types/components/crm-bonus/crm-bonus.d.ts +9 -0
  178. package/dist/types/components/crm-bonus-form/crm-bonus-form.d.ts +8 -4
  179. package/dist/types/components/crm-bonus-form/subcomponents/giftback-progress/giftback-progress.d.ts +1 -1
  180. package/dist/types/components/crm-bonus-form/subcomponents/phone-cancel/phone.cancel.input.d.ts +8 -0
  181. package/dist/types/components/phone/phone-input-mask.d.ts +1 -0
  182. package/dist/types/components.d.ts +32 -0
  183. package/package.json +1 -1
  184. package/dist/crmbonus-component-wake/app-modal.entry.js +0 -23
  185. package/dist/crmbonus-component-wake/app-modal.entry.js.map +0 -1
  186. package/dist/crmbonus-component-wake/crm-bonus-form.entry.js +0 -109
  187. package/dist/crmbonus-component-wake/crm-bonus-form.entry.js.map +0 -1
  188. package/dist/crmbonus-component-wake/crm-bonus.entry.js +0 -50
  189. package/dist/crmbonus-component-wake/crm-bonus.entry.js.map +0 -1
  190. package/dist/crmbonus-component-wake/crmbonus.service-5208f883.js.map +0 -1
  191. package/dist/crmbonus-component-wake/giftback-finish.entry.js +0 -19
  192. package/dist/crmbonus-component-wake/giftback-finish.entry.js.map +0 -1
  193. package/dist/crmbonus-component-wake/giftback-pin.entry.js.map +0 -1
  194. package/dist/crmbonus-component-wake/giftback-progress.entry.js +0 -40
  195. package/dist/crmbonus-component-wake/giftback-progress.entry.js.map +0 -1
  196. package/dist/crmbonus-component-wake/index-f557ce7c.js +0 -3039
  197. package/dist/crmbonus-component-wake/index-f557ce7c.js.map +0 -1
  198. package/dist/crmbonus-component-wake/loading-spinner.entry.js.map +0 -1
  199. package/dist/crmbonus-component-wake/pedido-finalizado.entry.js.map +0 -1
  200. package/dist/crmbonus-component-wake/phone-input-mask.entry.js.map +0 -1
  201. package/dist/crmbonus-component-wake/phone-input.entry.js +0 -21
  202. package/dist/crmbonus-component-wake/phone-input.entry.js.map +0 -1
  203. package/dist/crmbonus-component-wake/shadow-css-7ad5caf8.js +0 -334
  204. package/dist/crmbonus-component-wake/shadow-css-7ad5caf8.js.map +0 -1
  205. /package/dist/{crmbonus-component-wake → esm}/app-globals-0f993ce5.js +0 -0
  206. /package/dist/{crmbonus-component-wake → esm}/app-globals-0f993ce5.js.map +0 -0
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ const globalScripts = () => {};
4
+
5
+ exports.globalScripts = globalScripts;
6
+
7
+ //# sourceMappingURL=app-globals-3a1e7e63.js.map
@@ -0,0 +1 @@
1
+ {"file":"app-globals-3a1e7e63.js","mappings":";;AAAY,MAAC,aAAa,GAAG,MAAM;;;;","names":[],"sources":["@stencil/core/internal/app-globals"],"sourcesContent":["export const globalScripts = () => {};\n"],"version":3}
@@ -0,0 +1,152 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-52d8a075.js');
6
+ const crmbonus_service = require('./crmbonus.service-8412ddbf.js');
7
+ const index$1 = require('./index-296f70bf.js');
8
+
9
+ const appModalCss = ".modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.5);display:none;justify-content:center;align-items:center;z-index:1000}.modal-backdrop.visible{display:flex}.modal{background:white;border-radius:8px;padding:1rem;max-width:500px;width:90%;box-shadow:0 2px 10px rgba(0, 0, 0, 0.3)}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ddd;margin-bottom:1rem}.close-button{background:none;border:none;font-size:1.5rem;cursor:pointer}.modal-body{}";
10
+ const AppModalStyle0 = appModalCss;
11
+
12
+ const AppModal = class {
13
+ constructor(hostRef) {
14
+ index.registerInstance(this, hostRef);
15
+ this.modalClosed = index.createEvent(this, "modalClosed", 7);
16
+ this.isOpen = false;
17
+ this.modalTitle = undefined;
18
+ }
19
+ closeModal() {
20
+ this.modalClosed.emit();
21
+ }
22
+ render() {
23
+ return (index.h("div", { key: '8dab3bfa7301dbd20a783917037c26451cdab5a8', class: `modal-backdrop ${this.isOpen ? 'visible' : ''}` }, index.h("div", { key: '2846620c39106abde226cd19b2cc0a58b7a88a11', class: "modal" }, index.h("div", { key: '46b63f75e09aec5d2b9255334733b2813156a5e6', class: "modal-header" }, index.h("h3", { key: '6a7baae6fc8430ec9cbbcf959f75842ddac253ac' }, this.modalTitle), index.h("button", { key: 'c6b76e2c862db06657c5ce91fb2bba56fa89e04d', class: "close-button", onClick: () => this.closeModal() }, "\u00D7")), index.h("div", { key: '7caebe8e0fab2569e3e4e33cc512133bc691b331', class: "modal-body" }, index.h("slot", { key: 'aa5bd4a5ff5810e1d74727b01121b97ec7b54d51' })))));
24
+ }
25
+ };
26
+ AppModal.style = AppModalStyle0;
27
+
28
+ const crmBonusFormCss = ".form-container{width:100%;display:flex;justify-content:center;justify-content:space-around}.disabled{opacity:0.6;cursor:not-allowed}.message-error{color:#d11111;font-weight:bold;font-family:Arial;font-size:small;margin-left:16px}";
29
+ const CrmBonusFormStyle0 = crmBonusFormCss;
30
+
31
+ const CrmBonusForm = class {
32
+ constructor(hostRef) {
33
+ index.registerInstance(this, hostRef);
34
+ this.crmBonusService = new crmbonus_service.CrmBonusService();
35
+ this.storeName = undefined;
36
+ this.cartId = undefined;
37
+ this.products = undefined;
38
+ this.customer = {
39
+ phone: "",
40
+ birthDate: "",
41
+ document: "",
42
+ name: ""
43
+ };
44
+ this.sent = undefined;
45
+ this.stepNext = undefined;
46
+ this.phone = undefined;
47
+ this.saveStore = undefined;
48
+ this.cancel = undefined;
49
+ this.loading = false;
50
+ this.step = index$1.StepFormEnum.STEP_RESERVE;
51
+ this.message = undefined;
52
+ this.bonus = undefined;
53
+ }
54
+ async setStep(step) {
55
+ this.step = step;
56
+ }
57
+ async validateBonus(pin) {
58
+ var _a, _b;
59
+ this.loading = true;
60
+ this.message = "";
61
+ const payload = {
62
+ pin: pin,
63
+ cellphone: this.phone.toString(),
64
+ loja_id: this.sent.storeId,
65
+ user_id: this.sent.userId,
66
+ cartId: this.cartId,
67
+ products: this.products
68
+ };
69
+ try {
70
+ this.bonus = await this.crmBonusService.validatePinBonus(payload, this.storeName);
71
+ console.log('[this.bonus]', this.bonus);
72
+ this.step = index$1.StepFormEnum.STEP_RESERVE;
73
+ }
74
+ catch (error) {
75
+ this.message = (_b = (_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.message;
76
+ }
77
+ finally {
78
+ this.loading = false;
79
+ }
80
+ console.log('payload', payload);
81
+ }
82
+ async reserveApply(amount) {
83
+ this.loading = true;
84
+ this.message = "";
85
+ try {
86
+ await this.reserve(amount);
87
+ this.step = index$1.StepFormEnum.STEP_APPLY;
88
+ this.saveStore();
89
+ }
90
+ catch (error) {
91
+ this.message = "ocorreu um error ao solicitar a aplicação do bonus! tente novamente";
92
+ }
93
+ finally {
94
+ this.loading = false;
95
+ }
96
+ }
97
+ async reserve(amount) {
98
+ await this.crmBonusService.reserve({
99
+ redeemed_bonus: amount,
100
+ cart_id: this.cartId,
101
+ ticket: this.cartId,
102
+ gross_value: this.bonus.totalValue,
103
+ }, this.storeName);
104
+ }
105
+ handleCancel() {
106
+ this.step = index$1.StepFormEnum.STEP_PHONE;
107
+ this.cancel();
108
+ }
109
+ render() {
110
+ return (index.h(index.Host, { key: '3e21a03b8cb534556026804922838f6162df9e30' }, this.step === index$1.StepFormEnum.STEP_PIN && index.h("giftback-pin", { key: '31b04dde37001453cbf2595505dd9c2520b2252c', cancel: () => this.handleCancel(), sent: this.sent, validate: (data) => this.validateBonus(data), loading: this.loading }), this.step === index$1.StepFormEnum.STEP_RESERVE && index.h("giftback-progress", { key: 'c85dbb4ac66a094d0b5a28b152104c6b202984cf', loading: this.loading, cancel: () => this.handleCancel(), bonus: this.bonus, reserve: (amountRedeemed) => this.reserveApply(amountRedeemed) }), this.step === index$1.StepFormEnum.STEP_APPLY && index.h("giftback-finish", { key: '4efa471bb962b48cae34b1c5ebfed518afd3ac31' }), index.h("p", { key: '5cce361016e738b76353e16a0d61f08b4abe22fc', class: "message-error" }, this.message)));
111
+ }
112
+ };
113
+ CrmBonusForm.style = CrmBonusFormStyle0;
114
+
115
+ const PhoneCancelInput = class {
116
+ constructor(hostRef) {
117
+ index.registerInstance(this, hostRef);
118
+ this.sendPin = undefined;
119
+ this.loading = undefined;
120
+ this.value = undefined;
121
+ }
122
+ async validatePhone() {
123
+ const phone = await this.phoneInputMask.getPhone();
124
+ await this.sendPin(phone);
125
+ }
126
+ render() {
127
+ return (index.h("div", { key: '9e5524ba40c38bcc04325a8b786ea1b29d92e233', class: "form-container" }, index.h("phone-input-mask", { key: 'a6625e16e686ffd1738989c29245172ebeee13cf', initialValue: "Valor aplicado R$ 100", ref: ref => this.phoneInputMask = ref, disabled: true }), index.h("button", { key: '7b0416d694bccaa80d418ff062889607eabc9aff', class: `button ${this.loading ? 'disabled' : ''} `, disabled: this.loading, onClick: () => this.validatePhone() }, !this.loading ? "Cancelar" : index.h("loading-spinner", { size: "25px", color: "#fff" }))));
128
+ }
129
+ };
130
+
131
+ const PhoneInput = class {
132
+ constructor(hostRef) {
133
+ index.registerInstance(this, hostRef);
134
+ this.sendPin = undefined;
135
+ this.loading = undefined;
136
+ this.value = undefined;
137
+ }
138
+ async validatePhone() {
139
+ const phone = await this.phoneInputMask.getPhone();
140
+ await this.sendPin(phone);
141
+ }
142
+ render() {
143
+ return (index.h("div", { key: 'f24f14d158d9565b17aa024837d4e62e6b64c7a3', class: "form-container" }, index.h("phone-input-mask", { key: '88bf98c7f35b4a4211354a826fa16c922838d228', initialValue: this.value, ref: ref => this.phoneInputMask = ref }), index.h("button", { key: '34fe30a30fd755b3b710c9b00f6d511eeef70013', class: `button ${this.loading ? 'disabled' : ''} `, disabled: this.loading, onClick: () => this.validatePhone() }, !this.loading ? "validar" : index.h("loading-spinner", { size: "25px", color: "#fff" }))));
144
+ }
145
+ };
146
+
147
+ exports.app_modal = AppModal;
148
+ exports.crm_bonus_form = CrmBonusForm;
149
+ exports.phone_cancel_input = PhoneCancelInput;
150
+ exports.phone_input = PhoneInput;
151
+
152
+ //# sourceMappingURL=app-modal_4.cjs.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"app-modal.crm-bonus-form.phone-cancel-input.phone-input.entry.cjs.js","mappings":"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","names":["h","CrmBonusService","StepFormEnum","Host"],"sources":["src/components/modal/app-modal.css?tag=app-modal&encapsulation=shadow","src/components/modal/app-modal.tsx","src/components/crm-bonus-form/crm-bonus-form.css?tag=crm-bonus-form&encapsulation=shadow","src/components/crm-bonus-form/crm-bonus-form.tsx","src/components/crm-bonus-form/subcomponents/phone-cancel/phone.cancel.input.tsx","src/components/crm-bonus-form/subcomponents/phone/phone.input.tsx"],"sourcesContent":[".modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.5);\n display: none;\n justify-content: center;\n align-items: center;\n z-index: 1000;\n }\n \n .modal-backdrop.visible {\n display: flex;\n }\n \n .modal {\n background: white;\n border-radius: 8px;\n padding: 1rem;\n max-width: 500px;\n width: 90%;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);\n }\n \n .modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-bottom: 1px solid #ddd;\n margin-bottom: 1rem;\n }\n \n .close-button {\n background: none;\n border: none;\n font-size: 1.5rem;\n cursor: pointer;\n }\n \n .modal-body {\n /* padding: 1rem 0; */\n }\n ","import { Component, Event, EventEmitter, Prop, h } from \"@stencil/core\";\n\n@Component({\n tag: 'app-modal',\n styleUrl: 'app-modal.css',\n shadow: true,\n})\nexport class AppModal {\n\n // Controle da visibilidade do modal\n @Prop({ reflect: true }) isOpen: boolean = false;\n\n // Título do modal\n @Prop() modalTitle: string;\n\n // Evento emitido ao fechar o modal\n @Event() modalClosed: EventEmitter<void>;\n\n private closeModal() {\n this.modalClosed.emit();\n }\n\n render() {\n return (\n <div class={`modal-backdrop ${this.isOpen ? 'visible' : ''}`}>\n <div class=\"modal\">\n <div class=\"modal-header\">\n <h3>{this.modalTitle}</h3>\n <button class=\"close-button\" onClick={() => this.closeModal()}>\n ×\n </button>\n </div>\n <div class=\"modal-body\">\n <slot />\n </div>\n </div>\n </div>\n )\n }\n}",".form-container {\n width: 100%;\n display: flex;\n justify-content: center;\n justify-content: space-around;\n}\n\n.disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n\n.message-error {\n color: #d11111;\n font-weight: bold;\n font-family: Arial;\n font-size: small;\n margin-left: 16px;\n}","import { Component, Host, Method, Prop, State, h } from \"@stencil/core\";\nimport { CrmBonusService } from \"../../services/crmbonus.service\";\nimport { IBonus, ICustomer, IProccesPinBonusDto, IProduct } from \"../../dto/validate.pin.bonus\";\nimport { StepFormEnum } from \"../../contants\";\nimport { IPinSent } from '../../dto/pin.sent';\n\n@Component({\n tag: 'crm-bonus-form',\n styleUrl: 'crm-bonus-form.css',\n shadow: true\n})\nexport class CrmBonusForm {\n\n private crmBonusService: CrmBonusService = new CrmBonusService();\n\n @Prop({ attribute: 'storename' }) storeName;\n @Prop() cartId;\n @Prop() products: Array<IProduct>;\n @Prop() customer: ICustomer = {\n phone: \"\",\n birthDate: \"\",\n document: \"\",\n name: \"\"\n };\n @Prop() sent: IPinSent;\n @Prop() stepNext: StepFormEnum;\n @Prop() phone: number;\n\n @Prop() saveStore: () => void;\n\n @Prop() cancel: () => void;\n\n @State() loading: boolean = false;\n\n @State() step: number = StepFormEnum.STEP_RESERVE;\n\n @State() message: string;\n\n @State() bonus: IBonus;\n\n @Method()\n async setStep(step: StepFormEnum) {\n this.step = step\n }\n\n public async validateBonus(pin: string) {\n this.loading = true;\n this.message = \"\";\n const payload: IProccesPinBonusDto = {\n pin: pin,\n cellphone: this.phone.toString(),\n loja_id: this.sent.storeId,\n user_id: this.sent.userId,\n cartId: this.cartId,\n products: this.products\n }\n\n try {\n this.bonus = await this.crmBonusService.validatePinBonus(payload, this.storeName);\n\n console.log('[this.bonus]', this.bonus);\n this.step = StepFormEnum.STEP_RESERVE;\n } catch (error) {\n this.message = error?.response?.data?.message\n } finally {\n this.loading = false;\n }\n console.log('payload', payload)\n }\n\n public async reserveApply(amount: number) {\n this.loading = true;\n this.message = \"\";\n try {\n await this.reserve(amount);\n\n this.step = StepFormEnum.STEP_APPLY;\n\n this.saveStore()\n } catch (error) {\n this.message = \"ocorreu um error ao solicitar a aplicação do bonus! tente novamente\"\n } finally {\n this.loading = false;\n }\n }\n\n public async reserve(amount: number) {\n await this.crmBonusService.reserve({\n redeemed_bonus: amount,\n cart_id: this.cartId,\n ticket: this.cartId,\n gross_value: this.bonus.totalValue,\n }, this.storeName);\n }\n\n public handleCancel() {\n this.step = StepFormEnum.STEP_PHONE;\n this.cancel()\n }\n\n render() {\n return (\n <Host>\n {/* {this.step === StepFormEnum.STEP_PHONE && <phone-input value={this.customer.phone} sendPin={(phone) => this.sendPin(phone)} loading={this.loading} />} */}\n {this.step === StepFormEnum.STEP_PIN && <giftback-pin cancel={() => this.handleCancel()} sent={this.sent} validate={(data) => this.validateBonus(data)} loading={this.loading} />}\n\n {this.step === StepFormEnum.STEP_RESERVE && <giftback-progress loading={this.loading} cancel={() => this.handleCancel()} bonus={this.bonus} reserve={(amountRedeemed: number) => this.reserveApply(amountRedeemed)} />}\n {this.step === StepFormEnum.STEP_APPLY && <giftback-finish />}\n <p class=\"message-error\">{this.message}</p>\n </Host>\n )\n }\n}","import { Component, Prop, h } from \"@stencil/core\";\n\n@Component({\n tag: 'phone-cancel-input'\n})\nexport class PhoneCancelInput {\n\n private phoneInputMask: HTMLPhoneInputMaskElement;\n\n @Prop() sendPin: Function;\n @Prop() loading: boolean;\n @Prop() value: string;\n\n async validatePhone() {\n const phone = await this.phoneInputMask.getPhone();\n await this.sendPin(phone);\n }\n\n render() {\n return (\n <div class=\"form-container\">\n <phone-input-mask initialValue={\"Valor aplicado R$ 100\"} ref={ref => this.phoneInputMask = ref} disabled={true} />\n <button class={`button ${this.loading ? 'disabled' : ''} `} disabled={this.loading} onClick={() => this.validatePhone()}>\n {\n !this.loading ? \"Cancelar\" : <loading-spinner size=\"25px\" color=\"#fff\" />\n }\n </button>\n </div>\n )\n }\n}","import { Component, Prop, h } from \"@stencil/core\";\n\n@Component({\n tag: 'phone-input'\n})\nexport class PhoneInput {\n\n private phoneInputMask: HTMLPhoneInputMaskElement;\n\n @Prop() sendPin: Function;\n @Prop() loading: boolean;\n @Prop() value: string;\n\n async validatePhone() {\n const phone = await this.phoneInputMask.getPhone();\n await this.sendPin(phone);\n }\n\n render() {\n return (\n <div class=\"form-container\">\n <phone-input-mask initialValue={this.value} ref={ref => this.phoneInputMask = ref} />\n <button class={`button ${this.loading ? 'disabled' : ''} `} disabled={this.loading} onClick={() => this.validatePhone()}>\n {\n !this.loading ? \"validar\" : <loading-spinner size=\"25px\" color=\"#fff\" />\n }\n </button>\n </div>\n )\n }\n}"],"version":3}
@@ -0,0 +1,86 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-52d8a075.js');
6
+ const crmbonus_service = require('./crmbonus.service-8412ddbf.js');
7
+ const index$1 = require('./index-296f70bf.js');
8
+
9
+ const crmBonusCss = ".container-button{max-width:100%;cursor:pointer;padding:10px;display:flex}.section-crm{border:1px solid #dbd4d4;text-align:-webkit-center;margin-bottom:20px}.section-cart-crm{text-align:-webkit-center;margin-bottom:20px}.button{top:50%;background-color:#6c6c7e;color:#fff;border:none;padding:15px;min-height:30px;min-width:120px;font-size:20px;cursor:pointer;margin-left:10px;height:70px}.form-container{width:100%;display:flex;justify-content:center;justify-content:space-around}";
10
+ const CrmBonusStyle0 = crmBonusCss;
11
+
12
+ const CrmBonus = class {
13
+ constructor(hostRef) {
14
+ index.registerInstance(this, hostRef);
15
+ this.crmBonusService = new crmbonus_service.CrmBonusService();
16
+ this.showModal = false;
17
+ this.userId = undefined;
18
+ this.storeName = undefined;
19
+ this.productsInString = undefined;
20
+ this.cartId = undefined;
21
+ this.products = undefined;
22
+ this.customer = {
23
+ birthDate: "",
24
+ document: "",
25
+ name: "",
26
+ phone: ""
27
+ };
28
+ this.loading = false;
29
+ this.message = undefined;
30
+ this.phone = undefined;
31
+ this.canCancel = false;
32
+ this.sent = undefined;
33
+ }
34
+ async componentWillLoad() {
35
+ await this.handleLoad();
36
+ }
37
+ async handleLoad() {
38
+ try {
39
+ if (this.userId) {
40
+ // this.customer = await this.crmBonusService.getCustomer(this.userId, this.storeName);
41
+ console.log('user', this.customer);
42
+ }
43
+ }
44
+ catch (error) {
45
+ console.log('info customer');
46
+ }
47
+ this.products = JSON.parse(this.productsInString);
48
+ }
49
+ async sendPin(phone) {
50
+ var _a, _b;
51
+ this.loading = true;
52
+ this.message = "";
53
+ try {
54
+ const _phone = phone.replace(/\D/g, '');
55
+ this.phone = Number(_phone);
56
+ this.sent = await this.crmBonusService.sendPin(this.phone, this.storeName);
57
+ await this.crmBonusRef.setStep(index$1.StepFormEnum.STEP_PIN);
58
+ this.showModal = true;
59
+ }
60
+ catch (error) {
61
+ this.message = (_b = (_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.message;
62
+ }
63
+ finally {
64
+ this.loading = false;
65
+ }
66
+ }
67
+ buildProducts() {
68
+ return this.products.map(product => ({ sku: product.SKU, value: (product.PrecoPor * product.Quantidade), variantId: product.ProdutoVarianteId, qtd: product.Quantidade }));
69
+ }
70
+ handleCloseModal() {
71
+ this.showModal = false;
72
+ }
73
+ save() {
74
+ localStorage.setItem('@BYCODERS', this.cartId);
75
+ }
76
+ render() {
77
+ return (index.h("div", { key: '18d08a3d03ae5106cf01a426751db8300847f95c', class: "section-cart-crm" }, index.h("div", { key: 'dd9e939b78616cea4ea0b77ac32fe15afe63c9f9', class: "container-button" }, !this.canCancel ? index.h("phone-cancel-input", { value: this.customer.phone, sendPin: () => { }, loading: this.loading })
78
+ : index.h("phone-input", { value: this.customer.phone, sendPin: (phone) => { this.sendPin(phone); }, loading: this.loading })), index.h("app-modal", { key: 'abc596ebac59d08df3470d028ee814768a870ba9', isOpen: this.showModal, modalTitle: `Giftback`, onModalClosed: () => (this.showModal = false) }, index.h("crm-bonus-form", { key: '6ee857fd75d7261382ef8b9752bb6f3ea7918245', saveStore: () => this.save(), ref: ref => this.crmBonusRef = ref, sent: this.sent, phone: this.phone, cancel: () => this.handleCloseModal(), storeName: this.storeName, products: this.buildProducts(), cartId: this.cartId, customer: this.customer }))));
79
+ }
80
+ static get assetsDirs() { return ["assets"]; }
81
+ };
82
+ CrmBonus.style = CrmBonusStyle0;
83
+
84
+ exports.crm_bonus = CrmBonus;
85
+
86
+ //# sourceMappingURL=crm-bonus.cjs.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"crm-bonus.entry.cjs.js","mappings":";;;;;;;;AAAA,MAAM,WAAW,GAAG,keAAke,CAAC;AACvf,uBAAe,WAAW;;MCWb,QAAQ;;;QAEX,oBAAe,GAAoB,IAAIA,gCAAe,EAAE,CAAC;yBAInC,KAAK;;;;;;wBAOJ;YAC7B,SAAS,EAAE,EAAE;YACb,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,EAAE;SACV;uBAE2B,KAAK;;;yBAGH,KAAK;;;IAGnC,MAAM,iBAAiB;QACrB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;KACzB;IAED,MAAM,UAAU;QACd,IAAI;YACF,IAAI,IAAI,CAAC,MAAM,EAAE;;gBAEf,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;aACpC;SACF;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;SAC7B;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KACnD;IAEM,MAAM,OAAO,CAAC,KAAa;;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAElB,IAAI;YACF,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3E,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAACC,oBAAY,CAAC,QAAQ,CAAC,CAAC;YACtD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,OAAO,GAAG,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,0CAAE,IAAI,0CAAE,OAAO,CAAA;SAC9C;gBAAS;YACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;SACrB;KACF;IAED,aAAa;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,iBAAiB,EAAE,GAAG,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;KAC3K;IAED,gBAAgB;QACd,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;KACxB;IAED,IAAI;QACF,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;KAC/C;IAED,MAAM;QACJ,QACEC,kEAAK,KAAK,EAAC,kBAAkB,IAC3BA,kEAAK,KAAK,EAAC,kBAAkB,IAGzB,CAAC,IAAI,CAAC,SAAS,GAAGA,gCAAoB,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,SAAU,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,GAAI;cAC9GA,yBAAa,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,GAAI,CAG/G,EACNA,wEACE,MAAM,EAAE,IAAI,CAAC,SAAS,EACtB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,OAAO,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAE7CA,6EAAgB,SAAS,EAAE,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,WAAW,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAI,CAC9P,CACR,EACP;KACF;;;;;;;","names":["CrmBonusService","StepFormEnum","h"],"sources":["src/components/crm-bonus/crm-bonus.css?tag=crm-bonus&encapsulation=shadow","src/components/crm-bonus/crm-bonus.tsx"],"sourcesContent":["/* :host {\n display: block;\n} */\n\n.container-button {\n max-width: 100%;\n cursor: pointer;\n padding: 10px;\n display: flex;\n}\n\n/* padding: 0 15px 15px;\nborder: 1px solid #ddd;\nmargin-bottom: 20px; */\n\n.section-crm {\n border: 1px solid #dbd4d4;\n /* min-height: 50px; */\n text-align: -webkit-center;\n margin-bottom: 20px;\n}\n\n.section-cart-crm {\n /* border: 1px solid #dbd4d4; */\n /* min-height: 50px; */\n text-align: -webkit-center;\n margin-bottom: 20px;\n}\n\n.button {\n top: 50%;\n background-color: #6c6c7e;\n color: #fff;\n border: none;\n /* border-radius: 10px; */\n padding: 15px;\n min-height: 30px;\n min-width: 120px;\n font-size: 20px;\n cursor: pointer;\n margin-left: 10px;\n height: 70px;\n}\n\n.form-container {\n width: 100%;\n display: flex;\n justify-content: center;\n justify-content: space-around;\n}","import { Component, Prop, State, h } from '@stencil/core';\nimport { IProduct, IProductWake, ICustomer } from '../../dto/validate.pin.bonus';\nimport { CrmBonusService } from '../../services/crmbonus.service';\nimport { IPinSent } from '../../components';\nimport { StepFormEnum } from '../../contants';\n\n@Component({\n tag: 'crm-bonus',\n styleUrl: 'crm-bonus.css',\n shadow: true,\n assetsDirs: ['assets']\n})\nexport class CrmBonus {\n\n private crmBonusService: CrmBonusService = new CrmBonusService();\n\n private crmBonusRef: HTMLCrmBonusFormElement;\n\n @State() showModal: boolean = false;\n @Prop({ attribute: 'userid' }) userId: number;\n @Prop({ attribute: 'storename' }) storeName;\n @Prop({ attribute: 'products' }) productsInString: string;\n @Prop({ attribute: 'cartid' }) cartId;\n\n @State() products: Array<IProductWake>;\n @State() customer: ICustomer = {\n birthDate: \"\",\n document: \"\",\n name: \"\",\n phone: \"\"\n };\n\n @State() loading: boolean = false;\n @State() message: string;\n @State() phone: number;\n @State() canCancel: boolean = false;\n @State() sent: IPinSent;\n\n async componentWillLoad() {\n await this.handleLoad();\n }\n\n async handleLoad() {\n try {\n if (this.userId) {\n // this.customer = await this.crmBonusService.getCustomer(this.userId, this.storeName);\n console.log('user', this.customer);\n }\n } catch (error) {\n console.log('info customer')\n }\n this.products = JSON.parse(this.productsInString);\n }\n\n public async sendPin(phone: string) {\n this.loading = true;\n this.message = \"\";\n\n try {\n const _phone = phone.replace(/\\D/g, '');\n this.phone = Number(_phone);\n this.sent = await this.crmBonusService.sendPin(this.phone, this.storeName);;\n await this.crmBonusRef.setStep(StepFormEnum.STEP_PIN);\n this.showModal = true;\n } catch (error) {\n this.message = error?.response?.data?.message\n } finally {\n this.loading = false\n }\n }\n\n buildProducts(): IProduct[] {\n return this.products.map(product => ({ sku: product.SKU, value: (product.PrecoPor * product.Quantidade), variantId: product.ProdutoVarianteId, qtd: product.Quantidade }))\n }\n\n handleCloseModal() {\n this.showModal = false;\n }\n\n save() {\n localStorage.setItem('@BYCODERS', this.cartId)\n }\n\n render() {\n return (\n <div class=\"section-cart-crm\">\n <div class=\"container-button\">\n {/* <img src={logo} onClick={() => (this.showModal = true)} /> */}\n {\n !this.canCancel ? <phone-cancel-input value={this.customer.phone} sendPin={() => { }} loading={this.loading} /> \n : <phone-input value={this.customer.phone} sendPin={(phone) => { this.sendPin(phone) }} loading={this.loading} />\n }\n \n </div>\n <app-modal\n isOpen={this.showModal}\n modalTitle={`Giftback`}\n onModalClosed={() => (this.showModal = false)}\n >\n <crm-bonus-form saveStore={() => this.save()} ref={ref => this.crmBonusRef = ref} sent={this.sent} phone={this.phone} cancel={() => this.handleCloseModal()} storeName={this.storeName} products={this.buildProducts()} cartId={this.cartId} customer={this.customer} />\n </app-modal>\n </div>\n )\n }\n}\n"],"version":3}
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-52d8a075.js');
6
+ const appGlobals = require('./app-globals-3a1e7e63.js');
7
+
8
+ /*
9
+ Stencil Client Patch Browser v4.22.2 | MIT Licensed | https://stenciljs.com
10
+ */
11
+ var patchBrowser = () => {
12
+ const importMeta = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('crmbonus-component-wake.cjs.js', document.baseURI).href));
13
+ const opts = {};
14
+ if (importMeta !== "") {
15
+ opts.resourcesUrl = new URL(".", importMeta).href;
16
+ }
17
+ return index.promiseResolve(opts);
18
+ };
19
+
20
+ patchBrowser().then(async (options) => {
21
+ await appGlobals.globalScripts();
22
+ return index.bootstrapLazy([["phone-input-mask.cjs",[[1,"phone-input-mask",{"initialValue":[1,"initial-value"],"disabled":[4],"phone":[32],"getPhone":[64]}]]],["loading-spinner.cjs",[[1,"loading-spinner",{"size":[1],"color":[1]}]]],["giftback-finish_3.cjs",[[1,"giftback-pin",{"sent":[16],"validate":[16],"cancel":[16],"loading":[4],"pin":[32],"isVerified":[32]}],[1,"giftback-progress",{"loading":[4],"bonus":[16],"reserve":[16],"cancel":[16],"usedValue":[32]}],[1,"giftback-finish"]]],["app-modal_4.cjs",[[1,"crm-bonus-form",{"storeName":[8,"storename"],"cartId":[8,"cart-id"],"products":[16],"customer":[16],"sent":[16],"stepNext":[2,"step-next"],"phone":[2],"saveStore":[16],"cancel":[16],"loading":[32],"step":[32],"message":[32],"bonus":[32],"setStep":[64]}],[0,"phone-cancel-input",{"sendPin":[16],"loading":[4],"value":[1]}],[0,"phone-input",{"sendPin":[16],"loading":[4],"value":[1]}],[1,"app-modal",{"isOpen":[516,"is-open"],"modalTitle":[1,"modal-title"]}]]],["crm-bonus.cjs",[[1,"crm-bonus",{"userId":[2,"userid"],"storeName":[8,"storename"],"productsInString":[1,"products"],"cartId":[8,"cartid"],"showModal":[32],"products":[32],"customer":[32],"loading":[32],"message":[32],"phone":[32],"canCancel":[32],"sent":[32]}]]],["pedido-finalizado.cjs",[[0,"pedido-finalizado",{"cartId":[1,"cartid"],"orderId":[2,"orderid"],"metadadoString":[1,"metadado"]}]]]], options);
23
+ });
24
+
25
+ exports.setNonce = index.setNonce;
26
+
27
+ //# sourceMappingURL=crmbonus-component-wake.cjs.js.map
@@ -0,0 +1 @@
1
+ {"file":"crmbonus-component-wake.cjs.js","mappings":";;;;;;;AAAA;AACA;AACA;AAKA,IAAI,YAAY,GAAG,MAAM;AAUzB,EAAE,MAAM,UAAU,GAAG,yNAAe,CAAC;AACrC,EAAE,MAAM,IAAI,GAAiE,EAAE,CAAC;AAChF,EAAE,IAAI,UAAU,KAAK,EAAE,EAAE;AACzB,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC;AACtD,GAAG;AACH,EAAE,OAAOA,oBAAc,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;;ACnBD,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,OAAO,KAAK;AACvC,EAAE,MAAMC,wBAAa,EAAE,CAAC;AACxB,EAAE,OAAOC,mBAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC,CAAC;;;;","names":["promiseResolve","globalScripts","bootstrapLazy"],"sources":["node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v4.22.2 | MIT Licensed | https://stenciljs.com\n */\n\n// src/client/client-patch-browser.ts\nimport { BUILD, NAMESPACE } from \"@stencil/core/internal/app-data\";\nimport { consoleDevInfo, doc, H, promiseResolve } from \"@stencil/core\";\nvar patchBrowser = () => {\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo(\"Running in development mode.\");\n }\n if (BUILD.cloneNodeFix) {\n patchCloneNodeFix(H.prototype);\n }\n const scriptElm = BUILD.scriptDataOpts ? Array.from(doc.querySelectorAll(\"script\")).find(\n (s) => new RegExp(`/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) || s.getAttribute(\"data-stencil-namespace\") === NAMESPACE\n ) : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? (scriptElm || {})[\"data-opts\"] || {} : {};\n if (importMeta !== \"\") {\n opts.resourcesUrl = new URL(\".\", importMeta).href;\n }\n return promiseResolve(opts);\n};\nvar patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function(deep) {\n if (this.nodeName === \"TEMPLATE\") {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport {\n patchBrowser\n};\n","export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(async (options) => {\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"version":3}