rebill-web-components-sdk 1.8.34 → 1.8.35

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 (84) hide show
  1. package/dist/cjs/apm-checkout_19.cjs.entry.js +1 -1
  2. package/dist/cjs/card-identification_5.cjs.entry.js +1 -1
  3. package/dist/cjs/index-C-VTnc0I.js.map +1 -1
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/rebill-renewal.cjs.entry.js +2 -2
  6. package/dist/cjs/rebill-renewal.entry.cjs.js.map +1 -1
  7. package/dist/cjs/rebill-web-components-sdk.cjs.js +1 -1
  8. package/dist/cjs/renewal-success-page.renewal-summary.entry.cjs.js.map +1 -1
  9. package/dist/cjs/renewal-success-page_2.cjs.entry.js +25 -57
  10. package/dist/cjs/{renewal.store-BaH9Id4E.js → renewal.store-3JWhB1Pi.js} +3 -2
  11. package/dist/cjs/renewal.store-3JWhB1Pi.js.map +1 -0
  12. package/dist/collection/components/renewal/rebill-renewal.js +1 -1
  13. package/dist/collection/components/renewal/rebill-renewal.js.map +1 -1
  14. package/dist/collection/components/renewal/renewal-success-page/renewal-success-page.js +12 -34
  15. package/dist/collection/components/renewal/renewal-success-page/renewal-success-page.js.map +1 -1
  16. package/dist/collection/components/renewal/renewal-summary/renewal-summary.js +31 -22
  17. package/dist/collection/components/renewal/renewal-summary/renewal-summary.js.map +1 -1
  18. package/dist/collection/models/renewal.model.js.map +1 -1
  19. package/dist/collection/store/renewal.store.js +1 -0
  20. package/dist/collection/store/renewal.store.js.map +1 -1
  21. package/dist/components/card-fields-wrapper.js +1 -1
  22. package/dist/components/card-identification.js +1 -1
  23. package/dist/components/card-iframe.js +1 -1
  24. package/dist/components/p-8BpuJ_V5.js.map +1 -1
  25. package/dist/components/{p-D6xIJNnb.js → p-BJUr_-ZO.js} +3 -3
  26. package/dist/components/{p-D6xIJNnb.js.map → p-BJUr_-ZO.js.map} +1 -1
  27. package/dist/components/{p-CM-_FFDG.js → p-BSCSd_ch.js} +15 -37
  28. package/dist/components/p-BSCSd_ch.js.map +1 -0
  29. package/dist/components/{p-BY43VCzz.js → p-Bln3wBD6.js} +5 -5
  30. package/dist/components/{p-BY43VCzz.js.map → p-Bln3wBD6.js.map} +1 -1
  31. package/dist/components/{p-dgrAtFYi.js → p-DDVDLDRI.js} +3 -3
  32. package/dist/components/{p-dgrAtFYi.js.map → p-DDVDLDRI.js.map} +1 -1
  33. package/dist/components/{p-B1lTVbgj.js → p-DPpE0kdy.js} +5 -5
  34. package/dist/components/{p-B1lTVbgj.js.map → p-DPpE0kdy.js.map} +1 -1
  35. package/dist/components/{p-hpg1lOUJ.js → p-b0Xc3sbS.js} +3 -2
  36. package/dist/components/p-b0Xc3sbS.js.map +1 -0
  37. package/dist/components/{p-B9sgr8Yu.js → p-mqJmoJIO.js} +15 -24
  38. package/dist/components/p-mqJmoJIO.js.map +1 -0
  39. package/dist/components/payment-method-selector.js +1 -1
  40. package/dist/components/rebill-checkout.js +4 -4
  41. package/dist/components/rebill-renewal.js +8 -8
  42. package/dist/components/rebill-renewal.js.map +1 -1
  43. package/dist/components/renewal-success-page.js +1 -1
  44. package/dist/components/renewal-summary.js +1 -1
  45. package/dist/esm/apm-checkout_19.entry.js +1 -1
  46. package/dist/esm/card-identification_5.entry.js +1 -1
  47. package/dist/esm/index-D8cwEAmw.js.map +1 -1
  48. package/dist/esm/loader.js +1 -1
  49. package/dist/esm/rebill-renewal.entry.js +2 -2
  50. package/dist/esm/rebill-renewal.entry.js.map +1 -1
  51. package/dist/esm/rebill-web-components-sdk.js +1 -1
  52. package/dist/esm/renewal-success-page.renewal-summary.entry.js.map +1 -1
  53. package/dist/esm/renewal-success-page_2.entry.js +25 -57
  54. package/dist/esm/{renewal.store-vAxzxA8H.js → renewal.store-jTjLDpeh.js} +3 -2
  55. package/dist/esm/renewal.store-jTjLDpeh.js.map +1 -0
  56. package/dist/rebill-web-components-sdk/{p-b75b53a8.entry.js → p-28d04513.entry.js} +2 -2
  57. package/dist/rebill-web-components-sdk/{p-80dcd17e.entry.js → p-392fb691.entry.js} +2 -2
  58. package/dist/rebill-web-components-sdk/{p-e242be38.entry.js → p-736d2bdc.entry.js} +2 -2
  59. package/dist/rebill-web-components-sdk/p-736d2bdc.entry.js.map +1 -0
  60. package/dist/rebill-web-components-sdk/p-BOVs95c7.js +2 -0
  61. package/dist/rebill-web-components-sdk/p-BOVs95c7.js.map +1 -0
  62. package/dist/rebill-web-components-sdk/p-D8cwEAmw.js.map +1 -1
  63. package/dist/rebill-web-components-sdk/p-bde8f6aa.entry.js +2 -0
  64. package/dist/rebill-web-components-sdk/p-bde8f6aa.entry.js.map +1 -0
  65. package/dist/rebill-web-components-sdk/rebill-renewal.entry.esm.js.map +1 -1
  66. package/dist/rebill-web-components-sdk/rebill-web-components-sdk.esm.js +1 -1
  67. package/dist/rebill-web-components-sdk/renewal-success-page.renewal-summary.entry.esm.js.map +1 -1
  68. package/dist/types/components/renewal/renewal-success-page/renewal-success-page.d.ts +1 -4
  69. package/dist/types/components/renewal/renewal-summary/renewal-summary.d.ts +1 -2
  70. package/dist/types/components.d.ts +2 -0
  71. package/dist/types/models/renewal.model.d.ts +1 -0
  72. package/package.json +1 -1
  73. package/dist/cjs/renewal.store-BaH9Id4E.js.map +0 -1
  74. package/dist/components/p-B9sgr8Yu.js.map +0 -1
  75. package/dist/components/p-CM-_FFDG.js.map +0 -1
  76. package/dist/components/p-hpg1lOUJ.js.map +0 -1
  77. package/dist/esm/renewal.store-vAxzxA8H.js.map +0 -1
  78. package/dist/rebill-web-components-sdk/p-1a748630.entry.js +0 -2
  79. package/dist/rebill-web-components-sdk/p-1a748630.entry.js.map +0 -1
  80. package/dist/rebill-web-components-sdk/p-e242be38.entry.js.map +0 -1
  81. package/dist/rebill-web-components-sdk/p-nVuaISVM.js +0 -2
  82. package/dist/rebill-web-components-sdk/p-nVuaISVM.js.map +0 -1
  83. /package/dist/rebill-web-components-sdk/{p-b75b53a8.entry.js.map → p-28d04513.entry.js.map} +0 -0
  84. /package/dist/rebill-web-components-sdk/{p-80dcd17e.entry.js.map → p-392fb691.entry.js.map} +0 -0
@@ -12,6 +12,7 @@ export class RenewalSummary {
12
12
  'summary',
13
13
  ];
14
14
  totalAmount;
15
+ subTotalAmount;
15
16
  subscriptionTitle;
16
17
  subscriptionAmount;
17
18
  nextChargeDate;
@@ -38,27 +39,16 @@ export class RenewalSummary {
38
39
  return I18nService.translate(translationKey, { count });
39
40
  }
40
41
  getDiscountAmount() {
41
- const amountDiscount = Math.max(0, this.discountAmount);
42
- if (amountDiscount > 0) {
43
- return amountDiscount;
42
+ if (this.totalAmount < this.subTotalAmount) {
43
+ console.log('this.subTotalAmount', this.subTotalAmount);
44
+ console.log('this.totalAmount', this.totalAmount);
45
+ console.log('this.discountAmount', this.subTotalAmount - this.totalAmount);
46
+ return this.subTotalAmount - this.totalAmount;
44
47
  }
45
- const percentage = this.discountPercentage;
46
- if (percentage && percentage > 0) {
47
- const base = this.totalAmount;
48
- const percentageDiscount = (base * percentage) / 100;
49
- return Math.max(0, percentageDiscount);
50
- }
51
- return 0;
52
- }
53
- getFinalAmount() {
54
- const final = this.totalAmount - this.getDiscountAmount();
55
- return Math.max(0, final);
56
- }
57
- hasDiscount() {
58
- return this.getDiscountAmount() > 0;
48
+ return this.discountAmount || 0;
59
49
  }
60
50
  renderHeader = () => {
61
- return (h("div", { class: "header" }, h("p", { class: "title" }, I18nService.translate('renewal.title')), h("p", { class: "amount" }, h("span", { class: "total-amount" }, formatAmount(this.getFinalAmount(), this.currency)), ' ', h("span", { class: "per" }, "/ ", this.getFrequencyText().toLowerCase()))));
51
+ return (h("div", { class: "header" }, h("p", { class: "title" }, I18nService.translate('renewal.title')), h("p", { class: "amount" }, h("span", { class: "total-amount" }, formatAmount(this.totalAmount, this.currency)), ' ', h("span", { class: "per" }, "/ ", this.getFrequencyText().toLowerCase()))));
62
52
  };
63
53
  renderInfoRow = (label, value) => {
64
54
  return (h("div", { class: "row" }, h("div", { class: "left" }, label), h("div", { class: "right" }, value)));
@@ -70,15 +60,15 @@ export class RenewalSummary {
70
60
  return this.renderInfoRow(I18nService.translate('renewal.nextRenewal'), formatDateByLocale(this.nextChargeDate, undefined, sessionState.currentLocale));
71
61
  };
72
62
  renderSubtotal = () => {
73
- return this.renderInfoRow(I18nService.translate('renewal.subtotal'), formatAmount(this.totalAmount, this.currency));
63
+ return this.renderInfoRow(I18nService.translate('renewal.subtotal'), formatAmount(this.subTotalAmount, this.currency));
74
64
  };
75
65
  renderDiscount = () => {
76
- if (!this.hasDiscount())
66
+ if (this.getDiscountAmount() <= 0)
77
67
  return null;
78
68
  return (h("div", { class: "row" }, h("div", { class: "left" }, I18nService.translate('summary.discount')), h("div", { class: "right discount-chip-wrapper" }, h("discount-coupon", { displayMode: "readonly", readonlyCouponCode: this.couponCode || undefined, readonlyDiscountAmount: this.getDiscountAmount(), readonlyCurrency: this.currency }))));
79
69
  };
80
70
  renderTotal = () => {
81
- return (h("div", { class: "total-row" }, h("div", { class: "left" }, I18nService.translate('renewal.totalToRenew')), h("div", { class: "right" }, formatAmount(this.getFinalAmount(), this.currency))));
71
+ return (h("div", { class: "total-row" }, h("div", { class: "left" }, I18nService.translate('renewal.totalToRenew')), h("div", { class: "right" }, formatAmount(this.totalAmount, this.currency))));
82
72
  };
83
73
  renderDesktop = () => {
84
74
  return (h("div", { class: "wrapper" }, this.renderHeader(), h("div", { class: "info" }, h("div", { class: "row" }, h("div", { class: "" }, I18nService.translate('renewal.subscriptionDetails'))), this.renderProduct(), this.renderNextRenewal(), this.renderSubtotal(), this.renderDiscount()), this.renderTotal()));
@@ -96,7 +86,7 @@ export class RenewalSummary {
96
86
  return (h("collapsible-card", { header: I18nService.translate('summary.details') }, this.renderProduct(), this.renderNextRenewal()));
97
87
  }
98
88
  if (this.displayedComponents.includes('summary')) {
99
- return (h("collapsible-card", { header: I18nService.translate('summary.summary') }, this.renderInfoRow(this.subscriptionTitle, '1 x ' + formatAmount(this.subscriptionAmount, this.currency)), this.renderSubtotal(), this.renderDiscount(), h("rebill-divider", null), this.renderInfoRow(I18nService.translate('renewal.totalToRenew'), formatAmount(this.getFinalAmount(), this.currency))));
89
+ return (h("collapsible-card", { header: I18nService.translate('summary.summary') }, this.renderInfoRow(this.subscriptionTitle, '1 x ' + formatAmount(this.subscriptionAmount, this.currency)), this.renderSubtotal(), this.renderDiscount(), h("rebill-divider", null), this.renderInfoRow(I18nService.translate('renewal.totalToRenew'), formatAmount(this.totalAmount, this.currency))));
100
90
  }
101
91
  }
102
92
  static get is() { return "renewal-summary"; }
@@ -149,6 +139,25 @@ export class RenewalSummary {
149
139
  "reflect": false,
150
140
  "attribute": "total-amount"
151
141
  },
142
+ "subTotalAmount": {
143
+ "type": "number",
144
+ "mutable": false,
145
+ "complexType": {
146
+ "original": "number",
147
+ "resolved": "number",
148
+ "references": {}
149
+ },
150
+ "required": true,
151
+ "optional": false,
152
+ "docs": {
153
+ "tags": [],
154
+ "text": ""
155
+ },
156
+ "getter": false,
157
+ "setter": false,
158
+ "reflect": false,
159
+ "attribute": "sub-total-amount"
160
+ },
152
161
  "subscriptionTitle": {
153
162
  "type": "string",
154
163
  "mutable": false,
@@ -1 +1 @@
1
- {"version":3,"file":"renewal-summary.js","sourceRoot":"","sources":["../../../../src/components/renewal/renewal-summary/renewal-summary.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, State } from '@stencil/core';\nimport i18n from '../../../i18n/i18n.config';\nimport { I18nService } from '../../../i18n/i18n.service';\nimport { sessionState } from '../../../store/session.store';\nimport { formatAmount } from '../../../utils/currency-formatter';\nimport { formatDate as formatDateByLocale } from '../../../utils/date-formatter';\n\n@Component({\n tag: 'renewal-summary',\n styleUrl: 'renewal-summary.css',\n shadow: false,\n})\nexport class RenewalSummary {\n @State() private forceUpdate = 0;\n @Prop() displayedComponents: ('header' | 'details' | 'summary')[] = [\n 'header',\n 'details',\n 'summary',\n ];\n @Prop() totalAmount!: number;\n @Prop() subscriptionTitle!: string;\n @Prop() subscriptionAmount!: number;\n @Prop() nextChargeDate?: string;\n @Prop() frequency?: { count: number; period: string };\n @Prop() currency: string;\n @Prop() couponCode?: string;\n @Prop() discountAmount?: number;\n @Prop() discountPercentage?: number;\n\n componentWillLoad() {\n i18n.on('languageChanged', this.handleLanguageChange);\n }\n\n disconnectedCallback() {\n i18n.off('languageChanged', this.handleLanguageChange);\n }\n\n private handleLanguageChange = () => {\n this.forceUpdate = this.forceUpdate + 1;\n };\n\n private getFrequencyText(): string {\n if (!this.frequency || !this.frequency.period) return '';\n\n const period = this.frequency.period.toLowerCase();\n const count = this.frequency.count;\n\n const translationKey = `summary.${period}`;\n return I18nService.translate(translationKey, { count });\n }\n\n private getDiscountAmount(): number {\n const amountDiscount = Math.max(0, this.discountAmount);\n if (amountDiscount > 0) {\n return amountDiscount;\n }\n\n const percentage = this.discountPercentage;\n if (percentage && percentage > 0) {\n const base = this.totalAmount;\n const percentageDiscount = (base * percentage) / 100;\n return Math.max(0, percentageDiscount);\n }\n\n return 0;\n }\n\n private getFinalAmount(): number {\n const final = this.totalAmount - this.getDiscountAmount();\n return Math.max(0, final);\n }\n\n private hasDiscount(): boolean {\n return this.getDiscountAmount() > 0;\n }\n\n renderHeader = () => {\n return (\n <div class=\"header\">\n <p class=\"title\">{I18nService.translate('renewal.title')}</p>\n <p class=\"amount\">\n <span class=\"total-amount\">{formatAmount(this.getFinalAmount(), this.currency)}</span>{' '}\n <span class=\"per\">/ {this.getFrequencyText().toLowerCase()}</span>\n </p>\n </div>\n );\n };\n\n renderInfoRow = (label: string, value: string) => {\n return (\n <div class=\"row\">\n <div class=\"left\">{label}</div>\n <div class=\"right\">{value}</div>\n </div>\n );\n };\n\n renderProduct = () => {\n return this.renderInfoRow(\n this.subscriptionTitle,\n formatAmount(this.subscriptionAmount, this.currency),\n );\n };\n\n renderNextRenewal = () => {\n return this.renderInfoRow(\n I18nService.translate('renewal.nextRenewal'),\n formatDateByLocale(this.nextChargeDate, undefined, sessionState.currentLocale),\n );\n };\n\n renderSubtotal = () => {\n return this.renderInfoRow(\n I18nService.translate('renewal.subtotal'),\n formatAmount(this.totalAmount, this.currency),\n );\n };\n\n private renderDiscount = () => {\n if (!this.hasDiscount()) return null;\n return (\n <div class=\"row\">\n <div class=\"left\">{I18nService.translate('summary.discount')}</div>\n <div class=\"right discount-chip-wrapper\">\n <discount-coupon\n displayMode=\"readonly\"\n readonlyCouponCode={this.couponCode || undefined}\n readonlyDiscountAmount={this.getDiscountAmount()}\n readonlyCurrency={this.currency}\n />\n </div>\n </div>\n );\n };\n\n renderTotal = () => {\n return (\n <div class=\"total-row\">\n <div class=\"left\">{I18nService.translate('renewal.totalToRenew')}</div>\n <div class=\"right\">{formatAmount(this.getFinalAmount(), this.currency)}</div>\n </div>\n );\n };\n\n renderDesktop = () => {\n return (\n <div class=\"wrapper\">\n {this.renderHeader()}\n <div class=\"info\">\n <div class=\"row\">\n <div class=\"\">{I18nService.translate('renewal.subscriptionDetails')}</div>\n </div>\n {this.renderProduct()}\n {this.renderNextRenewal()}\n {this.renderSubtotal()}\n {this.renderDiscount()}\n </div>\n {this.renderTotal()}\n </div>\n );\n };\n\n render() {\n if (\n this.displayedComponents.includes('header') &&\n this.displayedComponents.includes('details') &&\n this.displayedComponents.includes('summary')\n ) {\n return this.renderDesktop();\n }\n if (this.displayedComponents.includes('header')) {\n return this.renderHeader();\n }\n if (this.displayedComponents.includes('details')) {\n return (\n <collapsible-card header={I18nService.translate('summary.details')}>\n {this.renderProduct()}\n {this.renderNextRenewal()}\n </collapsible-card>\n );\n }\n if (this.displayedComponents.includes('summary')) {\n return (\n <collapsible-card header={I18nService.translate('summary.summary')}>\n {this.renderInfoRow(\n this.subscriptionTitle,\n '1 x ' + formatAmount(this.subscriptionAmount, this.currency),\n )}\n {this.renderSubtotal()}\n {this.renderDiscount()}\n\n <rebill-divider />\n {this.renderInfoRow(\n I18nService.translate('renewal.totalToRenew'),\n formatAmount(this.getFinalAmount(), this.currency),\n )}\n </collapsible-card>\n );\n }\n }\n}\n"]}
1
+ {"version":3,"file":"renewal-summary.js","sourceRoot":"","sources":["../../../../src/components/renewal/renewal-summary/renewal-summary.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, State } from '@stencil/core';\nimport i18n from '../../../i18n/i18n.config';\nimport { I18nService } from '../../../i18n/i18n.service';\nimport { sessionState } from '../../../store/session.store';\nimport { formatAmount } from '../../../utils/currency-formatter';\nimport { formatDate as formatDateByLocale } from '../../../utils/date-formatter';\n\n@Component({\n tag: 'renewal-summary',\n styleUrl: 'renewal-summary.css',\n shadow: false,\n})\nexport class RenewalSummary {\n @State() private forceUpdate = 0;\n @Prop() displayedComponents: ('header' | 'details' | 'summary')[] = [\n 'header',\n 'details',\n 'summary',\n ];\n @Prop() totalAmount!: number;\n @Prop() subTotalAmount!: number;\n @Prop() subscriptionTitle!: string;\n @Prop() subscriptionAmount!: number;\n @Prop() nextChargeDate?: string;\n @Prop() frequency?: { count: number; period: string };\n @Prop() currency: string;\n @Prop() couponCode?: string;\n @Prop() discountAmount?: number;\n @Prop() discountPercentage?: number;\n\n componentWillLoad() {\n i18n.on('languageChanged', this.handleLanguageChange);\n }\n\n disconnectedCallback() {\n i18n.off('languageChanged', this.handleLanguageChange);\n }\n\n private handleLanguageChange = () => {\n this.forceUpdate = this.forceUpdate + 1;\n };\n\n private getFrequencyText(): string {\n if (!this.frequency || !this.frequency.period) return '';\n\n const period = this.frequency.period.toLowerCase();\n const count = this.frequency.count;\n\n const translationKey = `summary.${period}`;\n return I18nService.translate(translationKey, { count });\n }\n\n private getDiscountAmount(): number {\n if (this.totalAmount < this.subTotalAmount) {\n console.log('this.subTotalAmount', this.subTotalAmount);\n console.log('this.totalAmount', this.totalAmount);\n console.log('this.discountAmount', this.subTotalAmount - this.totalAmount);\n return this.subTotalAmount - this.totalAmount;\n }\n\n return this.discountAmount || 0;\n }\n\n renderHeader = () => {\n return (\n <div class=\"header\">\n <p class=\"title\">{I18nService.translate('renewal.title')}</p>\n <p class=\"amount\">\n <span class=\"total-amount\">{formatAmount(this.totalAmount, this.currency)}</span>{' '}\n <span class=\"per\">/ {this.getFrequencyText().toLowerCase()}</span>\n </p>\n </div>\n );\n };\n\n renderInfoRow = (label: string, value: string) => {\n return (\n <div class=\"row\">\n <div class=\"left\">{label}</div>\n <div class=\"right\">{value}</div>\n </div>\n );\n };\n\n renderProduct = () => {\n return this.renderInfoRow(\n this.subscriptionTitle,\n formatAmount(this.subscriptionAmount, this.currency),\n );\n };\n\n renderNextRenewal = () => {\n return this.renderInfoRow(\n I18nService.translate('renewal.nextRenewal'),\n formatDateByLocale(this.nextChargeDate, undefined, sessionState.currentLocale),\n );\n };\n\n renderSubtotal = () => {\n return this.renderInfoRow(\n I18nService.translate('renewal.subtotal'),\n formatAmount(this.subTotalAmount, this.currency),\n );\n };\n\n private renderDiscount = () => {\n if (this.getDiscountAmount() <= 0) return null;\n return (\n <div class=\"row\">\n <div class=\"left\">{I18nService.translate('summary.discount')}</div>\n <div class=\"right discount-chip-wrapper\">\n <discount-coupon\n displayMode=\"readonly\"\n readonlyCouponCode={this.couponCode || undefined}\n readonlyDiscountAmount={this.getDiscountAmount()}\n readonlyCurrency={this.currency}\n />\n </div>\n </div>\n );\n };\n\n renderTotal = () => {\n return (\n <div class=\"total-row\">\n <div class=\"left\">{I18nService.translate('renewal.totalToRenew')}</div>\n <div class=\"right\">{formatAmount(this.totalAmount, this.currency)}</div>\n </div>\n );\n };\n\n renderDesktop = () => {\n return (\n <div class=\"wrapper\">\n {this.renderHeader()}\n <div class=\"info\">\n <div class=\"row\">\n <div class=\"\">{I18nService.translate('renewal.subscriptionDetails')}</div>\n </div>\n {this.renderProduct()}\n {this.renderNextRenewal()}\n {this.renderSubtotal()}\n {this.renderDiscount()}\n </div>\n\n {this.renderTotal()}\n </div>\n );\n };\n\n render() {\n if (\n this.displayedComponents.includes('header') &&\n this.displayedComponents.includes('details') &&\n this.displayedComponents.includes('summary')\n ) {\n return this.renderDesktop();\n }\n if (this.displayedComponents.includes('header')) {\n return this.renderHeader();\n }\n if (this.displayedComponents.includes('details')) {\n return (\n <collapsible-card header={I18nService.translate('summary.details')}>\n {this.renderProduct()}\n {this.renderNextRenewal()}\n </collapsible-card>\n );\n }\n if (this.displayedComponents.includes('summary')) {\n return (\n <collapsible-card header={I18nService.translate('summary.summary')}>\n {this.renderInfoRow(\n this.subscriptionTitle,\n '1 x ' + formatAmount(this.subscriptionAmount, this.currency),\n )}\n {this.renderSubtotal()}\n {this.renderDiscount()}\n\n <rebill-divider />\n {this.renderInfoRow(\n I18nService.translate('renewal.totalToRenew'),\n formatAmount(this.totalAmount, this.currency),\n )}\n </collapsible-card>\n );\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"renewal.model.js","sourceRoot":"","sources":["../../src/models/renewal.model.ts"],"names":[],"mappings":"","sourcesContent":["import { PLAN_FREQUENCY_ENUM } from '../components';\nimport { ENUM_INSTALLMENT_MODEL } from './enums/installment.enum';\n\n// Renewal-specific interfaces based on actual API response\nexport interface RenewalSubscriptionName {\n text: string;\n language: string;\n}\n\nexport interface RenewalSubscription {\n id: string;\n organizationId: string;\n status: string;\n name: RenewalSubscriptionName[];\n description: RenewalSubscriptionName[];\n planId: string | null;\n amount: number;\n currency: string;\n isPriceFixed: boolean;\n targetCurrency: string | null;\n isProcessing: boolean;\n frequency: {\n count: number;\n period: PLAN_FREQUENCY_ENUM;\n };\n repetitions: number;\n currentRepetitions: number;\n debitDay: number | null;\n type: string;\n lastChargeDate: string;\n nextChargeDate: string;\n remainingIterations: number;\n customerId: string;\n customerName: string;\n customerEmail: string;\n paymentMethod: string;\n cardId: string | null;\n cardLastFour: string | null;\n trialPeriodDays: number | null;\n metadata: any;\n createdAt: string;\n}\n\nexport interface RenewalPrice {\n amount: number;\n currency: string;\n country: string;\n paymentMethods: string[];\n couponCode?: string | null;\n discountPercentage?: number;\n discountedAmount?: number;\n}\n\nexport interface RenewalPaymentMethod {\n name: string;\n type: string;\n}\n\nexport interface RenewalOrganization {\n id: string;\n name: string;\n logoUrl?: string | null;\n}\n\nexport interface RenewalCardInformation {\n brand: string;\n type: string;\n isoCountry: string;\n bank: string;\n lastFour?: string;\n installments: {\n isAvailableInstallments: boolean;\n installments: {\n model: ENUM_INSTALLMENT_MODEL;\n cft: number;\n installment: number;\n totalAmount: number;\n installmentAmount: number;\n cftAmount: number;\n }[];\n selectedInstallment?: {\n cft: number;\n cftAmount: number;\n installment: number;\n installmentAmount: number;\n totalAmount: number;\n model: ENUM_INSTALLMENT_MODEL;\n };\n };\n}\n\n// Main renewal session interface matching the API response\nexport interface RenewalSession {\n id: string; // This is the session ID\n cardTokenId?: string;\n cardId?: string; // Optional, if card is saved\n cardInformation?: RenewalCardInformation;\n subscription: RenewalSubscription;\n organization: RenewalOrganization;\n price: RenewalPrice;\n paymentMethods: RenewalPaymentMethod[];\n country: string;\n createdAt: string;\n updatedAt: string;\n}\n\n// Component props interface (same as RenewalSession)\nexport interface RebillRenewalProps extends RenewalSession {\n token: string; // Token for the renewal session\n}\n"]}
1
+ {"version":3,"file":"renewal.model.js","sourceRoot":"","sources":["../../src/models/renewal.model.ts"],"names":[],"mappings":"","sourcesContent":["import { PLAN_FREQUENCY_ENUM } from '../components';\nimport { ENUM_INSTALLMENT_MODEL } from './enums/installment.enum';\n\n// Renewal-specific interfaces based on actual API response\nexport interface RenewalSubscriptionName {\n text: string;\n language: string;\n}\n\nexport interface RenewalSubscription {\n id: string;\n organizationId: string;\n status: string;\n name: RenewalSubscriptionName[];\n description: RenewalSubscriptionName[];\n planId: string | null;\n amount: number;\n subTotalAmount: number;\n currency: string;\n isPriceFixed: boolean;\n targetCurrency: string | null;\n isProcessing: boolean;\n frequency: {\n count: number;\n period: PLAN_FREQUENCY_ENUM;\n };\n repetitions: number;\n currentRepetitions: number;\n debitDay: number | null;\n type: string;\n lastChargeDate: string;\n nextChargeDate: string;\n remainingIterations: number;\n customerId: string;\n customerName: string;\n customerEmail: string;\n paymentMethod: string;\n cardId: string | null;\n cardLastFour: string | null;\n trialPeriodDays: number | null;\n metadata: any;\n createdAt: string;\n}\n\nexport interface RenewalPrice {\n amount: number;\n currency: string;\n country: string;\n paymentMethods: string[];\n couponCode?: string | null;\n discountPercentage?: number;\n discountedAmount?: number;\n}\n\nexport interface RenewalPaymentMethod {\n name: string;\n type: string;\n}\n\nexport interface RenewalOrganization {\n id: string;\n name: string;\n logoUrl?: string | null;\n}\n\nexport interface RenewalCardInformation {\n brand: string;\n type: string;\n isoCountry: string;\n bank: string;\n lastFour?: string;\n installments: {\n isAvailableInstallments: boolean;\n installments: {\n model: ENUM_INSTALLMENT_MODEL;\n cft: number;\n installment: number;\n totalAmount: number;\n installmentAmount: number;\n cftAmount: number;\n }[];\n selectedInstallment?: {\n cft: number;\n cftAmount: number;\n installment: number;\n installmentAmount: number;\n totalAmount: number;\n model: ENUM_INSTALLMENT_MODEL;\n };\n };\n}\n\n// Main renewal session interface matching the API response\nexport interface RenewalSession {\n id: string; // This is the session ID\n cardTokenId?: string;\n cardId?: string; // Optional, if card is saved\n cardInformation?: RenewalCardInformation;\n subscription: RenewalSubscription;\n organization: RenewalOrganization;\n price: RenewalPrice;\n paymentMethods: RenewalPaymentMethod[];\n country: string;\n createdAt: string;\n updatedAt: string;\n}\n\n// Component props interface (same as RenewalSession)\nexport interface RebillRenewalProps extends RenewalSession {\n token: string; // Token for the renewal session\n}\n"]}
@@ -25,6 +25,7 @@ const initialRenewalState = {
25
25
  description: [],
26
26
  planId: null,
27
27
  amount: 0,
28
+ subTotalAmount: 0,
28
29
  currency: '',
29
30
  isPriceFixed: false,
30
31
  targetCurrency: null,
@@ -1 +1 @@
1
- {"version":3,"file":"renewal.store.js","sourceRoot":"","sources":["../../src/store/renewal.store.ts"],"names":[],"mappings":"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","sourcesContent":["import { createStore } from '@stencil/store';\nimport { SavedCard } from '../api/entities/cards/types';\nimport {\n CreateAPMCheckoutResponse,\n CreateCardCheckoutResponse,\n} from '../api/entities/checkout/types';\nimport { ENUM_INSTALLMENT_MODEL } from '../models/enums/installment.enum';\nimport { PAYMENT_METHOD_ENUM } from '../models/enums/payment-methods.enum';\nimport { RebillRenewalProps, RenewalSession } from '../models/renewal.model';\n\nexport interface RenewalSessionState {\n token: string;\n data: RenewalSession;\n form: {\n isLoading: boolean;\n selectedPaymentMethod?: PAYMENT_METHOD_ENUM;\n selectedCard?: SavedCard;\n cvv?: string;\n savedCards: SavedCard[];\n checkoutResponse?: CreateCardCheckoutResponse | CreateAPMCheckoutResponse | null;\n userIdentification?: {\n documentType?: string;\n documentNumber?: string;\n };\n selectedBankId?: string;\n };\n isInitialized: boolean;\n fetchingInstallments: boolean;\n cardMode?: 'input' | 'select' | null;\n deviceId?: string;\n providerKey?: string;\n}\n\nconst initialRenewalState: RenewalSessionState = {\n token: '',\n data: {\n id: '',\n cardId: '',\n cardTokenId: '',\n cardInformation: {\n brand: '',\n type: '',\n isoCountry: '',\n bank: '',\n lastFour: '',\n installments: {\n isAvailableInstallments: false,\n installments: [],\n selectedInstallment: undefined,\n },\n },\n subscription: {\n id: '',\n organizationId: '',\n status: '',\n name: [],\n description: [],\n planId: null,\n amount: 0,\n currency: '',\n isPriceFixed: false,\n targetCurrency: null,\n isProcessing: false,\n frequency: {\n count: 0,\n period: null,\n },\n repetitions: 0,\n currentRepetitions: 0,\n debitDay: null,\n type: '',\n lastChargeDate: '',\n nextChargeDate: '',\n remainingIterations: 0,\n customerId: '',\n customerName: '',\n customerEmail: '',\n paymentMethod: '',\n cardId: null,\n cardLastFour: null,\n trialPeriodDays: null,\n metadata: null,\n createdAt: '',\n },\n organization: {\n id: '',\n name: '',\n logoUrl: null,\n },\n price: {\n amount: 0,\n currency: '',\n country: '',\n paymentMethods: [],\n couponCode: null,\n discountPercentage: 0,\n discountedAmount: 0,\n },\n paymentMethods: [],\n country: '',\n createdAt: '',\n updatedAt: '',\n },\n form: {\n isLoading: false,\n savedCards: [],\n },\n isInitialized: false,\n fetchingInstallments: false,\n cardMode: 'select',\n};\n\nexport const { state: renewalState, onChange } =\n createStore<RenewalSessionState>(initialRenewalState);\n\nexport class RenewalStore {\n static initializeRenewal(renewalProps: RebillRenewalProps) {\n const { token, ...allProps } = renewalProps;\n renewalState.token = token;\n renewalState.data = allProps;\n renewalState.data.country = allProps.country;\n\n if (allProps.subscription?.cardId) {\n renewalState.data.cardId = allProps.subscription.cardId;\n }\n\n renewalState.isInitialized = true;\n }\n\n static setLoading(isLoading: boolean) {\n renewalState.form = {\n ...renewalState.form,\n isLoading,\n };\n }\n\n static setSelectedPaymentMethod(paymentMethod: PAYMENT_METHOD_ENUM) {\n renewalState.form = {\n ...renewalState.form,\n selectedPaymentMethod: paymentMethod,\n };\n }\n\n static setSelectedCard(card: SavedCard) {\n renewalState.form = {\n ...renewalState.form,\n selectedCard: card,\n };\n }\n\n static setCvv(cvv: string) {\n renewalState.form = {\n ...renewalState.form,\n cvv,\n };\n }\n\n static setSavedCards(cards: SavedCard[]) {\n renewalState.form = {\n ...renewalState.form,\n savedCards: cards,\n };\n }\n\n static setCheckoutResponse(response: CreateCardCheckoutResponse | CreateAPMCheckoutResponse) {\n renewalState.form = {\n ...renewalState.form,\n checkoutResponse: response,\n };\n }\n\n static setUserIdentification(identification: { documentType?: string; documentNumber?: string }) {\n renewalState.form = {\n ...renewalState.form,\n userIdentification: {\n ...renewalState.form.userIdentification,\n ...identification,\n },\n };\n }\n\n static clearRenewal() {\n renewalState.data = initialRenewalState.data;\n renewalState.form = initialRenewalState.form;\n renewalState.isInitialized = false;\n }\n\n static getRenewalState(): RenewalSessionState {\n return renewalState;\n }\n\n static setCardId(cardId: string) {\n renewalState.data.cardId = cardId;\n }\n\n static setCardTokenId(cardTokenId: string) {\n renewalState.data.cardTokenId = cardTokenId;\n }\n\n static setFetchingInstallments(fetchingInstallments: boolean) {\n renewalState.fetchingInstallments = fetchingInstallments;\n }\n\n static setCardInformation(cardInformation: {\n brand: string;\n type: string;\n isoCountry: string;\n bank: string;\n lastFour?: string;\n installments: {\n installments: {\n model: ENUM_INSTALLMENT_MODEL;\n cft: number;\n installment: number;\n totalAmount: number;\n installmentAmount: number;\n cftAmount: number;\n }[];\n };\n }) {\n if (cardInformation) {\n renewalState.data.cardInformation = {\n ...cardInformation,\n installments: {\n ...renewalState.data.cardInformation?.installments,\n installments: cardInformation.installments.installments,\n isAvailableInstallments: !!cardInformation.installments.installments.length,\n },\n };\n } else {\n renewalState.data.cardInformation = {\n brand: '',\n type: '',\n isoCountry: '',\n bank: '',\n lastFour: '',\n installments: {\n isAvailableInstallments: false,\n installments: [],\n selectedInstallment: undefined,\n },\n };\n }\n }\n\n static setSelectedBankId(bankId: string) {\n renewalState.form = {\n ...renewalState.form,\n selectedBankId: bankId,\n };\n }\n\n static setCardMode(cardMode: 'input' | 'select' | null) {\n renewalState.cardMode = cardMode;\n }\n\n static setDeviceId(deviceId: string) {\n renewalState.deviceId = deviceId;\n }\n\n static setProviderKey(providerKey: string) {\n renewalState.providerKey = providerKey;\n }\n}\n"]}
1
+ {"version":3,"file":"renewal.store.js","sourceRoot":"","sources":["../../src/store/renewal.store.ts"],"names":[],"mappings":"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","sourcesContent":["import { createStore } from '@stencil/store';\nimport { SavedCard } from '../api/entities/cards/types';\nimport {\n CreateAPMCheckoutResponse,\n CreateCardCheckoutResponse,\n} from '../api/entities/checkout/types';\nimport { ENUM_INSTALLMENT_MODEL } from '../models/enums/installment.enum';\nimport { PAYMENT_METHOD_ENUM } from '../models/enums/payment-methods.enum';\nimport { RebillRenewalProps, RenewalSession } from '../models/renewal.model';\n\nexport interface RenewalSessionState {\n token: string;\n data: RenewalSession;\n form: {\n isLoading: boolean;\n selectedPaymentMethod?: PAYMENT_METHOD_ENUM;\n selectedCard?: SavedCard;\n cvv?: string;\n savedCards: SavedCard[];\n checkoutResponse?: CreateCardCheckoutResponse | CreateAPMCheckoutResponse | null;\n userIdentification?: {\n documentType?: string;\n documentNumber?: string;\n };\n selectedBankId?: string;\n };\n isInitialized: boolean;\n fetchingInstallments: boolean;\n cardMode?: 'input' | 'select' | null;\n deviceId?: string;\n providerKey?: string;\n}\n\nconst initialRenewalState: RenewalSessionState = {\n token: '',\n data: {\n id: '',\n cardId: '',\n cardTokenId: '',\n cardInformation: {\n brand: '',\n type: '',\n isoCountry: '',\n bank: '',\n lastFour: '',\n installments: {\n isAvailableInstallments: false,\n installments: [],\n selectedInstallment: undefined,\n },\n },\n subscription: {\n id: '',\n organizationId: '',\n status: '',\n name: [],\n description: [],\n planId: null,\n amount: 0,\n subTotalAmount: 0,\n currency: '',\n isPriceFixed: false,\n targetCurrency: null,\n isProcessing: false,\n frequency: {\n count: 0,\n period: null,\n },\n repetitions: 0,\n currentRepetitions: 0,\n debitDay: null,\n type: '',\n lastChargeDate: '',\n nextChargeDate: '',\n remainingIterations: 0,\n customerId: '',\n customerName: '',\n customerEmail: '',\n paymentMethod: '',\n cardId: null,\n cardLastFour: null,\n trialPeriodDays: null,\n metadata: null,\n createdAt: '',\n },\n organization: {\n id: '',\n name: '',\n logoUrl: null,\n },\n price: {\n amount: 0,\n currency: '',\n country: '',\n paymentMethods: [],\n couponCode: null,\n discountPercentage: 0,\n discountedAmount: 0,\n },\n paymentMethods: [],\n country: '',\n createdAt: '',\n updatedAt: '',\n },\n form: {\n isLoading: false,\n savedCards: [],\n },\n isInitialized: false,\n fetchingInstallments: false,\n cardMode: 'select',\n};\n\nexport const { state: renewalState, onChange } =\n createStore<RenewalSessionState>(initialRenewalState);\n\nexport class RenewalStore {\n static initializeRenewal(renewalProps: RebillRenewalProps) {\n const { token, ...allProps } = renewalProps;\n renewalState.token = token;\n renewalState.data = allProps;\n renewalState.data.country = allProps.country;\n\n if (allProps.subscription?.cardId) {\n renewalState.data.cardId = allProps.subscription.cardId;\n }\n\n renewalState.isInitialized = true;\n }\n\n static setLoading(isLoading: boolean) {\n renewalState.form = {\n ...renewalState.form,\n isLoading,\n };\n }\n\n static setSelectedPaymentMethod(paymentMethod: PAYMENT_METHOD_ENUM) {\n renewalState.form = {\n ...renewalState.form,\n selectedPaymentMethod: paymentMethod,\n };\n }\n\n static setSelectedCard(card: SavedCard) {\n renewalState.form = {\n ...renewalState.form,\n selectedCard: card,\n };\n }\n\n static setCvv(cvv: string) {\n renewalState.form = {\n ...renewalState.form,\n cvv,\n };\n }\n\n static setSavedCards(cards: SavedCard[]) {\n renewalState.form = {\n ...renewalState.form,\n savedCards: cards,\n };\n }\n\n static setCheckoutResponse(response: CreateCardCheckoutResponse | CreateAPMCheckoutResponse) {\n renewalState.form = {\n ...renewalState.form,\n checkoutResponse: response,\n };\n }\n\n static setUserIdentification(identification: { documentType?: string; documentNumber?: string }) {\n renewalState.form = {\n ...renewalState.form,\n userIdentification: {\n ...renewalState.form.userIdentification,\n ...identification,\n },\n };\n }\n\n static clearRenewal() {\n renewalState.data = initialRenewalState.data;\n renewalState.form = initialRenewalState.form;\n renewalState.isInitialized = false;\n }\n\n static getRenewalState(): RenewalSessionState {\n return renewalState;\n }\n\n static setCardId(cardId: string) {\n renewalState.data.cardId = cardId;\n }\n\n static setCardTokenId(cardTokenId: string) {\n renewalState.data.cardTokenId = cardTokenId;\n }\n\n static setFetchingInstallments(fetchingInstallments: boolean) {\n renewalState.fetchingInstallments = fetchingInstallments;\n }\n\n static setCardInformation(cardInformation: {\n brand: string;\n type: string;\n isoCountry: string;\n bank: string;\n lastFour?: string;\n installments: {\n installments: {\n model: ENUM_INSTALLMENT_MODEL;\n cft: number;\n installment: number;\n totalAmount: number;\n installmentAmount: number;\n cftAmount: number;\n }[];\n };\n }) {\n if (cardInformation) {\n renewalState.data.cardInformation = {\n ...cardInformation,\n installments: {\n ...renewalState.data.cardInformation?.installments,\n installments: cardInformation.installments.installments,\n isAvailableInstallments: !!cardInformation.installments.installments.length,\n },\n };\n } else {\n renewalState.data.cardInformation = {\n brand: '',\n type: '',\n isoCountry: '',\n bank: '',\n lastFour: '',\n installments: {\n isAvailableInstallments: false,\n installments: [],\n selectedInstallment: undefined,\n },\n };\n }\n }\n\n static setSelectedBankId(bankId: string) {\n renewalState.form = {\n ...renewalState.form,\n selectedBankId: bankId,\n };\n }\n\n static setCardMode(cardMode: 'input' | 'select' | null) {\n renewalState.cardMode = cardMode;\n }\n\n static setDeviceId(deviceId: string) {\n renewalState.deviceId = deviceId;\n }\n\n static setProviderKey(providerKey: string) {\n renewalState.providerKey = providerKey;\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { C as CardFieldsWrapper$1, d as defineCustomElement$1 } from './p-B1lTVbgj.js';
1
+ import { C as CardFieldsWrapper$1, d as defineCustomElement$1 } from './p-DPpE0kdy.js';
2
2
 
3
3
  const CardFieldsWrapper = CardFieldsWrapper$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { I as Identification, d as defineCustomElement$1 } from './p-D6xIJNnb.js';
1
+ import { I as Identification, d as defineCustomElement$1 } from './p-BJUr_-ZO.js';
2
2
 
3
3
  const CardIdentification = Identification;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { C as CardIframe$1, d as defineCustomElement$1 } from './p-dgrAtFYi.js';
1
+ import { C as CardIframe$1, d as defineCustomElement$1 } from './p-DDVDLDRI.js';
2
2
 
3
3
  const CardIframe = CardIframe$1;
4
4
  const defineCustomElement = defineCustomElement$1;