@aranova/tracking-react 1.9.0 → 1.11.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 +7 -3
- package/dist/{bookings-DtcwdM_I.d.mts → bookings-BnXZGgwr.d.mts} +16 -3
- package/dist/{bookings-Bx7totlS.d.ts → bookings-vM_aCNOS.d.ts} +16 -3
- package/dist/client.d.mts +6 -6
- package/dist/client.d.ts +6 -6
- package/dist/client.js +25 -3
- package/dist/client.js.map +1 -1
- package/dist/client.mjs +25 -3
- package/dist/client.mjs.map +1 -1
- package/dist/{form-submit-BLb28aCk.d.mts → form-submit-CX-CxJjQ.d.mts} +9 -37
- package/dist/{form-submit-BLb28aCk.d.ts → form-submit-CX-CxJjQ.d.ts} +9 -37
- package/dist/index.d.mts +179 -8
- package/dist/index.d.ts +179 -8
- package/dist/index.js +133 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +127 -2
- package/dist/index.mjs.map +1 -1
- package/dist/{ingest-typed-B-BgEZdW.d.ts → ingest-typed-BS9agXM5.d.ts} +12 -3
- package/dist/{ingest-typed-C2OvZ7dp.d.mts → ingest-typed-TI6KqVzL.d.mts} +12 -3
- package/dist/{phone-utils-CM8eUPz8.d.mts → phone-utils-BNiSqeF7.d.mts} +1 -1
- package/dist/{phone-utils-l8ey3Zdm.d.ts → phone-utils-D12FW8tT.d.ts} +1 -1
- package/dist/phone.d.mts +2 -2
- package/dist/phone.d.ts +2 -2
- package/dist/{sales-DJJpMY_c.d.ts → sales-BegN5t_z.d.ts} +1 -1
- package/dist/{sales-Dil7TNV_.d.mts → sales-CSV0H3iG.d.mts} +1 -1
- package/dist/sales.d.mts +3 -3
- package/dist/sales.d.ts +3 -3
- package/dist/sales.js +2 -1
- package/dist/sales.js.map +1 -1
- package/dist/sales.mjs +2 -1
- package/dist/sales.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -815,9 +815,15 @@ function parseConversionConfig(raw) {
|
|
|
815
815
|
services,
|
|
816
816
|
goals,
|
|
817
817
|
linked_hostnames: Array.isArray(obj.linked_hostnames) ? obj.linked_hostnames.filter((h) => typeof h === "string" && h.length > 0) : [],
|
|
818
|
-
integrations: parseIntegrations(obj.integrations)
|
|
818
|
+
integrations: parseIntegrations(obj.integrations),
|
|
819
|
+
lead_forms: parseLeadForms(obj.lead_forms)
|
|
819
820
|
};
|
|
820
821
|
}
|
|
822
|
+
function parseLeadForms(value) {
|
|
823
|
+
if (!value || typeof value !== "object") return null;
|
|
824
|
+
const version = value.registry_version;
|
|
825
|
+
return typeof version === "number" ? { registry_version: version } : null;
|
|
826
|
+
}
|
|
821
827
|
var CACHE_PREFIX = "_aranova_cfg_";
|
|
822
828
|
function cacheKey(url) {
|
|
823
829
|
return `${CACHE_PREFIX}${url}`;
|
|
@@ -1917,7 +1923,8 @@ function createSalesBookingsClient(config, firing) {
|
|
|
1917
1923
|
const body = {
|
|
1918
1924
|
idempotency_key: attemptKey,
|
|
1919
1925
|
vehicle: details.vehicle ?? null,
|
|
1920
|
-
notes: details.notes?.trim() || null
|
|
1926
|
+
notes: details.notes?.trim() || null,
|
|
1927
|
+
heard_via: details.heardVia?.trim() || null
|
|
1921
1928
|
};
|
|
1922
1929
|
try {
|
|
1923
1930
|
const response = await salesRequest(
|
|
@@ -2449,6 +2456,118 @@ function phoneField(name, raw, country) {
|
|
|
2449
2456
|
return { name, type: "phone", value: toE164(raw, country) };
|
|
2450
2457
|
}
|
|
2451
2458
|
|
|
2459
|
+
// ../tracking-core/src/lead-forms/lead-forms.gen.ts
|
|
2460
|
+
import * as z4 from "zod/mini";
|
|
2461
|
+
var LEAD_FORM_REGISTRY_VERSION = 1;
|
|
2462
|
+
var LEAD_FORM_KINDS = ["booking", "quote", "contact", "consult", "callback"];
|
|
2463
|
+
var LEAD_FORM_ROLES = [
|
|
2464
|
+
"given_name",
|
|
2465
|
+
"family_name",
|
|
2466
|
+
"phone",
|
|
2467
|
+
"email",
|
|
2468
|
+
"service",
|
|
2469
|
+
"preferred_date",
|
|
2470
|
+
"preferred_time",
|
|
2471
|
+
"note",
|
|
2472
|
+
"visit",
|
|
2473
|
+
"intent",
|
|
2474
|
+
"vehicle",
|
|
2475
|
+
"drop_off",
|
|
2476
|
+
"address",
|
|
2477
|
+
"patient_type",
|
|
2478
|
+
"matter",
|
|
2479
|
+
"language",
|
|
2480
|
+
"products",
|
|
2481
|
+
"goal",
|
|
2482
|
+
"business_type",
|
|
2483
|
+
"lead_volume",
|
|
2484
|
+
"attribution"
|
|
2485
|
+
];
|
|
2486
|
+
var LEAD_FORM_PRIMITIVES = [
|
|
2487
|
+
"string",
|
|
2488
|
+
"text",
|
|
2489
|
+
"enum",
|
|
2490
|
+
"multi_enum",
|
|
2491
|
+
"bool",
|
|
2492
|
+
"date",
|
|
2493
|
+
"time_window",
|
|
2494
|
+
"phone",
|
|
2495
|
+
"email",
|
|
2496
|
+
"address",
|
|
2497
|
+
"number"
|
|
2498
|
+
];
|
|
2499
|
+
var leadFormPrimitiveSchemas = {
|
|
2500
|
+
string: z4.string().check(z4.maxLength(120)),
|
|
2501
|
+
text: z4.string().check(z4.maxLength(2e3)),
|
|
2502
|
+
enum: z4.string().check(z4.regex(/^[a-z0-9-]{1,48}$/)),
|
|
2503
|
+
multi_enum: z4.array(z4.string().check(z4.regex(/^[a-z0-9-]{1,48}$/))).check(z4.maxLength(10)),
|
|
2504
|
+
bool: z4.boolean(),
|
|
2505
|
+
date: z4.string().check(z4.regex(/^\d{4}-\d{2}-\d{2}$/)),
|
|
2506
|
+
time_window: z4.strictObject({
|
|
2507
|
+
start: z4.string().check(z4.regex(/^([01]\d|2[0-3]):[0-5]\d$/)),
|
|
2508
|
+
end: z4.nullable(z4.string().check(z4.regex(/^([01]\d|2[0-3]):[0-5]\d$/))),
|
|
2509
|
+
label: z4.optional(z4.string().check(z4.maxLength(60)))
|
|
2510
|
+
}),
|
|
2511
|
+
phone: z4.string().check(z4.regex(/^\+[1-9]\d{6,14}$/)),
|
|
2512
|
+
email: z4.string().check(z4.maxLength(320), z4.regex(/^[^\s@]+@[^\s@]+$/)),
|
|
2513
|
+
address: z4.strictObject({
|
|
2514
|
+
line1: z4.string().check(z4.maxLength(120)),
|
|
2515
|
+
line2: z4.optional(z4.string().check(z4.maxLength(120))),
|
|
2516
|
+
city: z4.optional(z4.string().check(z4.maxLength(120))),
|
|
2517
|
+
region: z4.optional(z4.string().check(z4.maxLength(120))),
|
|
2518
|
+
postal_code: z4.optional(z4.string().check(z4.maxLength(120))),
|
|
2519
|
+
country: z4.optional(z4.string().check(z4.maxLength(120)))
|
|
2520
|
+
}),
|
|
2521
|
+
number: z4.number()
|
|
2522
|
+
};
|
|
2523
|
+
var LEAD_FORM_ROLE_SPECS = {
|
|
2524
|
+
given_name: { primitive: "string", smsLabel: "", contactIdentity: true },
|
|
2525
|
+
family_name: { primitive: "string", smsLabel: "", contactIdentity: true },
|
|
2526
|
+
phone: { primitive: "phone", smsLabel: "", contactIdentity: true },
|
|
2527
|
+
email: { primitive: "email", smsLabel: "", contactIdentity: true },
|
|
2528
|
+
service: { primitive: "enum", smsLabel: "Service" },
|
|
2529
|
+
preferred_date: { primitive: "date", smsLabel: "Date" },
|
|
2530
|
+
preferred_time: { primitive: "time_window", smsLabel: "Time" },
|
|
2531
|
+
note: { primitive: "text", smsLabel: "Note" },
|
|
2532
|
+
visit: {
|
|
2533
|
+
primitive: "enum",
|
|
2534
|
+
smsLabel: "Visit",
|
|
2535
|
+
options: [
|
|
2536
|
+
{ key: "in-shop", label: "In shop" },
|
|
2537
|
+
{ key: "in-home", label: "In home" },
|
|
2538
|
+
{ key: "remote", label: "Remote" },
|
|
2539
|
+
{ key: "on-site", label: "On site" }
|
|
2540
|
+
]
|
|
2541
|
+
},
|
|
2542
|
+
intent: {
|
|
2543
|
+
primitive: "enum",
|
|
2544
|
+
smsLabel: "Wants",
|
|
2545
|
+
options: [
|
|
2546
|
+
{ key: "book", label: "Book" },
|
|
2547
|
+
{ key: "quote", label: "Quote" }
|
|
2548
|
+
]
|
|
2549
|
+
},
|
|
2550
|
+
vehicle: { primitive: "string", smsLabel: "Vehicle" },
|
|
2551
|
+
drop_off: {
|
|
2552
|
+
primitive: "enum",
|
|
2553
|
+
smsLabel: "Drop-off",
|
|
2554
|
+
options: [
|
|
2555
|
+
{ key: "wait-for-it", label: "Waiting" },
|
|
2556
|
+
{ key: "drop-off", label: "Dropping off" }
|
|
2557
|
+
]
|
|
2558
|
+
},
|
|
2559
|
+
address: { primitive: "address", smsLabel: "Address" },
|
|
2560
|
+
patient_type: { primitive: "enum", smsLabel: "Patient" },
|
|
2561
|
+
matter: { primitive: "enum", smsLabel: "Matter" },
|
|
2562
|
+
language: { primitive: "enum", smsLabel: "Language" },
|
|
2563
|
+
products: { primitive: "multi_enum", smsLabel: "Products" },
|
|
2564
|
+
goal: { primitive: "enum", smsLabel: "Goal" },
|
|
2565
|
+
business_type: { primitive: "enum", smsLabel: "Business" },
|
|
2566
|
+
lead_volume: { primitive: "enum", smsLabel: "Lead volume" },
|
|
2567
|
+
add_on: { primitive: "bool", smsLabel: "" },
|
|
2568
|
+
attribution: { primitive: "enum", smsLabel: "", uninteresting: true }
|
|
2569
|
+
};
|
|
2570
|
+
|
|
2452
2571
|
// src/index.ts
|
|
2453
2572
|
import {
|
|
2454
2573
|
PhoneField,
|
|
@@ -2471,6 +2590,11 @@ export {
|
|
|
2471
2590
|
DEFAULT_PHONE_COUNTRY,
|
|
2472
2591
|
EVENT_SEMANTICS,
|
|
2473
2592
|
GoogleAdsTracking,
|
|
2593
|
+
LEAD_FORM_KINDS,
|
|
2594
|
+
LEAD_FORM_PRIMITIVES,
|
|
2595
|
+
LEAD_FORM_REGISTRY_VERSION,
|
|
2596
|
+
LEAD_FORM_ROLES,
|
|
2597
|
+
LEAD_FORM_ROLE_SPECS,
|
|
2474
2598
|
NAMED_RANGES,
|
|
2475
2599
|
PhoneField,
|
|
2476
2600
|
SALE_SOURCES,
|
|
@@ -2499,6 +2623,7 @@ export {
|
|
|
2499
2623
|
getEventSemantics,
|
|
2500
2624
|
getTrackingConfigRuntime,
|
|
2501
2625
|
groupBookingOptions,
|
|
2626
|
+
leadFormPrimitiveSchemas,
|
|
2502
2627
|
newBookingAttemptKey,
|
|
2503
2628
|
onConsentChange,
|
|
2504
2629
|
optIn,
|