crmbonus-component-wake 2.0.58 → 2.0.60

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 (126) hide show
  1. package/dist/cjs/app-modal.cjs.entry.js +1 -1
  2. package/dist/cjs/countdown-timer_4.cjs.entry.js +1 -1
  3. package/dist/cjs/crm-bonus-form.cjs.entry.js +1 -1
  4. package/dist/cjs/crm-bonus-note.cjs.entry.js +1 -1
  5. package/dist/cjs/crm-bonus.cjs.entry.js +13 -3
  6. package/dist/cjs/crm-bonus.cjs.entry.js.map +1 -1
  7. package/dist/cjs/crm-button.cjs.entry.js +1 -1
  8. package/dist/cjs/crm-giftback-form.cjs.entry.js +1 -1
  9. package/dist/cjs/crmbonus-component-wake.cjs.js +2 -2
  10. package/dist/cjs/giftback-finish_4.cjs.entry.js +1 -1
  11. package/dist/cjs/{index-80419303.js → index-e3122e18.js} +68 -7
  12. package/dist/cjs/index-e3122e18.js.map +1 -0
  13. package/dist/cjs/loader.cjs.js +2 -2
  14. package/dist/cjs/loading-spinner.cjs.entry.js +1 -1
  15. package/dist/cjs/pedido-finalizado.cjs.entry.js +1 -1
  16. package/dist/cjs/phone-cancel-input.cjs.entry.js +1 -1
  17. package/dist/cjs/phone-input-mask.cjs.entry.js +1 -1
  18. package/dist/cjs/phone-input.cjs.entry.js +1 -1
  19. package/dist/collection/components/crm-bonus/crm-bonus.js +36 -2
  20. package/dist/collection/components/crm-bonus/crm-bonus.js.map +1 -1
  21. package/dist/components/app-modal.js +1 -1
  22. package/dist/components/countdown-timer.js +1 -1
  23. package/dist/components/crm-bonus-form.js +6 -6
  24. package/dist/components/crm-bonus-note.js +1 -1
  25. package/dist/components/crm-bonus.js +26 -14
  26. package/dist/components/crm-bonus.js.map +1 -1
  27. package/dist/components/crm-button.js +1 -1
  28. package/dist/components/crm-giftback-form.js +1 -1
  29. package/dist/components/giftback-finish.js +1 -1
  30. package/dist/components/giftback-info.js +1 -1
  31. package/dist/components/giftback-pin.js +1 -1
  32. package/dist/components/giftback-progress.js +1 -1
  33. package/dist/components/index.js +1 -1
  34. package/dist/components/loading-spinner.js +1 -1
  35. package/dist/components/name-input.js +1 -1
  36. package/dist/components/{p-3ce2836b.js → p-0ca4e1f6.js} +9 -9
  37. package/dist/components/{p-3ce2836b.js.map → p-0ca4e1f6.js.map} +1 -1
  38. package/dist/components/{p-f5fcff75.js → p-24d29b6b.js} +2 -2
  39. package/dist/components/{p-f5fcff75.js.map → p-24d29b6b.js.map} +1 -1
  40. package/dist/components/{p-a30bd6b1.js → p-2a4df0a2.js} +3 -3
  41. package/dist/components/{p-a30bd6b1.js.map → p-2a4df0a2.js.map} +1 -1
  42. package/dist/components/{p-e4ac17bf.js → p-2db8985c.js} +3 -3
  43. package/dist/components/{p-e4ac17bf.js.map → p-2db8985c.js.map} +1 -1
  44. package/dist/components/{p-f168d5f6.js → p-5f330088.js} +3 -3
  45. package/dist/components/{p-f168d5f6.js.map → p-5f330088.js.map} +1 -1
  46. package/dist/components/{p-39d680b6.js → p-8bc69d9b.js} +2 -2
  47. package/dist/components/{p-39d680b6.js.map → p-8bc69d9b.js.map} +1 -1
  48. package/dist/components/{p-2f266d73.js → p-b289b82d.js} +62 -7
  49. package/dist/components/p-b289b82d.js.map +1 -0
  50. package/dist/components/{p-5c3fe5a8.js → p-bfe98629.js} +2 -2
  51. package/dist/components/{p-5c3fe5a8.js.map → p-bfe98629.js.map} +1 -1
  52. package/dist/components/{p-70431539.js → p-c1d19bba.js} +5 -5
  53. package/dist/components/{p-70431539.js.map → p-c1d19bba.js.map} +1 -1
  54. package/dist/components/{p-1633784e.js → p-c2358b51.js} +3 -3
  55. package/dist/components/{p-1633784e.js.map → p-c2358b51.js.map} +1 -1
  56. package/dist/components/{p-bb3a781b.js → p-c933623f.js} +2 -2
  57. package/dist/components/{p-bb3a781b.js.map → p-c933623f.js.map} +1 -1
  58. package/dist/components/{p-2fb85950.js → p-c95d6c01.js} +2 -2
  59. package/dist/components/{p-2fb85950.js.map → p-c95d6c01.js.map} +1 -1
  60. package/dist/components/{p-d78762f7.js → p-e957883c.js} +5 -5
  61. package/dist/components/{p-d78762f7.js.map → p-e957883c.js.map} +1 -1
  62. package/dist/components/pedido-finalizado.js +1 -1
  63. package/dist/components/phone-cancel-input.js +3 -3
  64. package/dist/components/phone-form.js +1 -1
  65. package/dist/components/phone-input-mask.js +1 -1
  66. package/dist/components/phone-input.js +3 -3
  67. package/dist/components/pin-form.js +1 -1
  68. package/dist/crmbonus-component-wake/crmbonus-component-wake.esm.js +1 -1
  69. package/dist/crmbonus-component-wake/crmbonus-component-wake.esm.js.map +1 -1
  70. package/dist/crmbonus-component-wake/{p-c86583a2.entry.js → p-0152eebc.entry.js} +2 -2
  71. package/dist/crmbonus-component-wake/{p-b01807c8.entry.js → p-3e01eee6.entry.js} +2 -2
  72. package/dist/crmbonus-component-wake/p-450423b5.entry.js +2 -0
  73. package/dist/crmbonus-component-wake/p-45c0296c.js +3 -0
  74. package/dist/crmbonus-component-wake/p-45c0296c.js.map +1 -0
  75. package/dist/crmbonus-component-wake/{p-0bf0fffe.entry.js → p-5d209c28.entry.js} +2 -2
  76. package/dist/crmbonus-component-wake/p-6a281930.entry.js +2 -0
  77. package/dist/crmbonus-component-wake/p-6a281930.entry.js.map +1 -0
  78. package/dist/crmbonus-component-wake/{p-b7ecfee1.entry.js → p-9901d9e2.entry.js} +2 -2
  79. package/dist/crmbonus-component-wake/{p-66f41fd0.entry.js → p-a950d747.entry.js} +2 -2
  80. package/dist/crmbonus-component-wake/{p-d398c696.entry.js → p-b7103956.entry.js} +2 -2
  81. package/dist/crmbonus-component-wake/{p-b726ea4f.entry.js → p-c00e02a8.entry.js} +2 -2
  82. package/dist/crmbonus-component-wake/{p-83afadf2.entry.js → p-d44969be.entry.js} +2 -2
  83. package/dist/crmbonus-component-wake/{p-50393c97.entry.js → p-d6314a45.entry.js} +2 -2
  84. package/dist/crmbonus-component-wake/{p-8b9a1aec.entry.js → p-d95bd37f.entry.js} +2 -2
  85. package/dist/crmbonus-component-wake/{p-3beb5158.entry.js → p-da97c793.entry.js} +2 -2
  86. package/dist/esm/app-modal.entry.js +1 -1
  87. package/dist/esm/countdown-timer_4.entry.js +1 -1
  88. package/dist/esm/crm-bonus-form.entry.js +1 -1
  89. package/dist/esm/crm-bonus-note.entry.js +1 -1
  90. package/dist/esm/crm-bonus.entry.js +13 -3
  91. package/dist/esm/crm-bonus.entry.js.map +1 -1
  92. package/dist/esm/crm-button.entry.js +1 -1
  93. package/dist/esm/crm-giftback-form.entry.js +1 -1
  94. package/dist/esm/crmbonus-component-wake.js +3 -3
  95. package/dist/esm/giftback-finish_4.entry.js +1 -1
  96. package/dist/esm/{index-a4c14fca.js → index-c477a8b3.js} +68 -7
  97. package/dist/esm/index-c477a8b3.js.map +1 -0
  98. package/dist/esm/loader.js +3 -3
  99. package/dist/esm/loading-spinner.entry.js +1 -1
  100. package/dist/esm/pedido-finalizado.entry.js +1 -1
  101. package/dist/esm/phone-cancel-input.entry.js +1 -1
  102. package/dist/esm/phone-input-mask.entry.js +1 -1
  103. package/dist/esm/phone-input.entry.js +1 -1
  104. package/dist/types/components/crm-bonus/crm-bonus.d.ts +2 -0
  105. package/dist/types/components.d.ts +1 -0
  106. package/package.json +1 -1
  107. package/dist/cjs/index-80419303.js.map +0 -1
  108. package/dist/components/p-2f266d73.js.map +0 -1
  109. package/dist/crmbonus-component-wake/p-15854edc.entry.js +0 -2
  110. package/dist/crmbonus-component-wake/p-15854edc.entry.js.map +0 -1
  111. package/dist/crmbonus-component-wake/p-6e6bf96e.js +0 -3
  112. package/dist/crmbonus-component-wake/p-6e6bf96e.js.map +0 -1
  113. package/dist/crmbonus-component-wake/p-adb37e26.entry.js +0 -2
  114. package/dist/esm/index-a4c14fca.js.map +0 -1
  115. /package/dist/crmbonus-component-wake/{p-c86583a2.entry.js.map → p-0152eebc.entry.js.map} +0 -0
  116. /package/dist/crmbonus-component-wake/{p-b01807c8.entry.js.map → p-3e01eee6.entry.js.map} +0 -0
  117. /package/dist/crmbonus-component-wake/{p-adb37e26.entry.js.map → p-450423b5.entry.js.map} +0 -0
  118. /package/dist/crmbonus-component-wake/{p-0bf0fffe.entry.js.map → p-5d209c28.entry.js.map} +0 -0
  119. /package/dist/crmbonus-component-wake/{p-b7ecfee1.entry.js.map → p-9901d9e2.entry.js.map} +0 -0
  120. /package/dist/crmbonus-component-wake/{p-66f41fd0.entry.js.map → p-a950d747.entry.js.map} +0 -0
  121. /package/dist/crmbonus-component-wake/{p-d398c696.entry.js.map → p-b7103956.entry.js.map} +0 -0
  122. /package/dist/crmbonus-component-wake/{p-b726ea4f.entry.js.map → p-c00e02a8.entry.js.map} +0 -0
  123. /package/dist/crmbonus-component-wake/{p-83afadf2.entry.js.map → p-d44969be.entry.js.map} +0 -0
  124. /package/dist/crmbonus-component-wake/{p-50393c97.entry.js.map → p-d6314a45.entry.js.map} +0 -0
  125. /package/dist/crmbonus-component-wake/{p-8b9a1aec.entry.js.map → p-d95bd37f.entry.js.map} +0 -0
  126. /package/dist/crmbonus-component-wake/{p-3beb5158.entry.js.map → p-da97c793.entry.js.map} +0 -0
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-80419303.js');
5
+ const index = require('./index-e3122e18.js');
6
6
 
7
7
  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{}";
8
8
  const AppModalStyle0 = appModalCss;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-80419303.js');
5
+ const index = require('./index-e3122e18.js');
6
6
  const i18n = require('./i18n-efd790a3.js');
7
7
 
8
8
  const CountdownTimer = class {
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-80419303.js');
5
+ const index = require('./index-e3122e18.js');
6
6
  const crmbonus_service = require('./crmbonus.service-bd457de6.js');
7
7
  const index$1 = require('./index-96a8951f.js');
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-80419303.js');
5
+ const index = require('./index-e3122e18.js');
6
6
  const info_config_helper = require('./info.config.helper-c5d9f781.js');
7
7
  const crmbonus_service = require('./crmbonus.service-bd457de6.js');
8
8
 
@@ -2,12 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-80419303.js');
5
+ const index = require('./index-e3122e18.js');
6
6
  const crmbonus_service = require('./crmbonus.service-bd457de6.js');
7
7
  const index$1 = require('./index-96a8951f.js');
8
8
  const i18n = require('./i18n-efd790a3.js');
9
9
 
10
- const crmBonusCss = ".container-button{cursor:pointer;padding:5px 5px 5px 14px;}.section-crm{border:1px solid #dbd4d4;text-align:-webkit-center;margin-bottom:20px}.section-cart-crm{margin-top:10px}.section-cart-crm p{padding:0;margin:0px 0px 0px 15px}.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:97%;display:flex;justify-content:space-around}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:0px}.form-container .btnCrm{background:#00162e;border-color:#00162e;width:30%;color:#fff}.message-alert{font-family:sans-serif;color:#df4d4d;margin-top:5px}";
10
+ const crmBonusCss = ".container-button.sc-crm-bonus{cursor:pointer;padding:5px 5px 5px 14px}.section-crm.sc-crm-bonus{border:1px solid #dbd4d4;text-align:-webkit-center;margin-bottom:20px}.section-cart-crm.sc-crm-bonus{margin-top:10px}.section-cart-crm.sc-crm-bonus p.sc-crm-bonus{padding:0;margin:0px 0px 0px 15px}.button.sc-crm-bonus{top:50%;background-color:#6c6c7e;color:#fff;border:none;padding:15px;min-height:30px;min-width:120px;font-size:20px;cursor:pointer;margin-left:10px;height:70px}.form-container.sc-crm-bonus{width:97%;display:flex;justify-content:space-around}.btn.sc-crm-bonus{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:0px}.form-container.sc-crm-bonus .btnCrm.sc-crm-bonus{background:#00162e;border-color:#00162e;width:30%;color:#fff}.message-alert.sc-crm-bonus{font-family:sans-serif;color:#df4d4d;margin-top:5px}";
11
11
  const CrmBonusStyle0 = crmBonusCss;
12
12
 
13
13
  const CrmBonus = class {
@@ -34,6 +34,13 @@ const CrmBonus = class {
34
34
  this.sent = undefined;
35
35
  this.session = undefined;
36
36
  }
37
+ async resetBonus() {
38
+ console.log('[BONUS RESETADO]!!!!!');
39
+ }
40
+ watchProducts(newValue, oldValue) {
41
+ console.log('[NEW VALUE PRODUCTS]', newValue);
42
+ console.log('[OLD VALUE PRODUCTS]', oldValue);
43
+ }
37
44
  async componentWillLoad() {
38
45
  i18n.instance.changeLanguage(i18n.instance.language);
39
46
  await this.loadSession();
@@ -163,7 +170,7 @@ const CrmBonus = class {
163
170
  this.showModal = true;
164
171
  }
165
172
  render() {
166
- return (index.h("crm-giftback-form", { key: 'fd10b1654d2c1a075635bdfb15863b5fe6e61523', storeName: this.storeName, products: this.buildProducts(), cartId: this.cartId, customer: this.customer })
173
+ return (index.h("crm-giftback-form", { key: 'e130940e3f6484fb715139063ee0f0aa001197ef', storeName: this.storeName, products: this.buildProducts(), cartId: this.cartId, customer: this.customer })
167
174
  // <div class="section-cart-crm">
168
175
  // <p class="text-left fbits-responsive-carrinho-desconto-texto">Giftback</p>
169
176
  // <div class="container-button">
@@ -196,6 +203,9 @@ const CrmBonus = class {
196
203
  );
197
204
  }
198
205
  static get assetsDirs() { return ["assets"]; }
206
+ static get watchers() { return {
207
+ "productsInString": ["watchProducts"]
208
+ }; }
199
209
  };
200
210
  CrmBonus.style = CrmBonusStyle0;
201
211
 
@@ -1 +1 @@
1
- {"file":"crm-bonus.entry.cjs.js","mappings":"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","names":["CrmBonusService","i18next","StepFormEnum","h"],"sources":["src/components/crm-bonus/crm-bonus.css?tag=crm-bonus&encapsulation=shadow","src/components/crm-bonus/crm-bonus.tsx"],"sourcesContent":["\n.container-button {\n /* max-width: 100%; */\n cursor: pointer;\n padding: 5px 5px 5px 14px;\n /* display: flex; */\n}\n\n/* padding: 0 15px 15px;\nborder: 1px solid #ddd;\nmargin-bottom: 20px; */\n\n.section-crm {\n border: 1px solid #dbd4d4;\n /* min-height: 50px; */\n text-align: -webkit-center;\n margin-bottom: 20px;\n}\n\n.section-cart-crm {\n margin-top: 10px;\n}\n\n.section-cart-crm p {\n padding: 0;\n margin: 0px 0px 0px 15px;\n}\n\n.button {\n top: 50%;\n background-color: #6c6c7e;\n color: #fff;\n border: none;\n /* border-radius: 10px; */\n padding: 15px;\n min-height: 30px;\n min-width: 120px;\n font-size: 20px;\n cursor: pointer;\n margin-left: 10px;\n height: 70px;\n}\n\n.form-container {\n width: 97%;\n display: flex;\n justify-content: space-around;\n}\n\n\n.btn {\n display: inline-block;\n padding: 6px 12px;\n margin-bottom: 0;\n font-size: 14px;\n font-weight: 400;\n line-height: 1.42857143;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n -ms-touch-action: manipulation;\n touch-action: manipulation;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 0px;\n}\n\n.form-container .btnCrm {\n background: #00162e;\n border-color: #00162e;\n width: 30%;\n color: #fff;\n}\n\n.message-alert {\n font-family: sans-serif;\n color: #df4d4d;\n margin-top: 5px;\n}","import { Component, Prop, State, h } from '@stencil/core';\nimport { IProduct, IProductWake, ICustomer } from '../../dto/validate.pin.bonus';\nimport { CrmBonusService } from '../../services/crmbonus.service';\nimport { IPinSent } from '../../components';\nimport { StepFormEnum } from '../../contants';\n\nimport i18next from '../../i18n/i18n'\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 = CrmBonusService.getInstance();\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() amountCancel: string;\n @State() sent: IPinSent;\n\n @State() session: string;\n\n async componentWillLoad() {\n i18next.changeLanguage(i18next.language);\n\n await this.loadSession();\n await this.loadConfigStore()\n await this.handleLoad();\n }\n\n async loadConfigStore() {\n await this.crmBonusService.getCustomization(this.storeName);\n }\n\n async handleLoad() {\n try {\n if (this.userId) {\n this.customer = await this.crmBonusService.getCustomer(this.userId, this.storeName);\n // this.phone = Number(this.customer.phone)\n }\n\n const amount = localStorage.getItem(this.cartId);\n\n if (amount) {\n this.canCancel = true;\n this.amountCancel = amount;\n }\n\n } catch (error) {\n console.log('info customer')\n }\n \n this.buildAndGetProducts();\n }\n\n\n async loadSession() {\n this.session = await this.crmBonusService.getToken(this.storeName);\n\n setTimeout(() => {\n this.loadSession()\n }, 1500000)\n\n }\n\n async buildAndGetProducts() {\n const key = `bc-products:${this.cartId}`;\n const cache_products = localStorage.getItem(key)\n\n if (!cache_products) {\n localStorage.setItem(key, this.productsInString);\n }\n\n const productsInCart = JSON.parse(this.productsInString);\n const products_in_cache = JSON.parse(localStorage.getItem(key));\n\n const products: Array<IProductWake> = []\n\n for (const product_cart of productsInCart) {\n\n const [pro] = products_in_cache.filter(p => p.ProdutoVarianteId == product_cart.ProdutoVarianteId)\n\n if (pro) {\n products.push({\n ...product_cart,\n PrecoPor: pro.PrecoPor\n })\n } else {\n products.push(product_cart)\n }\n \n }\n\n this.products = products; //cache_products ? JSON.parse(cache_products) : JSON.parse(this.productsInString);\n\n }\n\n public async sendPin(phone: string) {\n this.loading = true;\n this.message = \"\";\n\n try {\n\n const _phone = phone.replace(/\\D/g, '');\n this.phone = Number(_phone);\n\n this.sent = await this.crmBonusService.sendPin(this.phone, this.customer.name, this.storeName);;\n\n await this.crmBonusRef.setStep(StepFormEnum.STEP_PIN);\n\n this.showModal = true;\n } catch (error) {\n this.message = error?.response?.data?.message\n } finally {\n this.loading = false\n }\n }\n\n public async sendPinName(customerName: string) {\n this.loading = true;\n this.message = \"\";\n\n try {\n this.customer.name = customerName;\n\n this.sent = await this.crmBonusService.sendPin(this.phone, this.customer.name, this.storeName);;\n\n await this.crmBonusRef.setStep(StepFormEnum.STEP_PIN);\n\n this.showModal = true;\n } catch (error) {\n this.message = error?.response?.data?.message\n } finally {\n this.loading = false\n }\n }\n\n buildProducts(): IProduct[] {\n return this.products.map(product => ({ sku: product.SKU, value: (product.PrecoPor * product.Quantidade), productVariantId: product.ProdutoVarianteId.toString(), quantity: product.Quantidade }))\n }\n\n handleCloseModal() {\n this.showModal = false;\n }\n\n save(amount: number) {\n localStorage.setItem(this.cartId, amount.toString());\n this.canCancel = true;\n this.amountCancel = amount.toString()\n }\n\n async cancel() {\n this.message = \"\";\n this.loading = true;\n try {\n await this.crmBonusService.cancel(this.cartId);\n this.canCancel = false;\n\n localStorage.removeItem(this.cartId);\n } catch (error) {\n this.message = \"Não consegui cancelar o bônus, tente novamente!\"\n } finally {\n this.loading = false;\n }\n }\n\n async handleSendPin(phone: string) {\n this.message = \"\"\n if (!phone) {\n this.message = \"Informe seu telefone\";\n return;\n }\n\n this.customer.phone = phone;\n const _phone = phone.replace(/\\D/g, '');\n this.phone = Number(_phone);\n\n if (this.customer.name) {\n return this.sendPin(phone)\n }\n\n await this.crmBonusRef.setStep(StepFormEnum.STEP_NAME);\n this.showModal = true;\n }\n\n render() {\n\n return (\n <crm-giftback-form \n storeName={this.storeName}\n products={this.buildProducts()}\n cartId={this.cartId}\n customer={this.customer}\n />\n // <div class=\"section-cart-crm\">\n // <p class=\"text-left fbits-responsive-carrinho-desconto-texto\">Giftback</p>\n // <div class=\"container-button\">\n // {/* <img src={logo} onClick={() => (this.showModal = true)} /> */}\n // {\n // this.canCancel ? <phone-cancel-input value={this.amountCancel} sendPin={() => { this.cancel() }} loading={this.loading} />\n // : <phone-input value={this.customer.phone} sendPin={(phone) => { this.handleSendPin(phone) }} loading={this.loading} />\n // }\n // </div>\n // <p class=\"message-alert\" >{this.message}</p>\n // <app-modal\n // isOpen={this.showModal}\n // modalTitle={`Giftback`}\n // onModalClosed={() => (this.showModal = false)}\n // >\n // <crm-bonus-form\n // loadingModal={this.loading}\n // saveStore={(amount: number) => this.save(amount)}\n // ref={ref => this.crmBonusRef = ref}\n // sent={this.sent}\n // phone={this.phone}\n // cancel={() => this.handleCloseModal()}\n // storeName={this.storeName}\n // products={this.buildProducts()}\n // cartId={this.cartId} customer={this.customer}\n // handleCustomerName={(name: string) => this.sendPinName(name)}\n // />\n // </app-modal>\n // </div>\n )\n }\n}\n"],"version":3}
1
+ {"file":"crm-bonus.entry.cjs.js","mappings":"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","names":["CrmBonusService","i18next","StepFormEnum","h"],"sources":["src/components/crm-bonus/crm-bonus.css?tag=crm-bonus&encapsulation=scoped","src/components/crm-bonus/crm-bonus.tsx"],"sourcesContent":["\n.container-button {\n /* max-width: 100%; */\n cursor: pointer;\n padding: 5px 5px 5px 14px;\n /* display: flex; */\n}\n\n/* padding: 0 15px 15px;\nborder: 1px solid #ddd;\nmargin-bottom: 20px; */\n\n.section-crm {\n border: 1px solid #dbd4d4;\n /* min-height: 50px; */\n text-align: -webkit-center;\n margin-bottom: 20px;\n}\n\n.section-cart-crm {\n margin-top: 10px;\n}\n\n.section-cart-crm p {\n padding: 0;\n margin: 0px 0px 0px 15px;\n}\n\n.button {\n top: 50%;\n background-color: #6c6c7e;\n color: #fff;\n border: none;\n /* border-radius: 10px; */\n padding: 15px;\n min-height: 30px;\n min-width: 120px;\n font-size: 20px;\n cursor: pointer;\n margin-left: 10px;\n height: 70px;\n}\n\n.form-container {\n width: 97%;\n display: flex;\n justify-content: space-around;\n}\n\n\n.btn {\n display: inline-block;\n padding: 6px 12px;\n margin-bottom: 0;\n font-size: 14px;\n font-weight: 400;\n line-height: 1.42857143;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n -ms-touch-action: manipulation;\n touch-action: manipulation;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 0px;\n}\n\n.form-container .btnCrm {\n background: #00162e;\n border-color: #00162e;\n width: 30%;\n color: #fff;\n}\n\n.message-alert {\n font-family: sans-serif;\n color: #df4d4d;\n margin-top: 5px;\n}","import { Component, Method, Prop, State, Watch, h } from '@stencil/core';\nimport { IProduct, IProductWake, ICustomer } from '../../dto/validate.pin.bonus';\nimport { CrmBonusService } from '../../services/crmbonus.service';\nimport { IPinSent } from '../../components';\nimport { StepFormEnum } from '../../contants';\n\nimport i18next from '../../i18n/i18n'\n\n@Component({\n tag: 'crm-bonus',\n styleUrl: 'crm-bonus.css',\n scoped: true,\n assetsDirs: ['assets']\n})\nexport class CrmBonus {\n\n private crmBonusService: CrmBonusService = CrmBonusService.getInstance();\n\n private crmBonusRef: 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() amountCancel: string;\n @State() sent: IPinSent;\n\n @State() session: string;\n\n @Method()\n async resetBonus() {\n console.log('[BONUS RESETADO]!!!!!');\n }\n\n\n @Watch(\"productsInString\")\n watchProducts(newValue: string, oldValue: string) {\n\n console.log('[NEW VALUE PRODUCTS]', newValue);\n console.log('[OLD VALUE PRODUCTS]', oldValue);\n\n }\n\n async componentWillLoad() {\n i18next.changeLanguage(i18next.language);\n\n await this.loadSession();\n await this.loadConfigStore()\n await this.handleLoad();\n }\n\n async loadConfigStore() {\n await this.crmBonusService.getCustomization(this.storeName);\n }\n\n async handleLoad() {\n try {\n if (this.userId) {\n this.customer = await this.crmBonusService.getCustomer(this.userId, this.storeName);\n // this.phone = Number(this.customer.phone)\n }\n\n const amount = localStorage.getItem(this.cartId);\n\n if (amount) {\n this.canCancel = true;\n this.amountCancel = amount;\n }\n\n } catch (error) {\n console.log('info customer')\n }\n \n this.buildAndGetProducts();\n }\n\n\n async loadSession() {\n this.session = await this.crmBonusService.getToken(this.storeName);\n\n setTimeout(() => {\n this.loadSession()\n }, 1500000)\n\n }\n\n async buildAndGetProducts() {\n const key = `bc-products:${this.cartId}`;\n const cache_products = localStorage.getItem(key)\n\n if (!cache_products) {\n localStorage.setItem(key, this.productsInString);\n }\n\n const productsInCart = JSON.parse(this.productsInString);\n const products_in_cache = JSON.parse(localStorage.getItem(key));\n\n const products: Array<IProductWake> = []\n\n for (const product_cart of productsInCart) {\n\n const [pro] = products_in_cache.filter(p => p.ProdutoVarianteId == product_cart.ProdutoVarianteId)\n\n if (pro) {\n products.push({\n ...product_cart,\n PrecoPor: pro.PrecoPor\n })\n } else {\n products.push(product_cart)\n }\n \n }\n\n this.products = products; //cache_products ? JSON.parse(cache_products) : JSON.parse(this.productsInString);\n\n }\n\n public async sendPin(phone: string) {\n this.loading = true;\n this.message = \"\";\n\n try {\n\n const _phone = phone.replace(/\\D/g, '');\n this.phone = Number(_phone);\n\n this.sent = await this.crmBonusService.sendPin(this.phone, this.customer.name, this.storeName);;\n\n await this.crmBonusRef.setStep(StepFormEnum.STEP_PIN);\n\n this.showModal = true;\n } catch (error) {\n this.message = error?.response?.data?.message\n } finally {\n this.loading = false\n }\n }\n\n public async sendPinName(customerName: string) {\n this.loading = true;\n this.message = \"\";\n\n try {\n this.customer.name = customerName;\n\n this.sent = await this.crmBonusService.sendPin(this.phone, this.customer.name, this.storeName);;\n\n await this.crmBonusRef.setStep(StepFormEnum.STEP_PIN);\n\n this.showModal = true;\n } catch (error) {\n this.message = error?.response?.data?.message\n } finally {\n this.loading = false\n }\n }\n\n buildProducts(): IProduct[] {\n return this.products.map(product => ({ sku: product.SKU, value: (product.PrecoPor * product.Quantidade), productVariantId: product.ProdutoVarianteId.toString(), quantity: product.Quantidade }))\n }\n\n handleCloseModal() {\n this.showModal = false;\n }\n\n save(amount: number) {\n localStorage.setItem(this.cartId, amount.toString());\n this.canCancel = true;\n this.amountCancel = amount.toString()\n }\n\n async cancel() {\n this.message = \"\";\n this.loading = true;\n try {\n await this.crmBonusService.cancel(this.cartId);\n this.canCancel = false;\n\n localStorage.removeItem(this.cartId);\n } catch (error) {\n this.message = \"Não consegui cancelar o bônus, tente novamente!\"\n } finally {\n this.loading = false;\n }\n }\n\n async handleSendPin(phone: string) {\n this.message = \"\"\n if (!phone) {\n this.message = \"Informe seu telefone\";\n return;\n }\n\n this.customer.phone = phone;\n const _phone = phone.replace(/\\D/g, '');\n this.phone = Number(_phone);\n\n if (this.customer.name) {\n return this.sendPin(phone)\n }\n\n await this.crmBonusRef.setStep(StepFormEnum.STEP_NAME);\n this.showModal = true;\n }\n\n render() {\n\n return (\n <crm-giftback-form \n storeName={this.storeName}\n products={this.buildProducts()}\n cartId={this.cartId}\n customer={this.customer}\n />\n // <div class=\"section-cart-crm\">\n // <p class=\"text-left fbits-responsive-carrinho-desconto-texto\">Giftback</p>\n // <div class=\"container-button\">\n // {/* <img src={logo} onClick={() => (this.showModal = true)} /> */}\n // {\n // this.canCancel ? <phone-cancel-input value={this.amountCancel} sendPin={() => { this.cancel() }} loading={this.loading} />\n // : <phone-input value={this.customer.phone} sendPin={(phone) => { this.handleSendPin(phone) }} loading={this.loading} />\n // }\n // </div>\n // <p class=\"message-alert\" >{this.message}</p>\n // <app-modal\n // isOpen={this.showModal}\n // modalTitle={`Giftback`}\n // onModalClosed={() => (this.showModal = false)}\n // >\n // <crm-bonus-form\n // loadingModal={this.loading}\n // saveStore={(amount: number) => this.save(amount)}\n // ref={ref => this.crmBonusRef = ref}\n // sent={this.sent}\n // phone={this.phone}\n // cancel={() => this.handleCloseModal()}\n // storeName={this.storeName}\n // products={this.buildProducts()}\n // cartId={this.cartId} customer={this.customer}\n // handleCustomerName={(name: string) => this.sendPinName(name)}\n // />\n // </app-modal>\n // </div>\n )\n }\n}\n"],"version":3}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-80419303.js');
5
+ const index = require('./index-e3122e18.js');
6
6
 
7
7
  const crmButtonCss = "input,button{margin:0;padding:10px;}.crm-contaner-button{height:auto;width:auto}.crm-button{height:48px;width:246px;border:1px solid #000;padding:14px 20px;background-color:#000;color:#fff;font-size:14px;line-height:20px;font-weight:500;cursor:pointer}";
8
8
  const CrmButtonStyle0 = crmButtonCss;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-80419303.js');
5
+ const index = require('./index-e3122e18.js');
6
6
  const crmbonus_service = require('./crmbonus.service-bd457de6.js');
7
7
  const index$1 = require('./index-96a8951f.js');
8
8
  const info_config_helper = require('./info.config.helper-c5d9f781.js');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-80419303.js');
5
+ const index = require('./index-e3122e18.js');
6
6
  const appGlobals = require('./app-globals-3a1e7e63.js');
7
7
 
8
8
  /*
@@ -19,7 +19,7 @@ var patchBrowser = () => {
19
19
 
20
20
  patchBrowser().then(async (options) => {
21
21
  await appGlobals.globalScripts();
22
- return index.bootstrapLazy([["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],"amountCancel":[32],"sent":[32],"session":[32]}]]],["crm-bonus-form.cjs",[[1,"crm-bonus-form",{"storeName":[8,"storename"],"cartId":[8,"cart-id"],"products":[16],"customer":[16],"sent":[16],"stepNext":[2,"step-next"],"phone":[2],"loadingModal":[4,"loading-modal"],"saveStore":[16],"cancel":[16],"handleCustomerName":[16],"loading":[32],"step":[32],"message":[32],"bonus":[32],"setStep":[64]}]]],["phone-cancel-input.cjs",[[0,"phone-cancel-input",{"sendPin":[16],"loading":[4],"value":[1]}]]],["phone-input.cjs",[[0,"phone-input",{"sendPin":[16],"loading":[4],"value":[1]}]]],["app-modal.cjs",[[1,"app-modal",{"isOpen":[516,"is-open"],"modalTitle":[1,"modal-title"]}]]],["crm-bonus-note.cjs",[[0,"crm-bonus-note",{"cartId":[8,"cartid"],"storename":[8],"url":[32],"config":[32]}]]],["pedido-finalizado.cjs",[[0,"pedido-finalizado",{"cartId":[1,"cartid"],"orderId":[2,"orderid"],"metadadoString":[1,"metadado"]}]]],["crm-button.cjs",[[0,"crm-button",{"txtBtn":[1,"txt-btn"],"loading":[4],"handleClick":[16]}]]],["phone-input-mask.cjs",[[1,"phone-input-mask",{"initialValue":[1,"initial-value"],"disabled":[4],"phone":[32],"message":[32],"getPhone":[64]}]]],["loading-spinner.cjs",[[1,"loading-spinner",{"size":[1],"color":[1]}]]],["countdown-timer_4.cjs",[[0,"phone-form",{"value":[1],"loading":[4],"handlerSubmit":[16],"config":[16]}],[1,"pin-form",{"validate":[16],"cancel":[16],"resend":[16],"sent":[16],"loading":[4],"phone":[1],"config":[16],"pin":[32],"isVerified":[32],"canResend":[32]}],[0,"giftback-info",{"loading":[4],"bonus":[16],"reserve":[16],"cancel":[16],"usedValue":[32],"selectedOption":[32],"sliderPosition":[32]}],[1,"countdown-timer",{"downtime":[16],"counter":[32]}]]],["crm-giftback-form.cjs",[[0,"crm-giftback-form",{"storeName":[8,"storename"],"cartId":[8,"cart-id"],"products":[16],"customer":[16],"value":[32],"loading":[32],"message":[32],"phone":[32],"pinInfo":[32],"step":[32],"bonus":[32],"sucess":[32],"error":[32],"config":[32],"hasApplyBonus":[32]}]]],["giftback-finish_4.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]}],[0,"name-input",{"value":[1],"loading":[4],"applyName":[16],"cancel":[16],"newValue":[32],"message":[32]}],[1,"giftback-finish"]]]], options);
22
+ return index.bootstrapLazy([["crm-bonus.cjs",[[2,"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],"amountCancel":[32],"sent":[32],"session":[32],"resetBonus":[64]},null,{"productsInString":["watchProducts"]}]]],["crm-bonus-form.cjs",[[1,"crm-bonus-form",{"storeName":[8,"storename"],"cartId":[8,"cart-id"],"products":[16],"customer":[16],"sent":[16],"stepNext":[2,"step-next"],"phone":[2],"loadingModal":[4,"loading-modal"],"saveStore":[16],"cancel":[16],"handleCustomerName":[16],"loading":[32],"step":[32],"message":[32],"bonus":[32],"setStep":[64]}]]],["phone-cancel-input.cjs",[[0,"phone-cancel-input",{"sendPin":[16],"loading":[4],"value":[1]}]]],["phone-input.cjs",[[0,"phone-input",{"sendPin":[16],"loading":[4],"value":[1]}]]],["app-modal.cjs",[[1,"app-modal",{"isOpen":[516,"is-open"],"modalTitle":[1,"modal-title"]}]]],["crm-bonus-note.cjs",[[0,"crm-bonus-note",{"cartId":[8,"cartid"],"storename":[8],"url":[32],"config":[32]}]]],["pedido-finalizado.cjs",[[0,"pedido-finalizado",{"cartId":[1,"cartid"],"orderId":[2,"orderid"],"metadadoString":[1,"metadado"]}]]],["crm-button.cjs",[[0,"crm-button",{"txtBtn":[1,"txt-btn"],"loading":[4],"handleClick":[16]}]]],["phone-input-mask.cjs",[[1,"phone-input-mask",{"initialValue":[1,"initial-value"],"disabled":[4],"phone":[32],"message":[32],"getPhone":[64]}]]],["loading-spinner.cjs",[[1,"loading-spinner",{"size":[1],"color":[1]}]]],["countdown-timer_4.cjs",[[0,"phone-form",{"value":[1],"loading":[4],"handlerSubmit":[16],"config":[16]}],[1,"pin-form",{"validate":[16],"cancel":[16],"resend":[16],"sent":[16],"loading":[4],"phone":[1],"config":[16],"pin":[32],"isVerified":[32],"canResend":[32]}],[0,"giftback-info",{"loading":[4],"bonus":[16],"reserve":[16],"cancel":[16],"usedValue":[32],"selectedOption":[32],"sliderPosition":[32]}],[1,"countdown-timer",{"downtime":[16],"counter":[32]}]]],["crm-giftback-form.cjs",[[0,"crm-giftback-form",{"storeName":[8,"storename"],"cartId":[8,"cart-id"],"products":[16],"customer":[16],"value":[32],"loading":[32],"message":[32],"phone":[32],"pinInfo":[32],"step":[32],"bonus":[32],"sucess":[32],"error":[32],"config":[32],"hasApplyBonus":[32]}]]],["giftback-finish_4.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]}],[0,"name-input",{"value":[1],"loading":[4],"applyName":[16],"cancel":[16],"newValue":[32],"message":[32]}],[1,"giftback-finish"]]]], options);
23
23
  });
24
24
 
25
25
  exports.setNonce = index.setNonce;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-80419303.js');
5
+ const index = require('./index-e3122e18.js');
6
6
 
7
7
  const successSvgrepoComSvg = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBVcGxvYWRlZCB0bzogU1ZHIFJlcG8sIHd3dy5zdmdyZXBvLmNvbSwgR2VuZXJhdG9yOiBTVkcgUmVwbyBNaXhlciBUb29scyAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiANCgkgdmlld0JveD0iMCAwIDUwIDUwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxjaXJjbGUgc3R5bGU9ImZpbGw6IzI1QUU4ODsiIGN4PSIyNSIgY3k9IjI1IiByPSIyNSIvPg0KPHBvbHlsaW5lIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgcG9pbnRzPSINCgkzOCwxNSAyMiwzMyAxMiwyNSAiLz4NCjwvc3ZnPg==';
8
8
 
@@ -21,7 +21,7 @@ function _interopNamespace(e) {
21
21
  }
22
22
 
23
23
  const NAMESPACE = 'crmbonus-component-wake';
24
- const BUILD = /* crmbonus-component-wake */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: false, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: false, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: true, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: false, propNumber: true, propString: true, reflect: true, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: true, slotChildNodesFix: false, slotRelocation: false, state: true, style: true, svg: false, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: false, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: false, watchCallback: false };
24
+ const BUILD = /* crmbonus-component-wake */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: false, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: false, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: true, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: false, propNumber: true, propString: true, reflect: true, scoped: true, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: true, slotChildNodesFix: false, slotRelocation: false, state: true, style: true, svg: false, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: false, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: false, watchCallback: true };
25
25
 
26
26
  /*
27
27
  Stencil Client Platform v4.22.2 | MIT Licensed | https://stenciljs.com
@@ -405,6 +405,9 @@ var attachStyles = (hostRef) => {
405
405
  if (flags & 10 /* needsScopedEncapsulation */ && flags & 2 /* scopedCssEncapsulation */) {
406
406
  elm["s-sc"] = scopeId2;
407
407
  elm.classList.add(scopeId2 + "-h");
408
+ if (flags & 2 /* scopedCssEncapsulation */) {
409
+ elm.classList.add(scopeId2 + "-s");
410
+ }
408
411
  }
409
412
  endAttachStyles();
410
413
  };
@@ -553,9 +556,12 @@ var createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
553
556
  if (!isElementWithinShadowRoot && BUILD.scoped && isDef(scopeId) && elm["s-si"] !== scopeId) {
554
557
  elm.classList.add(elm["s-si"] = scopeId);
555
558
  }
559
+ {
560
+ updateElementScopeIds(elm, parentElm);
561
+ }
556
562
  if (newVNode2.$children$) {
557
563
  for (i2 = 0; i2 < newVNode2.$children$.length; ++i2) {
558
- childNode = createElm(oldParentVNode, newVNode2, i2);
564
+ childNode = createElm(oldParentVNode, newVNode2, i2, elm);
559
565
  if (childNode) {
560
566
  elm.appendChild(childNode);
561
567
  }
@@ -573,7 +579,7 @@ var addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
573
579
  }
574
580
  for (; startIdx <= endIdx; ++startIdx) {
575
581
  if (vnodes[startIdx]) {
576
- childNode = createElm(null, parentVNode, startIdx);
582
+ childNode = createElm(null, parentVNode, startIdx, parentElm);
577
583
  if (childNode) {
578
584
  vnodes[startIdx].$elm$ = childNode;
579
585
  insertBefore(containerElm, childNode, before);
@@ -646,7 +652,7 @@ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = fals
646
652
  if (idxInOld >= 0) {
647
653
  elmToMove = oldCh[idxInOld];
648
654
  if (elmToMove.$tag$ !== newStartVnode.$tag$) {
649
- node = createElm(oldCh && oldCh[newStartIdx], newVNode2, idxInOld);
655
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode2, idxInOld, parentElm);
650
656
  } else {
651
657
  patch(elmToMove, newStartVnode, isInitialRender);
652
658
  oldCh[idxInOld] = void 0;
@@ -654,7 +660,7 @@ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = fals
654
660
  }
655
661
  newStartVnode = newCh[++newStartIdx];
656
662
  } else {
657
- node = createElm(oldCh && oldCh[newStartIdx], newVNode2, newStartIdx);
663
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode2, newStartIdx, parentElm);
658
664
  newStartVnode = newCh[++newStartIdx];
659
665
  }
660
666
  if (node) {
@@ -723,8 +729,37 @@ var nullifyVNodeRefs = (vNode) => {
723
729
  };
724
730
  var insertBefore = (parent, newNode, reference) => {
725
731
  const inserted = parent == null ? void 0 : parent.insertBefore(newNode, reference);
732
+ {
733
+ updateElementScopeIds(newNode, parent);
734
+ }
726
735
  return inserted;
727
736
  };
737
+ var findScopeIds = (element) => {
738
+ const scopeIds = [];
739
+ if (element) {
740
+ scopeIds.push(
741
+ ...element["s-scs"] || [],
742
+ element["s-si"],
743
+ element["s-sc"],
744
+ ...findScopeIds(element.parentElement)
745
+ );
746
+ }
747
+ return scopeIds;
748
+ };
749
+ var updateElementScopeIds = (element, parent, iterateChildNodes = false) => {
750
+ var _a;
751
+ if (element && parent && element.nodeType === 1 /* ElementNode */) {
752
+ const scopeIds = new Set(findScopeIds(parent).filter(Boolean));
753
+ if (scopeIds.size) {
754
+ (_a = element.classList) == null ? void 0 : _a.add(...element["s-scs"] = [...scopeIds]);
755
+ if (element["s-ol"] || iterateChildNodes) {
756
+ for (const childNode of Array.from(element.childNodes)) {
757
+ updateElementScopeIds(childNode, element, true);
758
+ }
759
+ }
760
+ }
761
+ }
762
+ };
728
763
  var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
729
764
  const hostElm = hostRef.$hostElement$;
730
765
  const cmpMeta = hostRef.$cmpMeta$;
@@ -911,6 +946,7 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
911
946
  `Couldn't find host element for "${cmpMeta.$tagName$}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/ionic-team/stencil/issues/5457).`
912
947
  );
913
948
  }
949
+ const elm = hostRef.$hostElement$ ;
914
950
  const oldVal = hostRef.$instanceValues$.get(propName);
915
951
  const flags = hostRef.$flags$;
916
952
  const instance = hostRef.$lazyInstance$ ;
@@ -920,6 +956,18 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
920
956
  if ((!(flags & 8 /* isConstructingInstance */) || oldVal === void 0) && didValueChange) {
921
957
  hostRef.$instanceValues$.set(propName, newVal);
922
958
  if (instance) {
959
+ if (cmpMeta.$watchers$ && flags & 128 /* isWatchReady */) {
960
+ const watchMethods = cmpMeta.$watchers$[propName];
961
+ if (watchMethods) {
962
+ watchMethods.map((watchMethodName) => {
963
+ try {
964
+ instance[watchMethodName](newVal, oldVal, propName);
965
+ } catch (e) {
966
+ consoleError(e, elm);
967
+ }
968
+ });
969
+ }
970
+ }
923
971
  if ((flags & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {
924
972
  scheduleUpdate(hostRef, false);
925
973
  }
@@ -931,7 +979,10 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
931
979
  var proxyComponent = (Cstr, cmpMeta, flags) => {
932
980
  var _a, _b;
933
981
  const prototype = Cstr.prototype;
934
- if (cmpMeta.$members$ || BUILD.watchCallback ) {
982
+ if (cmpMeta.$members$ || (cmpMeta.$watchers$ || Cstr.watchers)) {
983
+ if (Cstr.watchers && !cmpMeta.$watchers$) {
984
+ cmpMeta.$watchers$ = Cstr.watchers;
985
+ }
935
986
  const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
936
987
  members.map(([memberName, [memberFlags]]) => {
937
988
  if ((memberFlags & 31 /* Prop */ || (flags & 2 /* proxyState */) && memberFlags & 32 /* State */)) {
@@ -1025,6 +1076,9 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1025
1076
  throw new Error(`Constructor for "${cmpMeta.$tagName$}#${hostRef.$modeName$}" was not found`);
1026
1077
  }
1027
1078
  if (!Cstr.isProxied) {
1079
+ {
1080
+ cmpMeta.$watchers$ = Cstr.watchers;
1081
+ }
1028
1082
  proxyComponent(Cstr, cmpMeta, 2 /* proxyState */);
1029
1083
  Cstr.isProxied = true;
1030
1084
  }
@@ -1040,6 +1094,9 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1040
1094
  {
1041
1095
  hostRef.$flags$ &= ~8 /* isConstructingInstance */;
1042
1096
  }
1097
+ {
1098
+ hostRef.$flags$ |= 128 /* isWatchReady */;
1099
+ }
1043
1100
  endNewInstance();
1044
1101
  } else {
1045
1102
  Cstr = elm.constructor;
@@ -1141,6 +1198,7 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
1141
1198
  let hasSlotRelocation = false;
1142
1199
  lazyBundles.map((lazyBundle) => {
1143
1200
  lazyBundle[1].map((compactMeta) => {
1201
+ var _a2;
1144
1202
  const cmpMeta = {
1145
1203
  $flags$: compactMeta[0],
1146
1204
  $tagName$: compactMeta[1],
@@ -1156,6 +1214,9 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
1156
1214
  {
1157
1215
  cmpMeta.$attrsToReflect$ = [];
1158
1216
  }
1217
+ {
1218
+ cmpMeta.$watchers$ = (_a2 = compactMeta[4]) != null ? _a2 : {};
1219
+ }
1159
1220
  const tagName = cmpMeta.$tagName$;
1160
1221
  const HostElement = class extends HTMLElement {
1161
1222
  // StencilLazyHost
@@ -1250,4 +1311,4 @@ exports.promiseResolve = promiseResolve;
1250
1311
  exports.registerInstance = registerInstance;
1251
1312
  exports.setNonce = setNonce;
1252
1313
 
1253
- //# sourceMappingURL=index-80419303.js.map
1314
+ //# sourceMappingURL=index-e3122e18.js.map