@jmp-technologies/analytics 0.1.30 → 0.1.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/dist/astro/client.cjs +30 -2
  2. package/dist/astro/client.cjs.map +1 -1
  3. package/dist/astro/client.d.cts +2 -2
  4. package/dist/astro/client.d.ts +2 -2
  5. package/dist/astro/client.js +1 -1
  6. package/dist/astro/content.cjs +55 -0
  7. package/dist/astro/content.cjs.map +1 -1
  8. package/dist/astro/content.d.cts +6 -4
  9. package/dist/astro/content.d.ts +6 -4
  10. package/dist/astro/content.js +6 -2
  11. package/dist/astro/integration.cjs.map +1 -1
  12. package/dist/astro/integration.js +2 -2
  13. package/dist/astro/middleware.d.cts +2 -2
  14. package/dist/astro/middleware.d.ts +2 -2
  15. package/dist/astro/register.cjs.map +1 -1
  16. package/dist/astro/register.js +2 -2
  17. package/dist/{chunk-ZEC22LFP.js → chunk-7623G3XL.js} +2 -2
  18. package/dist/{chunk-YCVHRMM6.js → chunk-G5BMWPQ6.js} +2 -3
  19. package/dist/{chunk-YCVHRMM6.js.map → chunk-G5BMWPQ6.js.map} +1 -1
  20. package/dist/{chunk-FS4BZ7DR.js → chunk-HKMDWTA2.js} +28 -2
  21. package/dist/chunk-HKMDWTA2.js.map +1 -0
  22. package/dist/{chunk-LTPLLPOR.js → chunk-KPTMZQCY.js} +2 -2
  23. package/dist/{chunk-LLTB7ZFC.js → chunk-NDSPSAWQ.js} +18 -8
  24. package/dist/chunk-NDSPSAWQ.js.map +1 -0
  25. package/dist/{chunk-GTPKRBFR.js → chunk-NI7R6QZQ.js} +64 -3
  26. package/dist/chunk-NI7R6QZQ.js.map +1 -0
  27. package/dist/chunk-RI3KKDPX.js +75 -0
  28. package/dist/chunk-RI3KKDPX.js.map +1 -0
  29. package/dist/{create-jmp-analytics-Ce2CrhhR.d.cts → create-jmp-analytics-D1dUsqCQ.d.cts} +1 -2
  30. package/dist/{create-jmp-analytics-BeuuU6as.d.ts → create-jmp-analytics-htx2oOEf.d.ts} +1 -2
  31. package/dist/index.cjs +63 -2
  32. package/dist/index.cjs.map +1 -1
  33. package/dist/index.d.cts +8 -6
  34. package/dist/index.d.ts +8 -6
  35. package/dist/index.js +5 -1
  36. package/dist/next/content.cjs +57 -0
  37. package/dist/next/content.cjs.map +1 -1
  38. package/dist/next/content.d.cts +6 -4
  39. package/dist/next/content.d.ts +6 -4
  40. package/dist/next/content.js +8 -2
  41. package/dist/next/content.js.map +1 -1
  42. package/dist/next/instrumentation.cjs.map +1 -1
  43. package/dist/next/instrumentation.js +1 -1
  44. package/dist/next/landing-capture-script-server.cjs +1 -2
  45. package/dist/next/landing-capture-script-server.cjs.map +1 -1
  46. package/dist/next/landing-capture-script-server.js +1 -1
  47. package/dist/next/landing-pages.cjs.map +1 -1
  48. package/dist/next/landing-pages.d.cts +3 -14
  49. package/dist/next/landing-pages.d.ts +3 -14
  50. package/dist/next/landing-pages.js +13 -65
  51. package/dist/next/landing-pages.js.map +1 -1
  52. package/dist/next/locations.cjs +737 -0
  53. package/dist/next/locations.cjs.map +1 -0
  54. package/dist/next/locations.d.cts +55 -0
  55. package/dist/next/locations.d.ts +55 -0
  56. package/dist/next/locations.js +158 -0
  57. package/dist/next/locations.js.map +1 -0
  58. package/dist/next/middleware.d.cts +2 -2
  59. package/dist/next/middleware.d.ts +2 -2
  60. package/dist/next/site-root-server.cjs +31 -4
  61. package/dist/next/site-root-server.cjs.map +1 -1
  62. package/dist/next/site-root-server.js +4 -4
  63. package/dist/next.cjs +44 -8
  64. package/dist/next.cjs.map +1 -1
  65. package/dist/next.d.cts +3 -3
  66. package/dist/next.d.ts +3 -3
  67. package/dist/next.js +3 -3
  68. package/dist/react.cjs +163 -127
  69. package/dist/react.cjs.map +1 -1
  70. package/dist/react.d.cts +2 -2
  71. package/dist/react.d.ts +2 -2
  72. package/dist/react.js +2 -2
  73. package/dist/{site-config-DIFmnwqv.d.cts → site-config-B7USGGzu.d.cts} +1 -1
  74. package/dist/{site-config-B4uEj4xX.d.ts → site-config-C4bcUoLI.d.ts} +1 -1
  75. package/dist/{track-page-view-Bv0BAvxG.d.cts → track-page-view-C4TbbULE.d.cts} +1 -1
  76. package/dist/{track-page-view-CkgIp9-j.d.ts → track-page-view-RiB-xgIx.d.ts} +1 -1
  77. package/dist/{types-B2iP79lb.d.cts → types-DRljY1Yy.d.cts} +34 -2
  78. package/dist/{types-B2iP79lb.d.ts → types-DRljY1Yy.d.ts} +34 -2
  79. package/dist/utils-BajG58pj.d.cts +15 -0
  80. package/dist/utils-CHT3SQFv.d.ts +15 -0
  81. package/package.json +7 -2
  82. package/dist/chunk-FS4BZ7DR.js.map +0 -1
  83. package/dist/chunk-GTPKRBFR.js.map +0 -1
  84. package/dist/chunk-LLTB7ZFC.js.map +0 -1
  85. /package/dist/{chunk-ZEC22LFP.js.map → chunk-7623G3XL.js.map} +0 -0
  86. /package/dist/{chunk-LTPLLPOR.js.map → chunk-KPTMZQCY.js.map} +0 -0
package/dist/index.cjs CHANGED
@@ -39,6 +39,8 @@ __export(index_exports, {
39
39
  getJmpLandingPageDetail: () => getJmpLandingPageDetail,
40
40
  getJmpLandingPageSitemap: () => getJmpLandingPageSitemap,
41
41
  getJmpLandingPages: () => getJmpLandingPages,
42
+ getJmpLocationDetail: () => getJmpLocationDetail,
43
+ getJmpLocations: () => getJmpLocations,
42
44
  getJmpRobotsTxt: () => getJmpRobotsTxt,
43
45
  getJmpServerContentConfigFromEnv: () => getJmpServerContentConfigFromEnv,
44
46
  getJmpSiteDefinition: () => getJmpSiteDefinition,
@@ -321,6 +323,26 @@ function classifyContactHref(href) {
321
323
  }
322
324
  return null;
323
325
  }
326
+ function extractTelTarget(href) {
327
+ const raw = href.trim();
328
+ if (!raw.toLowerCase().startsWith("tel:")) {
329
+ return null;
330
+ }
331
+ const target = decodeURIComponent(
332
+ raw.slice(4).split("?")[0]?.split(";")[0] ?? ""
333
+ ).trim();
334
+ return target || null;
335
+ }
336
+ function extractMailtoTarget(href) {
337
+ const raw = href.trim();
338
+ if (!raw.toLowerCase().startsWith("mailto:")) {
339
+ return null;
340
+ }
341
+ const target = decodeURIComponent(
342
+ raw.slice(7).split("?")[0]?.split(",")[0] ?? ""
343
+ ).trim();
344
+ return target || null;
345
+ }
324
346
 
325
347
  // src/constants.ts
326
348
  var JMP_ANALYTICS_SDK_VERSION = "0.1.26";
@@ -768,14 +790,22 @@ function createJmpAnalytics(config) {
768
790
  if (dedupeContactClick(`call_click:${path}`)) {
769
791
  return;
770
792
  }
771
- void trackCallClick(path);
793
+ const contactTarget = extractTelTarget(href);
794
+ void trackCallClick(
795
+ path,
796
+ contactTarget ? { contactTarget } : void 0
797
+ );
772
798
  return;
773
799
  }
774
800
  if (classified.kind === "email") {
775
801
  if (dedupeContactClick(`email_click:${path}`)) {
776
802
  return;
777
803
  }
778
- void trackEmailClick(path);
804
+ const contactTarget = extractMailtoTarget(href);
805
+ void trackEmailClick(
806
+ path,
807
+ contactTarget ? { contactTarget } : void 0
808
+ );
779
809
  return;
780
810
  }
781
811
  if (dedupeContactClick(`contact_click:${classified.channel}:${path}`)) {
@@ -1334,6 +1364,35 @@ async function getJmpLandingPageSitemap(config) {
1334
1364
  afterContentWrapperUse(config);
1335
1365
  return data.entries;
1336
1366
  }
1367
+ async function getJmpLocations(config) {
1368
+ const data = await getContent(
1369
+ config,
1370
+ "/api/content/locations"
1371
+ );
1372
+ markContentWrapper("locations");
1373
+ afterContentWrapperUse(config);
1374
+ return data.locations;
1375
+ }
1376
+ async function getJmpLocationDetail(config, slug) {
1377
+ const normalized = slug.trim();
1378
+ if (!normalized) {
1379
+ return null;
1380
+ }
1381
+ try {
1382
+ const detail = await getContent(
1383
+ config,
1384
+ `/api/content/locations/${encodeURIComponent(normalized)}`
1385
+ );
1386
+ markContentWrapper("locations");
1387
+ afterContentWrapperUse(config);
1388
+ return detail;
1389
+ } catch (error) {
1390
+ if (error instanceof Error && error.message.includes("HTTP 404")) {
1391
+ return null;
1392
+ }
1393
+ throw error;
1394
+ }
1395
+ }
1337
1396
  async function getJmpTrustBundle(config) {
1338
1397
  const bundle = await getContent(config, "/api/content/trust");
1339
1398
  markTrustBundleWrappers(bundle);
@@ -1558,6 +1617,8 @@ function createJmpContentClientFromServerEnv(overrides) {
1558
1617
  getJmpLandingPageDetail,
1559
1618
  getJmpLandingPageSitemap,
1560
1619
  getJmpLandingPages,
1620
+ getJmpLocationDetail,
1621
+ getJmpLocations,
1561
1622
  getJmpRobotsTxt,
1562
1623
  getJmpServerContentConfigFromEnv,
1563
1624
  getJmpSiteDefinition,