@mj-biz-apps/orders-ng 5.23.0 → 5.24.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/dist/checkout-element/main.js +1401 -218
- package/dist/lib/checkout-widget/checkout-access.d.ts +21 -0
- package/dist/lib/checkout-widget/checkout-access.d.ts.map +1 -0
- package/dist/lib/checkout-widget/checkout-access.js +38 -0
- package/dist/lib/checkout-widget/checkout-access.js.map +1 -0
- package/dist/lib/checkout-widget/checkout-account.d.ts +6 -2
- package/dist/lib/checkout-widget/checkout-account.d.ts.map +1 -1
- package/dist/lib/checkout-widget/checkout-account.js +3 -5
- package/dist/lib/checkout-widget/checkout-account.js.map +1 -1
- package/dist/lib/checkout-widget/checkout-draft-line.d.ts +6 -0
- package/dist/lib/checkout-widget/checkout-draft-line.d.ts.map +1 -1
- package/dist/lib/checkout-widget/checkout-draft-line.js +12 -0
- package/dist/lib/checkout-widget/checkout-draft-line.js.map +1 -1
- package/dist/lib/checkout-widget/checkout-public-host.component.d.ts +55 -2
- package/dist/lib/checkout-widget/checkout-public-host.component.d.ts.map +1 -1
- package/dist/lib/checkout-widget/checkout-public-host.component.js +267 -45
- package/dist/lib/checkout-widget/checkout-public-host.component.js.map +1 -1
- package/dist/lib/checkout-widget/checkout-redirect.d.ts +15 -0
- package/dist/lib/checkout-widget/checkout-redirect.d.ts.map +1 -0
- package/dist/lib/checkout-widget/checkout-redirect.js +27 -0
- package/dist/lib/checkout-widget/checkout-redirect.js.map +1 -0
- package/dist/lib/checkout-widget/checkout-widget.component.d.ts +84 -1
- package/dist/lib/checkout-widget/checkout-widget.component.d.ts.map +1 -1
- package/dist/lib/checkout-widget/checkout-widget.component.js +462 -162
- package/dist/lib/checkout-widget/checkout-widget.component.js.map +1 -1
- package/dist/lib/data/orders-queries.d.ts +37 -1
- package/dist/lib/data/orders-queries.d.ts.map +1 -1
- package/dist/lib/data/orders-queries.js +87 -0
- package/dist/lib/data/orders-queries.js.map +1 -1
- package/dist/lib/form-panels/product-header.panel.d.ts +5 -0
- package/dist/lib/form-panels/product-header.panel.d.ts.map +1 -1
- package/dist/lib/form-panels/product-header.panel.js +22 -2
- package/dist/lib/form-panels/product-header.panel.js.map +1 -1
- package/dist/lib/form-panels/subscription-revrec.panel.d.ts +2 -5
- package/dist/lib/form-panels/subscription-revrec.panel.d.ts.map +1 -1
- package/dist/lib/form-panels/subscription-revrec.panel.js +4 -61
- package/dist/lib/form-panels/subscription-revrec.panel.js.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsOrdersCheckoutSession/mjbizappsorderscheckoutsession.form.component.js +19 -13
- package/dist/lib/generated/Entities/mjBizAppsOrdersCheckoutSession/mjbizappsorderscheckoutsession.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsOrdersCustomerPaymentMethod/mjbizappsorderscustomerpaymentmethod.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsOrdersCustomerPaymentMethod/mjbizappsorderscustomerpaymentmethod.form.component.js +23 -5
- package/dist/lib/generated/Entities/mjBizAppsOrdersCustomerPaymentMethod/mjbizappsorderscustomerpaymentmethod.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsOrdersOrderLineProgressMeasurement/mjbizappsordersorderlineprogressmeasurement.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsOrdersOrderLineProgressMeasurement/mjbizappsordersorderlineprogressmeasurement.form.component.js +30 -7
- package/dist/lib/generated/Entities/mjBizAppsOrdersOrderLineProgressMeasurement/mjbizappsordersorderlineprogressmeasurement.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsOrdersSubscription/mjbizappsorderssubscription.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsOrdersSubscription/mjbizappsorderssubscription.form.component.js +46 -38
- package/dist/lib/generated/Entities/mjBizAppsOrdersSubscription/mjbizappsorderssubscription.form.component.js.map +1 -1
- package/dist/lib/pages/receivables/progress.page.d.ts +34 -0
- package/dist/lib/pages/receivables/progress.page.d.ts.map +1 -1
- package/dist/lib/pages/receivables/progress.page.js +204 -37
- package/dist/lib/pages/receivables/progress.page.js.map +1 -1
- package/dist/lib/pages/receivables/subscriptions.page.d.ts +45 -16
- package/dist/lib/pages/receivables/subscriptions.page.d.ts.map +1 -1
- package/dist/lib/pages/receivables/subscriptions.page.js +122 -92
- package/dist/lib/pages/receivables/subscriptions.page.js.map +1 -1
- package/dist/lib/services/pricing-scheduler.service.d.ts +6 -9
- package/dist/lib/services/pricing-scheduler.service.d.ts.map +1 -1
- package/dist/lib/services/pricing-scheduler.service.js +33 -36
- package/dist/lib/services/pricing-scheduler.service.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether the buyer's access is ready, as the public checkout's success screen shows it (#325).
|
|
3
|
+
* Pure, so it is testable without the host component.
|
|
4
|
+
*/
|
|
5
|
+
export type CheckoutAccessState = 'Ready' | 'Pending' | 'Failed' | 'NotTracked';
|
|
6
|
+
export declare const CHECKOUT_ACCESS_STATE_EVENT = "checkout-access-state";
|
|
7
|
+
/** How often the success screen asks, and for how long, before it stops waiting. */
|
|
8
|
+
export declare const ACCESS_POLL_INTERVAL_MS = 2000;
|
|
9
|
+
export declare const ACCESS_POLL_TIMEOUT_MS = 60000;
|
|
10
|
+
export interface CheckoutAccessMessages {
|
|
11
|
+
pending?: string;
|
|
12
|
+
ready?: string;
|
|
13
|
+
failed?: string;
|
|
14
|
+
}
|
|
15
|
+
/** The state the server reported, or null when the response carries none (an error). */
|
|
16
|
+
export declare function ReadAccessState(response: unknown): CheckoutAccessState | null;
|
|
17
|
+
/** The line the success screen shows for a state; none when access is not tracked. */
|
|
18
|
+
export declare function AccessMessage(state: CheckoutAccessState | null, messages?: CheckoutAccessMessages | null): string | null;
|
|
19
|
+
/** Whether the success screen should stop asking: the state is final, or nothing is tracked. */
|
|
20
|
+
export declare function IsFinalAccessState(state: CheckoutAccessState | null): boolean;
|
|
21
|
+
//# sourceMappingURL=checkout-access.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkout-access.d.ts","sourceRoot":"","sources":["../../../src/lib/checkout-widget/checkout-access.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,CAAC;AAEhF,eAAO,MAAM,2BAA2B,0BAA0B,CAAC;AAEnE,oFAAoF;AACpF,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAC5C,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AAE5C,MAAM,WAAW,sBAAsB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAQD,wFAAwF;AACxF,wBAAgB,eAAe,CAAC,QAAQ,EAAE,OAAO,GAAG,mBAAmB,GAAG,IAAI,CAM7E;AAED,sFAAsF;AACtF,wBAAgB,aAAa,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,EAAE,QAAQ,CAAC,EAAE,sBAAsB,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CASxH;AAED,gGAAgG;AAChG,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,GAAG,OAAO,CAE7E"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export const CHECKOUT_ACCESS_STATE_EVENT = 'checkout-access-state';
|
|
2
|
+
/** How often the success screen asks, and for how long, before it stops waiting. */
|
|
3
|
+
export const ACCESS_POLL_INTERVAL_MS = 2000;
|
|
4
|
+
export const ACCESS_POLL_TIMEOUT_MS = 60000;
|
|
5
|
+
const DEFAULTS = {
|
|
6
|
+
pending: 'Your access is being set up…',
|
|
7
|
+
ready: 'Your access is ready.',
|
|
8
|
+
failed: "We couldn't finish setting up your access. Please contact support.",
|
|
9
|
+
};
|
|
10
|
+
/** The state the server reported, or null when the response carries none (an error). */
|
|
11
|
+
export function ReadAccessState(response) {
|
|
12
|
+
if (!response || typeof response !== 'object')
|
|
13
|
+
return null;
|
|
14
|
+
const r = response;
|
|
15
|
+
if (r['Success'] !== true)
|
|
16
|
+
return null;
|
|
17
|
+
const s = r['State'];
|
|
18
|
+
return s === 'Ready' || s === 'Pending' || s === 'Failed' || s === 'NotTracked' ? s : null;
|
|
19
|
+
}
|
|
20
|
+
/** The line the success screen shows for a state; none when access is not tracked. */
|
|
21
|
+
export function AccessMessage(state, messages) {
|
|
22
|
+
const pick = (key) => {
|
|
23
|
+
const custom = messages?.[key];
|
|
24
|
+
return typeof custom === 'string' && custom.trim() ? custom : DEFAULTS[key];
|
|
25
|
+
};
|
|
26
|
+
if (state === 'Pending')
|
|
27
|
+
return pick('pending');
|
|
28
|
+
if (state === 'Ready')
|
|
29
|
+
return pick('ready');
|
|
30
|
+
if (state === 'Failed')
|
|
31
|
+
return pick('failed');
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
/** Whether the success screen should stop asking: the state is final, or nothing is tracked. */
|
|
35
|
+
export function IsFinalAccessState(state) {
|
|
36
|
+
return state !== 'Pending';
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=checkout-access.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkout-access.js","sourceRoot":"","sources":["../../../src/lib/checkout-widget/checkout-access.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,2BAA2B,GAAG,uBAAuB,CAAC;AAEnE,oFAAoF;AACpF,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAC5C,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAQ5C,MAAM,QAAQ,GAAqC;IAC/C,OAAO,EAAE,8BAA8B;IACvC,KAAK,EAAE,uBAAuB;IAC9B,MAAM,EAAE,oEAAoE;CAC/E,CAAC;AAEF,wFAAwF;AACxF,MAAM,UAAU,eAAe,CAAC,QAAiB;IAC7C,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3D,MAAM,CAAC,GAAG,QAAmC,CAAC;IAC9C,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;IACrB,OAAO,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/F,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,aAAa,CAAC,KAAiC,EAAE,QAAwC;IACrG,MAAM,IAAI,GAAG,CAAC,GAAiC,EAAU,EAAE;QACvD,MAAM,MAAM,GAAG,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChF,CAAC,CAAC;IACF,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;IAChD,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,kBAAkB,CAAC,KAAiC;IAChE,OAAO,KAAK,KAAK,SAAS,CAAC;AAC/B,CAAC"}
|
|
@@ -12,14 +12,18 @@ export interface CheckoutAccountView {
|
|
|
12
12
|
Outcome: CheckoutAccountOutcome;
|
|
13
13
|
Message?: string;
|
|
14
14
|
CanSetPassword: boolean;
|
|
15
|
-
/**
|
|
15
|
+
/**
|
|
16
|
+
* The buyer must verify the e-mail before the account signs in. True for every `Created`
|
|
17
|
+
* account: the `CheckoutAccountStep` contract keeps a created account unable to sign in until
|
|
18
|
+
* the host has verified the e-mail (#395).
|
|
19
|
+
*/
|
|
16
20
|
VerificationRequired?: boolean;
|
|
17
21
|
}
|
|
18
22
|
/** Shown when the account step could not be reached or did not answer. */
|
|
19
23
|
export declare const ACCOUNT_STEP_FAILED: CheckoutAccountView;
|
|
20
24
|
/** The account the server reported, or null when the response carries none (no step registered). */
|
|
21
25
|
export declare function ReadCheckoutAccount(raw: unknown): CheckoutAccountView | null;
|
|
22
|
-
/** The note shown with the password form
|
|
26
|
+
/** The note shown with the password form of a created account. */
|
|
23
27
|
export declare function VerificationNote(account: CheckoutAccountView | null): string | null;
|
|
24
28
|
/** The line shown under the confirmation when no password form is showing. */
|
|
25
29
|
export declare function AccountMessage(account: CheckoutAccountView, passwordSet: boolean): string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout-account.d.ts","sourceRoot":"","sources":["../../../src/lib/checkout-widget/checkout-account.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAErE,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,sBAAsB,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB
|
|
1
|
+
{"version":3,"file":"checkout-account.d.ts","sourceRoot":"","sources":["../../../src/lib/checkout-widget/checkout-account.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAErE,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,sBAAsB,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,0EAA0E;AAC1E,eAAO,MAAM,mBAAmB,EAAE,mBAAkE,CAAC;AAErG,oGAAoG;AACpG,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,mBAAmB,GAAG,IAAI,CAU5E;AAID,kEAAkE;AAClE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAEnF;AAED,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAQhG;AAED,iHAAiH;AACjH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIxF;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,EAAE,SAAS,UAAQ,GAAG,OAAO,CAG3F;AAED,oGAAoG;AACpG,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,GAAG,OAAO,CAE7E"}
|
|
@@ -20,20 +20,18 @@ export function ReadCheckoutAccount(raw) {
|
|
|
20
20
|
Outcome: a['Outcome'],
|
|
21
21
|
Message: typeof a['Message'] === 'string' && a['Message'] ? a['Message'] : undefined,
|
|
22
22
|
CanSetPassword: a['CanSetPassword'] === true,
|
|
23
|
-
VerificationRequired: a['Outcome'] === 'Created'
|
|
23
|
+
VerificationRequired: a['Outcome'] === 'Created',
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
26
|
const VERIFY_NOTE = 'We are sending a link to your e-mail. Use it to verify your account before you sign in.';
|
|
27
|
-
/** The note shown with the password form
|
|
27
|
+
/** The note shown with the password form of a created account. */
|
|
28
28
|
export function VerificationNote(account) {
|
|
29
29
|
return account?.VerificationRequired ? VERIFY_NOTE : null;
|
|
30
30
|
}
|
|
31
31
|
/** The line shown under the confirmation when no password form is showing. */
|
|
32
32
|
export function AccountMessage(account, passwordSet) {
|
|
33
33
|
if (passwordSet) {
|
|
34
|
-
return account.
|
|
35
|
-
? 'Your password is set. Check your e-mail for the link to verify your account, then sign in with the e-mail you used here.'
|
|
36
|
-
: 'Your password is set. You can now sign in with the e-mail you used here.';
|
|
34
|
+
return 'Your password is set. Check your e-mail for the link to verify your account, then sign in with the e-mail you used here.';
|
|
37
35
|
}
|
|
38
36
|
if (account.Message)
|
|
39
37
|
return account.Message;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout-account.js","sourceRoot":"","sources":["../../../src/lib/checkout-widget/checkout-account.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"checkout-account.js","sourceRoot":"","sources":["../../../src/lib/checkout-widget/checkout-account.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgBH,0EAA0E;AAC1E,MAAM,CAAC,MAAM,mBAAmB,GAAwB,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;AAErG,oGAAoG;AACpG,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC5C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACjD,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACtG,OAAO;QACH,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC;QACrB,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;QACpF,cAAc,EAAE,CAAC,CAAC,gBAAgB,CAAC,KAAK,IAAI;QAC5C,oBAAoB,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,SAAS;KACnD,CAAC;AACN,CAAC;AAED,MAAM,WAAW,GAAG,yFAAyF,CAAC;AAE9G,kEAAkE;AAClE,MAAM,UAAU,gBAAgB,CAAC,OAAmC;IAChE,OAAO,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9D,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,cAAc,CAAC,OAA4B,EAAE,WAAoB;IAC7E,IAAI,WAAW,EAAE,CAAC;QACd,OAAO,0HAA0H,CAAC;IACtI,CAAC;IACD,IAAI,OAAO,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC;IAC5C,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,yGAAyG,CAAC;IACnJ,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,mGAAmG,CAAC;IAC7I,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,iHAAiH;AACjH,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,YAAoB;IACrE,IAAI,CAAC,QAAQ;QAAE,OAAO,0BAA0B,CAAC;IACjD,IAAI,QAAQ,KAAK,YAAY;QAAE,OAAO,iCAAiC,CAAC;IACxE,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,OAAmC,EAAE,SAAS,GAAG,KAAK;IAC9E,IAAI,SAAS,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,CAAC,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC;AACnE,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,gBAAgB,CAAC,OAAmC;IAChE,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AACjF,CAAC"}
|
|
@@ -25,4 +25,10 @@ export declare function stripeConfirmAlreadyCollected(error: {
|
|
|
25
25
|
export declare function formatStripeError(error: {
|
|
26
26
|
message?: string;
|
|
27
27
|
} | null | undefined): string;
|
|
28
|
+
/**
|
|
29
|
+
* The notice to stop on before payment when a member token earned no discount (#324), or null to
|
|
30
|
+
* carry on. Shown once: the buyer sees why the price is the standard rate, and submitting again
|
|
31
|
+
* pays it. A buyer with no token, or whose discount applied, never stops here.
|
|
32
|
+
*/
|
|
33
|
+
export declare function memberDiscountNotice(draft: Record<string, unknown> | null | undefined, alreadyShown: boolean): string | null;
|
|
28
34
|
//# sourceMappingURL=checkout-draft-line.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout-draft-line.d.ts","sourceRoot":"","sources":["../../../src/lib/checkout-widget/checkout-draft-line.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAE3E;;;;GAIG;AACH,wBAAgB,sBAAsB,CAClC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,uBAAuB,GAC/B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAezB;AAED,sFAAsF;AACtF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAG/D;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAO3I;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAExF"}
|
|
1
|
+
{"version":3,"file":"checkout-draft-line.d.ts","sourceRoot":"","sources":["../../../src/lib/checkout-widget/checkout-draft-line.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAE3E;;;;GAIG;AACH,wBAAgB,sBAAsB,CAClC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,uBAAuB,GAC/B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAezB;AAED,sFAAsF;AACtF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAG/D;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAO3I;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAExF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,EAAE,YAAY,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAM5H"}
|
|
@@ -45,4 +45,16 @@ export function stripeConfirmAlreadyCollected(error) {
|
|
|
45
45
|
export function formatStripeError(error) {
|
|
46
46
|
return error?.message?.trim() || 'Payment failed.';
|
|
47
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* The notice to stop on before payment when a member token earned no discount (#324), or null to
|
|
50
|
+
* carry on. Shown once: the buyer sees why the price is the standard rate, and submitting again
|
|
51
|
+
* pays it. A buyer with no token, or whose discount applied, never stops here.
|
|
52
|
+
*/
|
|
53
|
+
export function memberDiscountNotice(draft, alreadyShown) {
|
|
54
|
+
const message = draft?.['MemberDiscountMessage'];
|
|
55
|
+
if (alreadyShown || typeof message !== 'string' || !message) {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
return `${message} Submit again to continue at the standard rate.`;
|
|
59
|
+
}
|
|
48
60
|
//# sourceMappingURL=checkout-draft-line.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout-draft-line.js","sourceRoot":"","sources":["../../../src/lib/checkout-widget/checkout-draft-line.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAClC,SAAiB,EACjB,KAA8B;IAE9B,MAAM,IAAI,GAA4B;QAClC,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;KAC3B,CAAC;IACF,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC;IAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC;IACzC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5E,IAAI,CAAC,aAAa,GAAG;YACjB,UAAU,EAAE,KAAK,CAAC,aAAa,EAAE,UAAU;YAC3C,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,KAAK;SACf,CAAC;IACN,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,sBAAsB,CAAC,MAAe;IAClD,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,OAAO,CAAC,KAAK,WAAW,CAAC;AAC7B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAAC,KAAoF;IAC9H,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACrD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACvD,IAAI,IAAI,KAAK,iCAAiC,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;AAChI,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAA8C;IAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,iBAAiB,CAAC;AACvD,CAAC"}
|
|
1
|
+
{"version":3,"file":"checkout-draft-line.js","sourceRoot":"","sources":["../../../src/lib/checkout-widget/checkout-draft-line.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAClC,SAAiB,EACjB,KAA8B;IAE9B,MAAM,IAAI,GAA4B;QAClC,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;KAC3B,CAAC;IACF,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC;IAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC;IACzC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5E,IAAI,CAAC,aAAa,GAAG;YACjB,UAAU,EAAE,KAAK,CAAC,aAAa,EAAE,UAAU;YAC3C,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,KAAK;SACf,CAAC;IACN,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,sBAAsB,CAAC,MAAe;IAClD,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,OAAO,CAAC,KAAK,WAAW,CAAC;AAC7B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAAC,KAAoF;IAC9H,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACrD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACvD,IAAI,IAAI,KAAK,iCAAiC,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;AAChI,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAA8C;IAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,iBAAiB,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAiD,EAAE,YAAqB;IACzG,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC,uBAAuB,CAAC,CAAC;IACjD,IAAI,YAAY,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,GAAG,OAAO,iDAAiD,CAAC;AACvE,CAAC"}
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { AfterViewChecked, OnDestroy, OnInit } from '@angular/core';
|
|
10
10
|
import { type CheckoutAccountView } from './checkout-account.js';
|
|
11
|
-
import { type
|
|
11
|
+
import { type CheckoutAccessState } from './checkout-access.js';
|
|
12
|
+
import { type CheckoutAppliedPromotion, type CheckoutServerPricedTotal, type CheckoutSubmissionEvent, type CheckoutWidgetConfig } from './checkout-widget.component.js';
|
|
12
13
|
import * as i0 from "@angular/core";
|
|
13
14
|
export { buildCheckoutDraftLine } from './checkout-draft-line.js';
|
|
14
15
|
interface StripeCard {
|
|
@@ -28,6 +29,11 @@ interface StripeInstance {
|
|
|
28
29
|
card: StripeCard;
|
|
29
30
|
billing_details?: {
|
|
30
31
|
email?: string;
|
|
32
|
+
address?: {
|
|
33
|
+
country?: string;
|
|
34
|
+
state?: string;
|
|
35
|
+
postal_code?: string;
|
|
36
|
+
};
|
|
31
37
|
};
|
|
32
38
|
};
|
|
33
39
|
}): Promise<{
|
|
@@ -49,6 +55,8 @@ export declare class CheckoutPublicHostComponent implements OnInit, AfterViewChe
|
|
|
49
55
|
private readonly cdr;
|
|
50
56
|
slug: string;
|
|
51
57
|
apiRoot: string;
|
|
58
|
+
/** A host-signed membership token, verified server-side on /draft and never stored (#324). */
|
|
59
|
+
memberToken: string;
|
|
52
60
|
config: CheckoutWidgetConfig | null;
|
|
53
61
|
sessionKey: string;
|
|
54
62
|
sessionId: string;
|
|
@@ -59,6 +67,15 @@ export declare class CheckoutPublicHostComponent implements OnInit, AfterViewChe
|
|
|
59
67
|
loadError: string | null;
|
|
60
68
|
successMessage: string | null;
|
|
61
69
|
orderNumber: string | null;
|
|
70
|
+
/** The code the server last priced, fed back to the widget so it shows the discounted total. */
|
|
71
|
+
appliedPromotion: CheckoutAppliedPromotion | null;
|
|
72
|
+
/** Why the last code could not be used. */
|
|
73
|
+
promotionError: string | null;
|
|
74
|
+
/** The total the server last priced the draft at, fed back so the widget charges what it shows. */
|
|
75
|
+
serverPricedTotal: CheckoutServerPricedTotal | null;
|
|
76
|
+
/** The server's total and tax for the details last drafted — shown before the buyer is charged. */
|
|
77
|
+
quotedTotal: number | null;
|
|
78
|
+
quotedTax: number | null;
|
|
62
79
|
/** The post-payment account step, when the host registered one (#292). */
|
|
63
80
|
account: CheckoutAccountView | null;
|
|
64
81
|
password: string;
|
|
@@ -72,10 +89,19 @@ export declare class CheckoutPublicHostComponent implements OnInit, AfterViewChe
|
|
|
72
89
|
private accountDismissed;
|
|
73
90
|
get accountMessage(): string | null;
|
|
74
91
|
get verificationNote(): string | null;
|
|
92
|
+
/** Whether the buyer's access is ready (#325); null while nothing is tracked. */
|
|
93
|
+
accessState: CheckoutAccessState | null;
|
|
94
|
+
/** How often, and for how long, the success screen asks. Fields so a test can shorten them. */
|
|
95
|
+
accessPollIntervalMs: number;
|
|
96
|
+
accessPollTimeoutMs: number;
|
|
97
|
+
/** True while access is being asked for; the redirect waits on it. */
|
|
98
|
+
private accessTracking;
|
|
99
|
+
get accessMessage(): string | null;
|
|
75
100
|
private stripe;
|
|
76
101
|
private card;
|
|
77
102
|
private cardMounted;
|
|
78
103
|
private destroyed;
|
|
104
|
+
private memberNoticeShown;
|
|
79
105
|
private state;
|
|
80
106
|
/** Bumped by Cancel: the template re-creates the widget, which clears everything the buyer entered. */
|
|
81
107
|
formGeneration: number;
|
|
@@ -88,6 +114,13 @@ export declare class CheckoutPublicHostComponent implements OnInit, AfterViewChe
|
|
|
88
114
|
ngOnInit(): Promise<void>;
|
|
89
115
|
ngAfterViewChecked(): void;
|
|
90
116
|
ngOnDestroy(): void;
|
|
117
|
+
/** The buyer pressed Apply: price the form with the code and show what it does. */
|
|
118
|
+
onPromotionCodeApplied(event: CheckoutSubmissionEvent): Promise<void>;
|
|
119
|
+
/**
|
|
120
|
+
* Read a draft's verdict on the buyer's code into the widget's inputs. Returns true when the
|
|
121
|
+
* draft priced the code (or no code was sent), false when the code was refused.
|
|
122
|
+
*/
|
|
123
|
+
private applyPromotionOutcome;
|
|
91
124
|
/**
|
|
92
125
|
* Cancel resets the checkout to a blank form and tells the host page, which may close the modal
|
|
93
126
|
* the checkout sits in. The widget is re-created, so every field the buyer filled in is cleared,
|
|
@@ -114,8 +147,22 @@ export declare class CheckoutPublicHostComponent implements OnInit, AfterViewChe
|
|
|
114
147
|
* The caller reports the state, since a host reset reports `LOADING` next, not `CHECKOUT`.
|
|
115
148
|
*/
|
|
116
149
|
private resetForm;
|
|
150
|
+
/** A price input changed: every total the server priced for the old inputs is stale, tax included. */
|
|
151
|
+
onQuoteInvalidated(): void;
|
|
117
152
|
onSubmitted(event: CheckoutSubmissionEvent): Promise<void>;
|
|
153
|
+
/**
|
|
154
|
+
* Stop before charging when the server's total differs from what the buyer was shown. Tax
|
|
155
|
+
* depends on the billing location, so the first press of Pay is also the first time the total
|
|
156
|
+
* including tax is known; the buyer sees it and presses Pay again.
|
|
157
|
+
*/
|
|
158
|
+
private quoteChanged;
|
|
118
159
|
private finish;
|
|
160
|
+
/**
|
|
161
|
+
* Asks whether the order's access is ready until it is, it has failed, or the wait runs out.
|
|
162
|
+
* Never throws: a status that cannot be read leaves the confirmation as it is. Holds the
|
|
163
|
+
* redirect while it runs, and follows it once it ends if nothing else is left to do.
|
|
164
|
+
*/
|
|
165
|
+
private trackAccess;
|
|
119
166
|
/** Asks for the account step of the completed checkout. The host is asked again only after a failure. */
|
|
120
167
|
private loadAccount;
|
|
121
168
|
/** Asks the host again after the account step failed. */
|
|
@@ -131,6 +178,12 @@ export declare class CheckoutPublicHostComponent implements OnInit, AfterViewChe
|
|
|
131
178
|
submitPassword(): Promise<void>;
|
|
132
179
|
/** Leaves the password for later: the buyer can reset it at sign-in. */
|
|
133
180
|
skipPassword(): void;
|
|
181
|
+
/**
|
|
182
|
+
* `PASSWORD` while the account step's password form shows, and `SUCCESS` once it no longer does.
|
|
183
|
+
* Nothing is sent when the form never showed: `finish()` has already reported `SUCCESS`, and a
|
|
184
|
+
* reload that resumes a settled step should not report a second sale.
|
|
185
|
+
*/
|
|
186
|
+
private syncAccountState;
|
|
134
187
|
/** Follows the widget's redirect once nothing is left for the buyer to do here. */
|
|
135
188
|
private leaveIfDone;
|
|
136
189
|
/** Reports a state the host page can track; repeats of the same state are not re-sent. */
|
|
@@ -155,6 +208,6 @@ export declare class CheckoutPublicHostComponent implements OnInit, AfterViewChe
|
|
|
155
208
|
private post;
|
|
156
209
|
private str;
|
|
157
210
|
static ɵfac: i0.ɵɵFactoryDeclaration<CheckoutPublicHostComponent, never>;
|
|
158
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<CheckoutPublicHostComponent, "mj-orders-checkout", never, { "slug": { "alias": "slug"; "required": false; }; "apiRoot": { "alias": "apiRoot"; "required": false; }; }, {}, never, never, true, never>;
|
|
211
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CheckoutPublicHostComponent, "mj-orders-checkout", never, { "slug": { "alias": "slug"; "required": false; }; "apiRoot": { "alias": "apiRoot"; "required": false; }; "memberToken": { "alias": "memberToken"; "required": false; }; }, {}, never, never, true, never>;
|
|
159
212
|
}
|
|
160
213
|
//# sourceMappingURL=checkout-public-host.component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout-public-host.component.d.ts","sourceRoot":"","sources":["../../../src/lib/checkout-widget/checkout-public-host.component.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACH,gBAAgB,EAKhB,SAAS,EACT,MAAM,EAET,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"checkout-public-host.component.d.ts","sourceRoot":"","sources":["../../../src/lib/checkout-widget/checkout-public-host.component.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACH,gBAAgB,EAKhB,SAAS,EACT,MAAM,EAET,MAAM,eAAe,CAAC;AAGvB,OAAO,EAQH,KAAK,mBAAmB,EAC3B,MAAM,oBAAoB,CAAC;AAa5B,OAAO,EAOH,KAAK,mBAAmB,EAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEH,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EAC5B,MAAM,6BAA6B,CAAC;;AASrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,UAAU,UAAU;IAChB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;IAC1C,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IACvE,OAAO,CAAC,IAAI,IAAI,CAAC;IACjB,OAAO,CAAC,IAAI,IAAI,CAAC;CACpB;AAED,UAAU,cAAc;IACpB,QAAQ,IAAI;QAAE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE,CAAC;IACjD,kBAAkB,CACd,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE;QACF,cAAc,EAAE;YACZ,IAAI,EAAE,UAAU,CAAC;YACjB,eAAe,CAAC,EAAE;gBACd,KAAK,CAAC,EAAE,MAAM,CAAC;gBACf,OAAO,CAAC,EAAE;oBAAE,OAAO,CAAC,EAAE,MAAM,CAAC;oBAAC,KAAK,CAAC,EAAE,MAAM,CAAC;oBAAC,WAAW,CAAC,EAAE,MAAM,CAAA;iBAAE,CAAC;aACxE,CAAC;SACL,CAAC;KACL,GACF,OAAO,CAAC;QAAE,KAAK,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,aAAa,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;CACrF;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,cAAc,CAAC;KACvD;CACJ;AAED,qBAOa,2BAA4B,YAAW,MAAM,EAAE,gBAAgB,EAAE,SAAS;IACnF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;IACjE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA6B;IAEjC,IAAI,SAAM;IACV,OAAO,SAAe;IACtC,8FAA8F;IAC9E,WAAW,SAAM;IAE1B,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAAQ;IAC3C,UAAU,SAAM;IAChB,SAAS,SAAM;IACf,UAAU,UAAS;IACnB,cAAc,UAAS;IACvB,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC5C,YAAY,EAAE,MAAM,GAAG,IAAI,CAAQ;IACnC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAChC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IACrC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IACzC,gGAAgG;IACzF,gBAAgB,EAAE,wBAAwB,GAAG,IAAI,CAAQ;IAChE,2CAA2C;IACpC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC5C,mGAAmG;IAC5F,iBAAiB,EAAE,yBAAyB,GAAG,IAAI,CAAQ;IAClE,mGAAmG;IAC5F,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAClC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEvC,0EAA0E;IACnE,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAQ;IAC3C,QAAQ,SAAM;IACd,oBAAoB,SAAM;IAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;IACpC,YAAY,UAAS;IACrB,WAAW,UAAS;IAC3B,sDAAsD;IAC/C,cAAc,UAAS;IAC9B,sDAAsD;IACtD,OAAO,CAAC,gBAAgB,CAAS;IAEjC,IAAW,cAAc,IAAI,MAAM,GAAG,IAAI,CAEzC;IAED,IAAW,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAE3C;IAED,iFAAiF;IAC1E,WAAW,EAAE,mBAAmB,GAAG,IAAI,CAAQ;IACtD,+FAA+F;IACxF,oBAAoB,SAA2B;IAC/C,mBAAmB,SAA0B;IACpD,sEAAsE;IACtE,OAAO,CAAC,cAAc,CAAS;IAE/B,IAAW,aAAa,IAAI,MAAM,GAAG,IAAI,CAExC;IAED,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,KAAK,CAAqC;IAClD,uGAAuG;IAChG,cAAc,SAAK;IAE1B,2FAA2F;IACpF,YAAY,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC1C,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqC;IAEtE,IAAW,MAAM,IAAI,OAAO,CAE3B;IAEY,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAgD/B,kBAAkB,IAAI,IAAI;IAc1B,WAAW,IAAI,IAAI;IAU1B,mFAAmF;IACtE,sBAAsB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BlF;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IA4B7B;;;;OAIG;IACI,WAAW,IAAI,IAAI;IAW1B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,cAAc;IAqBtB,+FAA+F;IAC/F,OAAO,KAAK,gBAAgB,GAE3B;IAED;;;OAGG;IACH,OAAO,CAAC,SAAS;IAejB,sGAAsG;IAC/F,kBAAkB,IAAI,IAAI;IAOpB,WAAW,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsGvE;;;;OAIG;IACH,OAAO,CAAC,YAAY;YAcN,MAAM;IA0CpB;;;;OAIG;YACW,WAAW;IA4BzB,yGAAyG;YAC3F,WAAW;IAoBzB,yDAAyD;IAC5C,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAK1C,+FAA+F;IACxF,cAAc,IAAI,IAAI;IAK7B;;;OAGG;YACW,iBAAiB;IAuB/B,yGAAyG;IAC5F,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAiC5C,wEAAwE;IACjE,YAAY,IAAI,IAAI;IAO3B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAQxB,mFAAmF;IACnF,OAAO,CAAC,WAAW;IAOnB,0FAA0F;IAC1F,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,WAAW;IAKnB,2GAA2G;IAC3G,OAAO,CAAC,QAAQ;YAKF,WAAW;IAqBzB,OAAO,CAAC,UAAU;IAwBlB,OAAO,CAAC,kBAAkB;IAqB1B;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAUlC,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,SAAS;IA+BjB,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,iBAAiB;YAQX,IAAI;IAYlB,OAAO,CAAC,GAAG;yCAxxBF,2BAA2B;2CAA3B,2BAA2B;CA2xBvC"}
|