@tagadapay/headless-sdk 1.18.0 → 1.19.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.
@@ -8,10 +8,10 @@ export { CustomerPortalModule } from './modules/portal/index.js';
8
8
  export type * as PortalTypes from './modules/portal/types.js';
9
9
  export { CatalogModule } from './modules/catalog.js';
10
10
  export { FunnelModule } from './modules/funnel.js';
11
- export { RxModule } from './modules/rx.js';
11
+ export { RxModule, isQuestionActive, toIntakeAnswers } from './modules/rx.js';
12
12
  export { TrackModule } from './modules/track.js';
13
13
  export type { StepData, EventData, TrackIdentity, TrackHealth } from './modules/track.js';
14
- export type { RxCaseStatus, RxRequiredForProduct, RxStorefrontPatient, RxIntakeAnswer, RxClinicalQuestion, RxQuestionsForProduct, RxSubmitCaseInput, RxSubmitCaseResult, RxCaseSummary, RxActivationStatus, RxActivationStepKey, RxActivationMissingItem, } from './modules/rx.js';
14
+ export type { RxCaseStatus, RxRequiredForProduct, RxStorefrontPatient, RxIntakeAnswer, RxClinicalQuestion, RxClinicalQuestionRule, RxQuestionAnswers, RxIntakeContext, RxIntakeIssue, RxValidateIntakeInput, RxQuestionsForProduct, RxSubmitCaseInput, RxSubmitCaseResult, RxCaseSummary, RxActivationStatus, RxActivationStepKey, RxActivationMissingItem, } from './modules/rx.js';
15
15
  export { HttpClient } from './http.js';
16
16
  export { TagadaError, TagadaAuthError, TagadaValidationError, TagadaNotFoundError, TagadaRateLimitError, TagadaPaymentError, TagadaNetworkError, } from './errors.js';
17
17
  export { GoogleAutocompleteCore, loadGoogleMapsScript, ISODataCore, AVAILABLE_LANGUAGES, CurrencyUtils, formatMoney, ensureGeoDataLoaded, getCountries, getStatesForCountry, isLanguageLoaded, } from './helpers/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,KAAK,WAAW,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC1F,YAAY,EACV,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EACL,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,OAAO,EACP,KAAK,EACL,QAAQ,GACT,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,QAAQ,EACR,4BAA4B,EAC5B,wBAAwB,EACxB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,OAAO,EACP,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,WAAW,EACX,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,KAAK,EACL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,QAAQ,EACR,KAAK,EACL,SAAS,EACT,YAAY,EACZ,cAAc,EACd,cAAc,EACd,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,KAAK,WAAW,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC1F,YAAY,EACV,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EACL,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,OAAO,EACP,KAAK,EACL,QAAQ,GACT,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,QAAQ,EACR,4BAA4B,EAC5B,wBAAwB,EACxB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,OAAO,EACP,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,WAAW,EACX,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,KAAK,EACL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,QAAQ,EACR,KAAK,EACL,SAAS,EACT,YAAY,EACZ,cAAc,EACd,cAAc,EACd,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC"}
@@ -7,7 +7,7 @@ export { CustomerModule } from './modules/customer.js';
7
7
  export { CustomerPortalModule } from './modules/portal/index.js';
8
8
  export { CatalogModule } from './modules/catalog.js';
9
9
  export { FunnelModule } from './modules/funnel.js';
10
- export { RxModule } from './modules/rx.js';
10
+ export { RxModule, isQuestionActive, toIntakeAnswers } from './modules/rx.js';
11
11
  export { TrackModule } from './modules/track.js';
12
12
  export { HttpClient } from './http.js';
13
13
  export { TagadaError, TagadaAuthError, TagadaValidationError, TagadaNotFoundError, TagadaRateLimitError, TagadaPaymentError, TagadaNetworkError, } from './errors.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAiBjD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EACL,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,2EAA2E;AAC3E,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AA2D5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAsBjD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EACL,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,2EAA2E;AAC3E,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AA2D5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -16,14 +16,26 @@ import type { HttpClient } from '../http.js';
16
16
  * (productId is public; case routes require the checkoutToken the
17
17
  * storefront already received when it bootstrapped the checkout).
18
18
  *
19
+ * Rules: the server enforces the clinical network's contract on every
20
+ * submit (US address and phone, required questions, offered options, MDI
21
+ * demographics). Use `validateIntake` before payment and `isQuestionActive`
22
+ * / `toIntakeAnswers` to render and send the questionnaire the same way.
23
+ *
19
24
  * @example
20
25
  * ```ts
21
26
  * const { required } = await tagada.rx.isRequiredForProduct(productId);
22
27
  * if (required) {
23
- * const intake = await collectIntakeFromUser();
28
+ * // Before payment: US address, phone, ZIP, age.
29
+ * const pre = await tagada.rx.validateIntake({ productId, patient });
30
+ * if (!pre.valid) return showErrors(pre.issues);
31
+ * // After payment: render the network questionnaire.
32
+ * const { questions } = await tagada.rx.getQuestionsForProduct(productId, variantId);
33
+ * const ctx = { state: patient.address.state, sexAtBirth: patient.sexAtBirth };
34
+ * const shown = questions.filter((q) => isQuestionActive(q, answers, ctx));
35
+ * // …collect `answers` keyed by externalQuestionId…
24
36
  * const res = await tagada.rx.submitCase({
25
37
  * orderId, checkoutToken, productId,
26
- * patient, intakeAnswers: intake,
38
+ * patient, intakeAnswers: toIntakeAnswers(questions, answers, ctx),
27
39
  * });
28
40
  * router.push(`/thank-you?rxCase=${res.rxCaseId}`);
29
41
  * }
@@ -83,6 +95,16 @@ export interface RxIntakeAnswer {
83
95
  /** Options presented for MCQ questions. */
84
96
  displayedOptions?: string[];
85
97
  }
98
+ /** Display rule copied from the clinical network (see `isQuestionActive`). */
99
+ export interface RxClinicalQuestionRule {
100
+ op: 'and' | 'or';
101
+ requirements: Array<{
102
+ /** `question`: answer to another question; `state`: shipping state; `other` + `patient_sex`: sex at birth. */
103
+ basedOn: 'question' | 'state' | 'other';
104
+ questionId: string | null;
105
+ answer: string | null;
106
+ }>;
107
+ }
86
108
  export interface RxClinicalQuestion {
87
109
  externalQuestionId: string;
88
110
  title: string;
@@ -94,7 +116,59 @@ export interface RxClinicalQuestion {
94
116
  options: {
95
117
  value: string;
96
118
  label: string;
119
+ important?: boolean;
120
+ critical?: boolean;
97
121
  }[];
122
+ /** `false` = clinician-side question: never show it, never ask it. */
123
+ visible?: boolean;
124
+ /** Show the question only when one rule matches (`isQuestionActive`). */
125
+ rules?: RxClinicalQuestionRule[];
126
+ important?: boolean;
127
+ critical?: boolean;
128
+ label?: string | null;
129
+ /** Value the network fills itself for hidden questions; send it as is. */
130
+ defaultValue?: string | null;
131
+ }
132
+ /** Answers keyed by `externalQuestionId`, as a storefront collects them. */
133
+ export type RxQuestionAnswers = Record<string, string | number | boolean | string[] | undefined>;
134
+ export interface RxIntakeContext {
135
+ /** Shipping state, 2-letter code. */
136
+ state?: string;
137
+ sexAtBirth?: 'male' | 'female' | 'unspecified';
138
+ }
139
+ /**
140
+ * Whether the patient must see (and answer) a question. Same rules the
141
+ * server enforces on `submitCase`: hidden and file questions are never
142
+ * shown; a question with rules shows when one rule matches the answers so
143
+ * far, the shipping state or the patient's sex (e.g. "Drug Allergies" only
144
+ * after "Yes", pregnancy only for women).
145
+ */
146
+ export declare function isQuestionActive(question: RxClinicalQuestion, answers: RxQuestionAnswers, context?: RxIntakeContext): boolean;
147
+ /**
148
+ * Turn the answers a storefront collected into the `intakeAnswers` to
149
+ * submit: active questions only, keyed by title (what the clinician
150
+ * reads), with the options that were shown, and the network's default for
151
+ * hidden questions. Plug and play with `submitCase` / `validateIntake`.
152
+ */
153
+ export declare function toIntakeAnswers(questions: RxClinicalQuestion[], answers: RxQuestionAnswers, context?: RxIntakeContext): RxIntakeAnswer[];
154
+ export interface RxIntakeIssue {
155
+ field: string;
156
+ message: string;
157
+ }
158
+ export interface RxValidateIntakeInput {
159
+ productId: string;
160
+ variantId?: string;
161
+ patient: {
162
+ phone?: string | null;
163
+ dateOfBirth: string;
164
+ sexAtBirth: 'male' | 'female' | 'unspecified';
165
+ address: {
166
+ state: string;
167
+ zip: string;
168
+ country: string;
169
+ };
170
+ };
171
+ intakeAnswers?: RxIntakeAnswer[];
98
172
  }
99
173
  export interface RxQuestionsForProduct {
100
174
  required: boolean;
@@ -185,8 +259,21 @@ export declare class RxModule {
185
259
  */
186
260
  submitCase(input: RxSubmitCaseInput): Promise<RxSubmitCaseResult>;
187
261
  /**
188
- * Fetch the network-authored intake questions for a product.
189
- * Empty `questions` means the storefront should use its local quiz.
262
+ * Check the patient (and, once filled, the intake) against the clinical
263
+ * network rules before paying / submitting: US address in the 50 states
264
+ * or DC, US phone, 5 digit ZIP, adult, every active required question
265
+ * answered with an offered option. `submitCase` enforces the same rules
266
+ * and fails with 422 otherwise. Nothing is created.
267
+ */
268
+ validateIntake(input: RxValidateIntakeInput): Promise<{
269
+ valid: boolean;
270
+ issues: RxIntakeIssue[];
271
+ }>;
272
+ /**
273
+ * Fetch the network-authored intake questions for a product. Render
274
+ * every question for which `isQuestionActive` is true, build the payload
275
+ * with `toIntakeAnswers`. Empty `questions` means the product has no
276
+ * clinical questionnaire: never replace a network questionnaire with your own.
190
277
  */
191
278
  getQuestionsForProduct(productId: string, variantId?: string): Promise<RxQuestionsForProduct>;
192
279
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rx.d.ts","sourceRoot":"","sources":["../../../src/core/modules/rx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rx.d.ts","sourceRoot":"","sources":["../../../src/core/modules/rx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,MAAM,YAAY,GACpB,WAAW,GACX,WAAW,GACX,WAAW,GACX,UAAU,GACV,SAAS,GACT,WAAW,GACX,UAAU,GACV,WAAW,GACX,OAAO,CAAC;AAEZ,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,YAAY,EAAE,OAAO,CAAC;IACtB,sBAAsB,EAAE,OAAO,CAAC;IAChC,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,aAAa,CAAC;IAC9C,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,uCAAuC;QACvC,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,CAAC;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,8EAA8E;AAC9E,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,KAAK,GAAG,IAAI,CAAC;IACjB,YAAY,EAAE,KAAK,CAAC;QAClB,8GAA8G;QAC9G,OAAO,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC;QACxC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,kBAAkB;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IACrF,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yEAAyE;IACzE,KAAK,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,4EAA4E;AAC5E,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;AAEjG,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,aAAa,CAAC;CAChD;AAKD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,iBAAiB,EAC1B,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAiBT;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,kBAAkB,EAAE,EAC/B,OAAO,EAAE,iBAAiB,EAC1B,OAAO,GAAE,eAAoB,GAC5B,cAAc,EAAE,CAmBlB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,aAAa,CAAC;QAC9C,OAAO,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KAC1D,CAAC;IACF,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,SAAS,EAAE,kBAAkB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,YAAY,CAAC;IACrB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,mBAAmB,GAC3B,aAAa,GACb,UAAU,GACV,SAAS,GACT,sBAAsB,GACtB,YAAY,CAAC;AAEjB,MAAM,MAAM,uBAAuB,GAC/B,aAAa,GACb,UAAU,GACV,YAAY,GACZ,qBAAqB,GACrB,sBAAsB,GACtB,+BAA+B,GAC/B,YAAY,GACZ,mBAAmB,CAAC;AAExB;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,eAAe,GAAG,gBAAgB,GAAG,QAAQ,CAAC;IACrD,KAAK,EAAE;QAAE,GAAG,EAAE,mBAAmB,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IACrD,OAAO,EAAE,uBAAuB,EAAE,CAAC;IACnC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC;IACjC,gBAAgB,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;CAChE;AAED,qBAAa,QAAQ;IAEjB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBADR,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,MAAM,YAAA;IAGnC;;;;;;OAMG;IACG,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAQxE;;;;;;OAMG;IACG,oBAAoB,CACxB,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE;QAAE,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE,GACpC,OAAO,CAAC,oBAAoB,CAAC;IAShC;;;;OAIG;IACG,gBAAgB,CAAC,KAAK,EAAE;QAC5B,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,aAAa,EAAE,CAAA;KAAE,CAAC;IAOvC;;;;OAIG;IACG,UAAU,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIvE;;;;;;OAMG;IACG,cAAc,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,aAAa,EAAE,CAAA;KAAE,CAAC;IAIxG;;;;;OAKG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,qBAAqB,CAAC;CAKlC"}
@@ -1,3 +1,63 @@
1
+ const sameText = (a, b) => b !== null && String(a).trim().toLowerCase() === b.trim().toLowerCase();
2
+ /**
3
+ * Whether the patient must see (and answer) a question. Same rules the
4
+ * server enforces on `submitCase`: hidden and file questions are never
5
+ * shown; a question with rules shows when one rule matches the answers so
6
+ * far, the shipping state or the patient's sex (e.g. "Drug Allergies" only
7
+ * after "Yes", pregnancy only for women).
8
+ */
9
+ export function isQuestionActive(question, answers, context = {}) {
10
+ if (question.visible === false || question.type === 'file')
11
+ return false;
12
+ const rules = question.rules ?? [];
13
+ if (rules.length === 0)
14
+ return true;
15
+ return rules.some((rule) => {
16
+ const check = (req) => {
17
+ if (req.basedOn === 'state')
18
+ return sameText(context.state ?? '', req.answer);
19
+ if (req.basedOn === 'other' && req.questionId === 'patient_sex')
20
+ return sameText(context.sexAtBirth ?? '', req.answer);
21
+ if (req.basedOn === 'question' && req.questionId) {
22
+ const v = answers[req.questionId];
23
+ if (v === undefined)
24
+ return false;
25
+ return Array.isArray(v) ? v.some((x) => sameText(x, req.answer)) : sameText(v, req.answer);
26
+ }
27
+ return false;
28
+ };
29
+ return rule.op === 'and' ? rule.requirements.every(check) : rule.requirements.some(check);
30
+ });
31
+ }
32
+ /**
33
+ * Turn the answers a storefront collected into the `intakeAnswers` to
34
+ * submit: active questions only, keyed by title (what the clinician
35
+ * reads), with the options that were shown, and the network's default for
36
+ * hidden questions. Plug and play with `submitCase` / `validateIntake`.
37
+ */
38
+ export function toIntakeAnswers(questions, answers, context = {}) {
39
+ const out = [];
40
+ for (const q of questions) {
41
+ if (q.visible === false) {
42
+ if (q.defaultValue)
43
+ out.push({ questionId: q.title, question: q.title, value: q.defaultValue, type: 'string' });
44
+ continue;
45
+ }
46
+ if (!isQuestionActive(q, answers, context))
47
+ continue;
48
+ const value = answers[q.externalQuestionId];
49
+ if (value === undefined || (typeof value === 'string' && value.trim() === ''))
50
+ continue;
51
+ out.push({
52
+ questionId: q.title,
53
+ question: q.title,
54
+ value,
55
+ type: q.type === 'number' ? 'number' : q.type === 'boolean' ? 'boolean' : 'string',
56
+ ...(q.options.length > 0 ? { displayedOptions: q.options.map((o) => o.label) } : {}),
57
+ });
58
+ }
59
+ return out;
60
+ }
1
61
  export class RxModule {
2
62
  constructor(http, storeId) {
3
63
  this.http = http;
@@ -50,8 +110,20 @@ export class RxModule {
50
110
  return this.http.post('/api/public/v1/rx/cases/submit', input);
51
111
  }
52
112
  /**
53
- * Fetch the network-authored intake questions for a product.
54
- * Empty `questions` means the storefront should use its local quiz.
113
+ * Check the patient (and, once filled, the intake) against the clinical
114
+ * network rules before paying / submitting: US address in the 50 states
115
+ * or DC, US phone, 5 digit ZIP, adult, every active required question
116
+ * answered with an offered option. `submitCase` enforces the same rules
117
+ * and fails with 422 otherwise. Nothing is created.
118
+ */
119
+ async validateIntake(input) {
120
+ return this.http.post('/api/public/v1/rx/intake/validate', input);
121
+ }
122
+ /**
123
+ * Fetch the network-authored intake questions for a product. Render
124
+ * every question for which `isQuestionActive` is true, build the payload
125
+ * with `toIntakeAnswers`. Empty `questions` means the product has no
126
+ * clinical questionnaire: never replace a network questionnaire with your own.
55
127
  */
56
128
  async getQuestionsForProduct(productId, variantId) {
57
129
  return this.http.get('/api/public/v1/rx/questions-for-product', {
@@ -1 +1 @@
1
- {"version":3,"file":"rx.js","sourceRoot":"","sources":["../../../src/core/modules/rx.ts"],"names":[],"mappings":"AAgLA,MAAM,OAAO,QAAQ;IACnB,YACmB,IAAgB,EAChB,OAAgB;QADhB,SAAI,GAAJ,IAAI,CAAY;QAChB,YAAO,GAAP,OAAO,CAAS;IAChC,CAAC;IAEJ;;;;;;OAMG;IACH,KAAK,CAAC,mBAAmB,CAAC,OAAgB;QACxC,MAAM,EAAE,GAAG,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;QACnC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAqB,qCAAqC,EAAE;YAC9E,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;SACxB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,oBAAoB,CACxB,SAAiB,EACjB,IAAqC;QAErC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAuB,wCAAwC,EAAE;YACnF,MAAM,EAAE;gBACN,SAAS;gBACT,iBAAiB,EAAE,IAAI,EAAE,iBAAiB;aAC3C;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,KAGtB;QACC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,gCAAgC,EAChC,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,KAAwB;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqB,gCAAgC,EAAE,KAAK,CAAC,CAAC;IACrF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,sBAAsB,CAC1B,SAAiB,EACjB,SAAkB;QAElB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAwB,yCAAyC,EAAE;YACrF,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE;SAC7D,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"rx.js","sourceRoot":"","sources":["../../../src/core/modules/rx.ts"],"names":[],"mappings":"AAuJA,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAE,CAAgB,EAAW,EAAE,CACzD,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAE1E;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAA4B,EAC5B,OAA0B,EAC1B,UAA2B,EAAE;IAE7B,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IACzE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;IACnC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,MAAM,KAAK,GAAG,CAAC,GAAmD,EAAE,EAAE;YACpE,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO;gBAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAC9E,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO,IAAI,GAAG,CAAC,UAAU,KAAK,aAAa;gBAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YACvH,IAAI,GAAG,CAAC,OAAO,KAAK,UAAU,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;gBACjD,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAClC,IAAI,CAAC,KAAK,SAAS;oBAAE,OAAO,KAAK,CAAC;gBAClC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAC7F,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QACF,OAAO,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,SAA+B,EAC/B,OAA0B,EAC1B,UAA2B,EAAE;IAE7B,MAAM,GAAG,GAAqB,EAAE,CAAC;IACjC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,YAAY;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChH,SAAS;QACX,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC;YAAE,SAAS;QACrD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAC5C,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;YAAE,SAAS;QACxF,GAAG,CAAC,IAAI,CAAC;YACP,UAAU,EAAE,CAAC,CAAC,KAAK;YACnB,QAAQ,EAAE,CAAC,CAAC,KAAK;YACjB,KAAK;YACL,IAAI,EAAE,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;YAClF,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAqFD,MAAM,OAAO,QAAQ;IACnB,YACmB,IAAgB,EAChB,OAAgB;QADhB,SAAI,GAAJ,IAAI,CAAY;QAChB,YAAO,GAAP,OAAO,CAAS;IAChC,CAAC;IAEJ;;;;;;OAMG;IACH,KAAK,CAAC,mBAAmB,CAAC,OAAgB;QACxC,MAAM,EAAE,GAAG,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;QACnC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAqB,qCAAqC,EAAE;YAC9E,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;SACxB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,oBAAoB,CACxB,SAAiB,EACjB,IAAqC;QAErC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAuB,wCAAwC,EAAE;YACnF,MAAM,EAAE;gBACN,SAAS;gBACT,iBAAiB,EAAE,IAAI,EAAE,iBAAiB;aAC3C;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,KAGtB;QACC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,gCAAgC,EAChC,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,KAAwB;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqB,gCAAgC,EAAE,KAAK,CAAC,CAAC;IACrF,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,cAAc,CAAC,KAA4B;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA8C,mCAAmC,EAAE,KAAK,CAAC,CAAC;IACjH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,sBAAsB,CAC1B,SAAiB,EACjB,SAAkB;QAElB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAwB,yCAAyC,EAAE;YACrF,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE;SAC7D,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
1
  /** Identity this package reports to the SDK routes. A test pins it to `package.json`. */
2
2
  export declare const SDK_NAME: "headless";
3
- export declare const SDK_VERSION: "1.18.0";
3
+ export declare const SDK_VERSION: "1.19.0";
4
4
  //# sourceMappingURL=version.d.ts.map
@@ -1,4 +1,4 @@
1
1
  /** Identity this package reports to the SDK routes. A test pins it to `package.json`. */
2
2
  export const SDK_NAME = 'headless';
3
- export const SDK_VERSION = '1.18.0';
3
+ export const SDK_VERSION = '1.19.0';
4
4
  //# sourceMappingURL=version.js.map
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @tagadapay/headless-sdk v1.18.0
2
+ * @tagadapay/headless-sdk v1.19.0
3
3
  * Headless checkout, payments, offers, and CRM
4
4
  * @license MIT
5
5
  */