@inttegro/angular 0.2.0 → 0.4.0
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.
package/README.md
CHANGED
|
@@ -14,3 +14,10 @@ import { CheckoutComponent } from '@inttegro/angular'
|
|
|
14
14
|
})
|
|
15
15
|
export class PaymentPage {}
|
|
16
16
|
```
|
|
17
|
+
|
|
18
|
+
For a `customer_selected_amount` Buy link, bind `purchaseIntentId` instead of
|
|
19
|
+
`orderId`. This works in both embedded and modal presentations:
|
|
20
|
+
|
|
21
|
+
```html
|
|
22
|
+
<inttegro-checkout [purchaseIntentId]="purchaseIntentId" presentation="modal" />
|
|
23
|
+
```
|
|
@@ -7,9 +7,9 @@ import { loadInttegro } from '@inttegro/js';
|
|
|
7
7
|
*
|
|
8
8
|
* Add the component to a host component's `imports` array. It loads the hosted
|
|
9
9
|
* runtime after its view initializes, creates one controller, and destroys that
|
|
10
|
-
* controller with the Angular view. Changing `features`, `orderId`,
|
|
11
|
-
* or `title` replaces the controller; changing
|
|
12
|
-
* updates it in place.
|
|
10
|
+
* controller with the Angular view. Changing `features`, `orderId`,
|
|
11
|
+
* `presentation`, `timeout`, or `title` replaces the controller; changing
|
|
12
|
+
* `appearance` or `locale` updates it in place.
|
|
13
13
|
*
|
|
14
14
|
* Keep this component mounted while a payment attempt or confirmation is
|
|
15
15
|
* pending. The successful `completed` output is suitable for navigation, but
|
|
@@ -23,6 +23,7 @@ import { loadInttegro } from '@inttegro/js';
|
|
|
23
23
|
* template: `
|
|
24
24
|
* <inttegro-checkout
|
|
25
25
|
* [orderId]="orderId"
|
|
26
|
+
* presentation="modal"
|
|
26
27
|
* [appearance]="{ theme: 'system' }"
|
|
27
28
|
* (completed)="onCompleted()"
|
|
28
29
|
* (error)="onError($event)"
|
|
@@ -42,10 +43,12 @@ import { loadInttegro } from '@inttegro/js';
|
|
|
42
43
|
*/
|
|
43
44
|
class CheckoutComponent {
|
|
44
45
|
constructor() {
|
|
45
|
-
/**
|
|
46
|
-
this.
|
|
46
|
+
/** Displays Checkout inline by default or in an Inttegro-managed modal. */
|
|
47
|
+
this.presentation = 'embedded';
|
|
47
48
|
/** Emitted after Checkout reports its successful terminal state. */
|
|
48
49
|
this.completed = new EventEmitter();
|
|
50
|
+
/** Emitted when a payer dismisses managed modal Checkout before completion. */
|
|
51
|
+
this.canceled = new EventEmitter();
|
|
49
52
|
/** Emitted for loader/mount failures and sanitized hosted errors. */
|
|
50
53
|
this.error = new EventEmitter();
|
|
51
54
|
/** Emitted for every sanitized hosted Checkout lifecycle event. */
|
|
@@ -64,6 +67,8 @@ class CheckoutComponent {
|
|
|
64
67
|
return;
|
|
65
68
|
if (changes['features'] ||
|
|
66
69
|
changes['orderId'] ||
|
|
70
|
+
changes['purchaseIntentId'] ||
|
|
71
|
+
changes['presentation'] ||
|
|
67
72
|
changes['timeout'] ||
|
|
68
73
|
changes['title']) {
|
|
69
74
|
void this.mountCheckout();
|
|
@@ -83,6 +88,10 @@ class CheckoutComponent {
|
|
|
83
88
|
focus() {
|
|
84
89
|
this.checkout?.focus();
|
|
85
90
|
}
|
|
91
|
+
/** Closes managed modal Checkout when it is open. */
|
|
92
|
+
dismiss() {
|
|
93
|
+
this.checkout?.dismiss();
|
|
94
|
+
}
|
|
86
95
|
/**
|
|
87
96
|
* Applies a new locale or color scheme when a controller exists.
|
|
88
97
|
* Prefer binding `appearance` and `locale` for declarative Angular views.
|
|
@@ -96,6 +105,7 @@ class CheckoutComponent {
|
|
|
96
105
|
this.destroyCheckout();
|
|
97
106
|
const generation = this.generation;
|
|
98
107
|
const target = this.container.nativeElement;
|
|
108
|
+
let canceled = false;
|
|
99
109
|
try {
|
|
100
110
|
const inttegro = await loadInttegro();
|
|
101
111
|
if (generation !== this.generation || !inttegro)
|
|
@@ -105,6 +115,7 @@ class CheckoutComponent {
|
|
|
105
115
|
features: this.features,
|
|
106
116
|
locale: this.locale,
|
|
107
117
|
orderId: this.orderId,
|
|
118
|
+
purchaseIntentId: this.purchaseIntentId,
|
|
108
119
|
timeout: this.timeout,
|
|
109
120
|
title: this.title,
|
|
110
121
|
}));
|
|
@@ -115,6 +126,10 @@ class CheckoutComponent {
|
|
|
115
126
|
this.checkout = checkout;
|
|
116
127
|
this.unsubscribe = checkout.onEvent((event) => {
|
|
117
128
|
this.event.emit(event);
|
|
129
|
+
if (event.type === 'canceled') {
|
|
130
|
+
canceled = true;
|
|
131
|
+
this.canceled.emit(event);
|
|
132
|
+
}
|
|
118
133
|
if (event.type === 'ready')
|
|
119
134
|
this.ready.emit(event);
|
|
120
135
|
if (event.type === 'completed')
|
|
@@ -122,10 +137,13 @@ class CheckoutComponent {
|
|
|
122
137
|
if (event.type === 'error')
|
|
123
138
|
this.error.emit(event);
|
|
124
139
|
});
|
|
125
|
-
|
|
140
|
+
if (this.presentation === 'modal')
|
|
141
|
+
await checkout.present();
|
|
142
|
+
else
|
|
143
|
+
await checkout.mount(target);
|
|
126
144
|
}
|
|
127
145
|
catch (error) {
|
|
128
|
-
if (generation !== this.generation)
|
|
146
|
+
if (generation !== this.generation || canceled)
|
|
129
147
|
return;
|
|
130
148
|
this.error.emit(error instanceof Error ? error : new Error('Checkout failed to load.'));
|
|
131
149
|
}
|
|
@@ -138,7 +156,7 @@ class CheckoutComponent {
|
|
|
138
156
|
this.checkout = undefined;
|
|
139
157
|
}
|
|
140
158
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: CheckoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
141
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.5", type: CheckoutComponent, isStandalone: true, selector: "inttegro-checkout", inputs: { appearance: "appearance", features: "features", locale: "locale", orderId: "orderId", timeout: "timeout", title: "title" }, outputs: { completed: "completed", error: "error", event: "event", ready: "ready" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: '<div #container></div>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
159
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.5", type: CheckoutComponent, isStandalone: true, selector: "inttegro-checkout", inputs: { appearance: "appearance", features: "features", locale: "locale", orderId: "orderId", purchaseIntentId: "purchaseIntentId", presentation: "presentation", timeout: "timeout", title: "title" }, outputs: { completed: "completed", canceled: "canceled", error: "error", event: "event", ready: "ready" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: '<div #container></div>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
142
160
|
}
|
|
143
161
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: CheckoutComponent, decorators: [{
|
|
144
162
|
type: Component,
|
|
@@ -155,14 +173,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
|
|
|
155
173
|
}], locale: [{
|
|
156
174
|
type: Input
|
|
157
175
|
}], orderId: [{
|
|
158
|
-
type: Input
|
|
159
|
-
|
|
176
|
+
type: Input
|
|
177
|
+
}], purchaseIntentId: [{
|
|
178
|
+
type: Input
|
|
179
|
+
}], presentation: [{
|
|
180
|
+
type: Input
|
|
160
181
|
}], timeout: [{
|
|
161
182
|
type: Input
|
|
162
183
|
}], title: [{
|
|
163
184
|
type: Input
|
|
164
185
|
}], completed: [{
|
|
165
186
|
type: Output
|
|
187
|
+
}], canceled: [{
|
|
188
|
+
type: Output
|
|
166
189
|
}], error: [{
|
|
167
190
|
type: Output
|
|
168
191
|
}], event: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inttegro-angular.mjs","sources":["../../src/lib/checkout.component.ts","../../src/public-api.ts","../../src/inttegro-angular.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n type AfterViewInit,\n type OnChanges,\n type OnDestroy,\n type SimpleChanges,\n} from '@angular/core'\nimport {\n loadInttegro,\n type CheckoutAppearance,\n type CheckoutController,\n type CheckoutErrorEvent,\n type CheckoutEvent,\n type CheckoutFeatures,\n type CheckoutUpdateOptions,\n} from '@inttegro/js'\n\n/**\n * Standalone Angular component that embeds Inttegro-hosted Checkout.\n *\n * Add the component to a host component's `imports` array. It loads the hosted\n * runtime after its view initializes, creates one controller, and destroys that\n * controller with the Angular view. Changing `features`, `orderId`, `timeout`,\n * or `title` replaces the controller; changing `appearance` or `locale`\n * updates it in place.\n *\n * Keep this component mounted while a payment attempt or confirmation is\n * pending. The successful `completed` output is suitable for navigation, but\n * fulfillment must use server-retrieved Order state or a signed webhook.\n *\n * @example\n * ```ts\n * @Component({\n * standalone: true,\n * imports: [CheckoutComponent],\n * template: `\n * <inttegro-checkout\n * [orderId]=\"orderId\"\n * [appearance]=\"{ theme: 'system' }\"\n * (completed)=\"onCompleted()\"\n * (error)=\"onError($event)\"\n * />\n * `,\n * })\n * export class PaymentPage {\n * orderId = input.required<string>()\n * onCompleted(): void { location.assign('/orders/complete') }\n * onError(error: CheckoutErrorEvent | Error): void {\n * reportCheckoutError(error)\n * }\n * }\n * ```\n *\n * @category Angular\n */\n@Component({\n selector: 'inttegro-checkout',\n standalone: true,\n template: '<div #container></div>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CheckoutComponent implements AfterViewInit, OnChanges, OnDestroy {\n /** Initial and reactive theme preference for hosted Checkout. */\n @Input() appearance?: CheckoutAppearance\n /** Hosted Checkout content and actions. Changing it replaces the controller. */\n @Input() features?: CheckoutFeatures\n /** Initial and reactive BCP 47 locale preference. */\n @Input() locale?: string\n /** Client-safe reference for the finalized Order being paid. */\n @Input({ required: true }) orderId = ''\n /** Mount timeout from 1,000–60,000 ms; defaults to 15,000 ms. */\n @Input() timeout?: number\n /** Accessible iframe title; defaults to `Checkout`. */\n @Input() title?: string\n\n /** Emitted after Checkout reports its successful terminal state. */\n @Output() readonly completed = new EventEmitter<\n Extract<CheckoutEvent, { type: 'completed' }>\n >()\n /** Emitted for loader/mount failures and sanitized hosted errors. */\n @Output() readonly error = new EventEmitter<CheckoutErrorEvent | Error>()\n /** Emitted for every sanitized hosted Checkout lifecycle event. */\n @Output() readonly event = new EventEmitter<CheckoutEvent>()\n /** Emitted once the iframe is interactive. */\n @Output() readonly ready = new EventEmitter<\n Extract<CheckoutEvent, { type: 'ready' }>\n >()\n\n @ViewChild('container', { static: true })\n private container?: ElementRef<HTMLDivElement>\n\n private checkout: CheckoutController | undefined\n private unsubscribe: (() => void) | undefined\n private viewReady = false\n private generation = 0\n\n ngAfterViewInit(): void {\n this.viewReady = true\n void this.mountCheckout()\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!this.viewReady) return\n\n if (\n changes['features'] ||\n changes['orderId'] ||\n changes['timeout'] ||\n changes['title']\n ) {\n void this.mountCheckout()\n return\n }\n\n if (changes['appearance'] || changes['locale']) {\n this.checkout?.update(\n definedOptions({ appearance: this.appearance, locale: this.locale }),\n )\n }\n }\n\n ngOnDestroy(): void {\n this.destroyCheckout()\n }\n\n /**\n * Moves focus into hosted Checkout when its controller is ready.\n * Before initialization or after teardown this method safely does nothing.\n */\n focus(): void {\n this.checkout?.focus()\n }\n\n /**\n * Applies a new locale or color scheme when a controller exists.\n * Prefer binding `appearance` and `locale` for declarative Angular views.\n */\n update(options: CheckoutUpdateOptions): void {\n this.checkout?.update(options)\n }\n\n private async mountCheckout(): Promise<void> {\n if (!this.container) return\n this.destroyCheckout()\n const generation = this.generation\n const target = this.container.nativeElement\n\n try {\n const inttegro = await loadInttegro()\n if (generation !== this.generation || !inttegro) return\n const checkout = inttegro.createCheckout(\n definedOptions({\n appearance: this.appearance,\n features: this.features,\n locale: this.locale,\n orderId: this.orderId,\n timeout: this.timeout,\n title: this.title,\n }),\n )\n if (generation !== this.generation) {\n checkout.destroy()\n return\n }\n this.checkout = checkout\n this.unsubscribe = checkout.onEvent((event) => {\n this.event.emit(event)\n if (event.type === 'ready') this.ready.emit(event)\n if (event.type === 'completed') this.completed.emit(event)\n if (event.type === 'error') this.error.emit(event)\n })\n await checkout.mount(target)\n } catch (error) {\n if (generation !== this.generation) return\n this.error.emit(\n error instanceof Error ? error : new Error('Checkout failed to load.'),\n )\n }\n }\n\n private destroyCheckout(): void {\n this.generation += 1\n this.unsubscribe?.()\n this.unsubscribe = undefined\n this.checkout?.destroy()\n this.checkout = undefined\n }\n}\n\nfunction definedOptions<Value extends object>(options: Value): Value {\n return Object.fromEntries(\n Object.entries(options).filter(([, value]) => value !== undefined),\n ) as Value\n}\n","/**\n * Angular standalone component adapter for Inttegro-hosted Checkout.\n *\n * @module @inttegro/angular\n */\nexport { CheckoutComponent } from './lib/checkout.component'\nexport type {\n CheckoutAppearance,\n CheckoutErrorEvent,\n CheckoutEvent,\n CheckoutFeatures,\n CheckoutTheme,\n} from '@inttegro/js'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"inttegro-angular.mjs","sources":["../../src/lib/checkout.component.ts","../../src/public-api.ts","../../src/inttegro-angular.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n type AfterViewInit,\n type OnChanges,\n type OnDestroy,\n type SimpleChanges,\n} from '@angular/core'\nimport {\n loadInttegro,\n type CheckoutAppearance,\n type CheckoutController,\n type CheckoutErrorEvent,\n type CheckoutEvent,\n type CheckoutFeatures,\n type CheckoutOptions,\n type CheckoutPresentation,\n type CheckoutUpdateOptions,\n} from '@inttegro/js'\n\n/**\n * Standalone Angular component that embeds Inttegro-hosted Checkout.\n *\n * Add the component to a host component's `imports` array. It loads the hosted\n * runtime after its view initializes, creates one controller, and destroys that\n * controller with the Angular view. Changing `features`, `orderId`,\n * `presentation`, `timeout`, or `title` replaces the controller; changing\n * `appearance` or `locale` updates it in place.\n *\n * Keep this component mounted while a payment attempt or confirmation is\n * pending. The successful `completed` output is suitable for navigation, but\n * fulfillment must use server-retrieved Order state or a signed webhook.\n *\n * @example\n * ```ts\n * @Component({\n * standalone: true,\n * imports: [CheckoutComponent],\n * template: `\n * <inttegro-checkout\n * [orderId]=\"orderId\"\n * presentation=\"modal\"\n * [appearance]=\"{ theme: 'system' }\"\n * (completed)=\"onCompleted()\"\n * (error)=\"onError($event)\"\n * />\n * `,\n * })\n * export class PaymentPage {\n * orderId = input.required<string>()\n * onCompleted(): void { location.assign('/orders/complete') }\n * onError(error: CheckoutErrorEvent | Error): void {\n * reportCheckoutError(error)\n * }\n * }\n * ```\n *\n * @category Angular\n */\n@Component({\n selector: 'inttegro-checkout',\n standalone: true,\n template: '<div #container></div>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CheckoutComponent implements AfterViewInit, OnChanges, OnDestroy {\n /** Initial and reactive theme preference for hosted Checkout. */\n @Input() appearance?: CheckoutAppearance\n /** Hosted Checkout content and actions. Changing it replaces the controller. */\n @Input() features?: CheckoutFeatures\n /** Initial and reactive BCP 47 locale preference. */\n @Input() locale?: string\n /** Client-safe reference for the finalized Order being paid. */\n @Input() orderId?: string\n /** Client-safe amount-selection Purchase Intent. Mutually exclusive with orderId. */\n @Input() purchaseIntentId?: string\n /** Displays Checkout inline by default or in an Inttegro-managed modal. */\n @Input() presentation: CheckoutPresentation = 'embedded'\n /** Mount timeout from 1,000–60,000 ms; defaults to 15,000 ms. */\n @Input() timeout?: number\n /** Accessible iframe title; defaults to `Checkout`. */\n @Input() title?: string\n\n /** Emitted after Checkout reports its successful terminal state. */\n @Output() readonly completed = new EventEmitter<\n Extract<CheckoutEvent, { type: 'completed' }>\n >()\n /** Emitted when a payer dismisses managed modal Checkout before completion. */\n @Output() readonly canceled = new EventEmitter<\n Extract<CheckoutEvent, { type: 'canceled' }>\n >()\n /** Emitted for loader/mount failures and sanitized hosted errors. */\n @Output() readonly error = new EventEmitter<CheckoutErrorEvent | Error>()\n /** Emitted for every sanitized hosted Checkout lifecycle event. */\n @Output() readonly event = new EventEmitter<CheckoutEvent>()\n /** Emitted once the iframe is interactive. */\n @Output() readonly ready = new EventEmitter<\n Extract<CheckoutEvent, { type: 'ready' }>\n >()\n\n @ViewChild('container', { static: true })\n private container?: ElementRef<HTMLDivElement>\n\n private checkout: CheckoutController | undefined\n private unsubscribe: (() => void) | undefined\n private viewReady = false\n private generation = 0\n\n ngAfterViewInit(): void {\n this.viewReady = true\n void this.mountCheckout()\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!this.viewReady) return\n\n if (\n changes['features'] ||\n changes['orderId'] ||\n changes['purchaseIntentId'] ||\n changes['presentation'] ||\n changes['timeout'] ||\n changes['title']\n ) {\n void this.mountCheckout()\n return\n }\n\n if (changes['appearance'] || changes['locale']) {\n this.checkout?.update(\n definedOptions({ appearance: this.appearance, locale: this.locale }),\n )\n }\n }\n\n ngOnDestroy(): void {\n this.destroyCheckout()\n }\n\n /**\n * Moves focus into hosted Checkout when its controller is ready.\n * Before initialization or after teardown this method safely does nothing.\n */\n focus(): void {\n this.checkout?.focus()\n }\n\n /** Closes managed modal Checkout when it is open. */\n dismiss(): void {\n this.checkout?.dismiss()\n }\n\n /**\n * Applies a new locale or color scheme when a controller exists.\n * Prefer binding `appearance` and `locale` for declarative Angular views.\n */\n update(options: CheckoutUpdateOptions): void {\n this.checkout?.update(options)\n }\n\n private async mountCheckout(): Promise<void> {\n if (!this.container) return\n this.destroyCheckout()\n const generation = this.generation\n const target = this.container.nativeElement\n let canceled = false\n\n try {\n const inttegro = await loadInttegro()\n if (generation !== this.generation || !inttegro) return\n const checkout = inttegro.createCheckout(\n definedOptions({\n appearance: this.appearance,\n features: this.features,\n locale: this.locale,\n orderId: this.orderId,\n purchaseIntentId: this.purchaseIntentId,\n timeout: this.timeout,\n title: this.title,\n }) as CheckoutOptions,\n )\n if (generation !== this.generation) {\n checkout.destroy()\n return\n }\n this.checkout = checkout\n this.unsubscribe = checkout.onEvent((event) => {\n this.event.emit(event)\n if (event.type === 'canceled') {\n canceled = true\n this.canceled.emit(event)\n }\n if (event.type === 'ready') this.ready.emit(event)\n if (event.type === 'completed') this.completed.emit(event)\n if (event.type === 'error') this.error.emit(event)\n })\n if (this.presentation === 'modal') await checkout.present()\n else await checkout.mount(target)\n } catch (error) {\n if (generation !== this.generation || canceled) return\n this.error.emit(\n error instanceof Error ? error : new Error('Checkout failed to load.'),\n )\n }\n }\n\n private destroyCheckout(): void {\n this.generation += 1\n this.unsubscribe?.()\n this.unsubscribe = undefined\n this.checkout?.destroy()\n this.checkout = undefined\n }\n}\n\nfunction definedOptions<Value extends object>(options: Value): Value {\n return Object.fromEntries(\n Object.entries(options).filter(([, value]) => value !== undefined),\n ) as Value\n}\n","/**\n * Angular standalone component adapter for Inttegro-hosted Checkout.\n *\n * @module @inttegro/angular\n */\nexport { CheckoutComponent } from './lib/checkout.component'\nexport type {\n CheckoutAppearance,\n CheckoutErrorEvent,\n CheckoutEvent,\n CheckoutFeatures,\n CheckoutPresentation,\n CheckoutTheme,\n} from '@inttegro/js'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;AAyBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCG;MAOU,iBAAiB,CAAA;AAN9B,IAAA,WAAA,GAAA;;QAkBW,IAAA,CAAA,YAAY,GAAyB,UAAU;;AAOrC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAE5C;;AAEgB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAE3C;;AAEgB,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAA8B;;AAEtD,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAiB;;AAEzC,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAExC;QAOK,IAAA,CAAA,SAAS,GAAG,KAAK;QACjB,IAAA,CAAA,UAAU,GAAG,CAAC;AA2GvB,IAAA;IAzGC,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AACrB,QAAA,KAAK,IAAI,CAAC,aAAa,EAAE;IAC3B;AAEA,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE;QAErB,IACE,OAAO,CAAC,UAAU,CAAC;YACnB,OAAO,CAAC,SAAS,CAAC;YAClB,OAAO,CAAC,kBAAkB,CAAC;YAC3B,OAAO,CAAC,cAAc,CAAC;YACvB,OAAO,CAAC,SAAS,CAAC;AAClB,YAAA,OAAO,CAAC,OAAO,CAAC,EAChB;AACA,YAAA,KAAK,IAAI,CAAC,aAAa,EAAE;YACzB;QACF;QAEA,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC9C,IAAI,CAAC,QAAQ,EAAE,MAAM,CACnB,cAAc,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CACrE;QACH;IACF;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,eAAe,EAAE;IACxB;AAEA;;;AAGG;IACH,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE;IACxB;;IAGA,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE;IAC1B;AAEA;;;AAGG;AACH,IAAA,MAAM,CAAC,OAA8B,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC;IAChC;AAEQ,IAAA,MAAM,aAAa,GAAA;QACzB,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE;QACrB,IAAI,CAAC,eAAe,EAAE;AACtB,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU;AAClC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa;QAC3C,IAAI,QAAQ,GAAG,KAAK;AAEpB,QAAA,IAAI;AACF,YAAA,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE;AACrC,YAAA,IAAI,UAAU,KAAK,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ;gBAAE;AACjD,YAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CACtC,cAAc,CAAC;gBACb,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;AAClB,aAAA,CAAoB,CACtB;AACD,YAAA,IAAI,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE;gBAClC,QAAQ,CAAC,OAAO,EAAE;gBAClB;YACF;AACA,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;YACxB,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AAC5C,gBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;AACtB,gBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;oBAC7B,QAAQ,GAAG,IAAI;AACf,oBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC3B;AACA,gBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;AAAE,oBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;AAClD,gBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;AAAE,oBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;AAC1D,gBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;AAAE,oBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;AACpD,YAAA,CAAC,CAAC;AACF,YAAA,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO;AAAE,gBAAA,MAAM,QAAQ,CAAC,OAAO,EAAE;;AACtD,gBAAA,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;QACnC;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,UAAU,KAAK,IAAI,CAAC,UAAU,IAAI,QAAQ;gBAAE;YAChD,IAAI,CAAC,KAAK,CAAC,IAAI,CACb,KAAK,YAAY,KAAK,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,0BAA0B,CAAC,CACvE;QACH;IACF;IAEQ,eAAe,GAAA;AACrB,QAAA,IAAI,CAAC,UAAU,IAAI,CAAC;AACpB,QAAA,IAAI,CAAC,WAAW,IAAI;AACpB,QAAA,IAAI,CAAC,WAAW,GAAG,SAAS;AAC5B,QAAA,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE;AACxB,QAAA,IAAI,CAAC,QAAQ,GAAG,SAAS;IAC3B;8GAnJW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,6gBAHlB,wBAAwB,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAGvB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,wBAAwB;oBAClC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA;;sBAGE;;sBAEA;;sBAEA;;sBAEA;;sBAEA;;sBAEA;;sBAEA;;sBAEA;;sBAGA;;sBAIA;;sBAIA;;sBAEA;;sBAEA;;sBAIA,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;AAmH1C,SAAS,cAAc,CAAuB,OAAc,EAAA;IAC1D,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,KAAK,KAAK,SAAS,CAAC,CAC1D;AACZ;;AChOA;;;;AAIG;;ACJH;;AAEG;;"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inttegro/angular",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Angular components for Inttegro hosted workflows",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
7
7
|
"node": ">=18"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@inttegro/js": "0.
|
|
10
|
+
"@inttegro/js": "0.4.0",
|
|
11
11
|
"tslib": "^2.8.1"
|
|
12
12
|
},
|
|
13
13
|
"peerDependencies": {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
},
|
|
17
17
|
"repository": {
|
|
18
18
|
"type": "git",
|
|
19
|
-
"url": "git+https://github.com/
|
|
19
|
+
"url": "git+https://github.com/inttegro/js.git",
|
|
20
20
|
"directory": "packages/angular"
|
|
21
21
|
},
|
|
22
22
|
"homepage": "https://studio.inttegro.com/web/angular",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as _inttegro_js from '@inttegro/js';
|
|
2
|
-
import { CheckoutAppearance, CheckoutFeatures, CheckoutErrorEvent, CheckoutEvent, CheckoutUpdateOptions } from '@inttegro/js';
|
|
3
|
-
export { CheckoutAppearance, CheckoutErrorEvent, CheckoutEvent, CheckoutFeatures, CheckoutTheme } from '@inttegro/js';
|
|
2
|
+
import { CheckoutAppearance, CheckoutFeatures, CheckoutPresentation, CheckoutErrorEvent, CheckoutEvent, CheckoutUpdateOptions } from '@inttegro/js';
|
|
3
|
+
export { CheckoutAppearance, CheckoutErrorEvent, CheckoutEvent, CheckoutFeatures, CheckoutPresentation, CheckoutTheme } from '@inttegro/js';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
5
|
import { AfterViewInit, OnChanges, OnDestroy, EventEmitter, SimpleChanges } from '@angular/core';
|
|
6
6
|
|
|
@@ -9,9 +9,9 @@ import { AfterViewInit, OnChanges, OnDestroy, EventEmitter, SimpleChanges } from
|
|
|
9
9
|
*
|
|
10
10
|
* Add the component to a host component's `imports` array. It loads the hosted
|
|
11
11
|
* runtime after its view initializes, creates one controller, and destroys that
|
|
12
|
-
* controller with the Angular view. Changing `features`, `orderId`,
|
|
13
|
-
* or `title` replaces the controller; changing
|
|
14
|
-
* updates it in place.
|
|
12
|
+
* controller with the Angular view. Changing `features`, `orderId`,
|
|
13
|
+
* `presentation`, `timeout`, or `title` replaces the controller; changing
|
|
14
|
+
* `appearance` or `locale` updates it in place.
|
|
15
15
|
*
|
|
16
16
|
* Keep this component mounted while a payment attempt or confirmation is
|
|
17
17
|
* pending. The successful `completed` output is suitable for navigation, but
|
|
@@ -25,6 +25,7 @@ import { AfterViewInit, OnChanges, OnDestroy, EventEmitter, SimpleChanges } from
|
|
|
25
25
|
* template: `
|
|
26
26
|
* <inttegro-checkout
|
|
27
27
|
* [orderId]="orderId"
|
|
28
|
+
* presentation="modal"
|
|
28
29
|
* [appearance]="{ theme: 'system' }"
|
|
29
30
|
* (completed)="onCompleted()"
|
|
30
31
|
* (error)="onError($event)"
|
|
@@ -50,13 +51,19 @@ declare class CheckoutComponent implements AfterViewInit, OnChanges, OnDestroy {
|
|
|
50
51
|
/** Initial and reactive BCP 47 locale preference. */
|
|
51
52
|
locale?: string;
|
|
52
53
|
/** Client-safe reference for the finalized Order being paid. */
|
|
53
|
-
orderId
|
|
54
|
+
orderId?: string;
|
|
55
|
+
/** Client-safe amount-selection Purchase Intent. Mutually exclusive with orderId. */
|
|
56
|
+
purchaseIntentId?: string;
|
|
57
|
+
/** Displays Checkout inline by default or in an Inttegro-managed modal. */
|
|
58
|
+
presentation: CheckoutPresentation;
|
|
54
59
|
/** Mount timeout from 1,000–60,000 ms; defaults to 15,000 ms. */
|
|
55
60
|
timeout?: number;
|
|
56
61
|
/** Accessible iframe title; defaults to `Checkout`. */
|
|
57
62
|
title?: string;
|
|
58
63
|
/** Emitted after Checkout reports its successful terminal state. */
|
|
59
64
|
readonly completed: EventEmitter<_inttegro_js.CheckoutCompletedEvent>;
|
|
65
|
+
/** Emitted when a payer dismisses managed modal Checkout before completion. */
|
|
66
|
+
readonly canceled: EventEmitter<_inttegro_js.CheckoutCanceledEvent>;
|
|
60
67
|
/** Emitted for loader/mount failures and sanitized hosted errors. */
|
|
61
68
|
readonly error: EventEmitter<CheckoutErrorEvent | Error>;
|
|
62
69
|
/** Emitted for every sanitized hosted Checkout lifecycle event. */
|
|
@@ -76,6 +83,8 @@ declare class CheckoutComponent implements AfterViewInit, OnChanges, OnDestroy {
|
|
|
76
83
|
* Before initialization or after teardown this method safely does nothing.
|
|
77
84
|
*/
|
|
78
85
|
focus(): void;
|
|
86
|
+
/** Closes managed modal Checkout when it is open. */
|
|
87
|
+
dismiss(): void;
|
|
79
88
|
/**
|
|
80
89
|
* Applies a new locale or color scheme when a controller exists.
|
|
81
90
|
* Prefer binding `appearance` and `locale` for declarative Angular views.
|
|
@@ -84,7 +93,7 @@ declare class CheckoutComponent implements AfterViewInit, OnChanges, OnDestroy {
|
|
|
84
93
|
private mountCheckout;
|
|
85
94
|
private destroyCheckout;
|
|
86
95
|
static ɵfac: i0.ɵɵFactoryDeclaration<CheckoutComponent, never>;
|
|
87
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<CheckoutComponent, "inttegro-checkout", never, { "appearance": { "alias": "appearance"; "required": false; }; "features": { "alias": "features"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "orderId": { "alias": "orderId"; "required":
|
|
96
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CheckoutComponent, "inttegro-checkout", never, { "appearance": { "alias": "appearance"; "required": false; }; "features": { "alias": "features"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "orderId": { "alias": "orderId"; "required": false; }; "purchaseIntentId": { "alias": "purchaseIntentId"; "required": false; }; "presentation": { "alias": "presentation"; "required": false; }; "timeout": { "alias": "timeout"; "required": false; }; "title": { "alias": "title"; "required": false; }; }, { "completed": "completed"; "canceled": "canceled"; "error": "error"; "event": "event"; "ready": "ready"; }, never, never, true, never>;
|
|
88
97
|
}
|
|
89
98
|
|
|
90
99
|
export { CheckoutComponent };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inttegro-angular.d.ts","sources":["../../src/lib/checkout.component.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"inttegro-angular.d.ts","sources":["../../src/lib/checkout.component.ts"],"mappings":";;;;;;AAyBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCG;AACH,cAMa,iBAAkB,YAAW,aAAa,EAAE,SAAS,EAAE,SAAS;;iBAErD,kBAAkB;;eAEpB,gBAAgB;;;;;;;;kBAQb,oBAAoB;;;;;;wBAOf,YAAA,CAAA,YAAA,CAAA,sBAAA;;uBAID,YAAA,CAAA,YAAA,CAAA,qBAAA;;oBAIH,YAAA,CAAA,kBAAA,GAAA,KAAA;;oBAEA,YAAA,CAAA,aAAA;;oBAEA,YAAA,CAAA,YAAA,CAAA,kBAAA;;;;;;AAYxB;AAKA,yBAAqB,aAAa;AAsBlC;AAIA;;;AAGG;AACH;;AAKA;AAIA;;;AAGG;AACH,oBAAgB,qBAAqB;;AAkDrC;yCA7IW,iBAAiB;2CAAjB,iBAAiB;AAoJ7B;;","names":[]}
|