@webority/analytics 0.36.1 → 0.38.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/check-events.js +14 -14
- package/dist/chunk-LGUY6CCC.js +1 -0
- package/dist/chunk-UMKCGH25.js +1 -0
- package/dist/errors.js +1 -1
- package/dist/generate-events.js +12 -12
- package/dist/index.js +1 -1
- package/dist/node.js +1 -1
- package/dist/react-native.js +1 -1
- package/dist/site.js +1 -1
- package/dist/types/after-interaction.d.ts +6 -0
- package/dist/types/analytics.d.ts +49 -0
- package/dist/types/attribution.d.ts +34 -0
- package/dist/types/catalogue/check-events.d.ts +2 -0
- package/dist/types/catalogue/check.d.ts +32 -0
- package/dist/types/catalogue/generate-events.d.ts +2 -0
- package/dist/types/catalogue/generate.d.ts +28 -0
- package/dist/types/catalogue/plan.d.ts +97 -0
- package/dist/types/catalogue/scan.d.ts +42 -0
- package/dist/types/channels.d.ts +24 -0
- package/dist/types/consent-regions.d.ts +2 -0
- package/dist/types/consent.d.ts +83 -0
- package/dist/types/errors.d.ts +35 -0
- package/dist/types/event-registry.d.ts +19 -0
- package/dist/types/feature-flags.d.ts +26 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/node/errors.d.ts +38 -0
- package/dist/types/node/index.d.ts +1 -0
- package/dist/types/posthog-bridge.d.ts +22 -0
- package/dist/types/react-native/index.d.ts +90 -0
- package/dist/types/react-native/native-modules.d.ts +41 -0
- package/dist/types/site-events.d.ts +16 -0
- package/dist/types/site-posthog-snippet.d.ts +27 -0
- package/dist/types/site-posthog.d.ts +62 -0
- package/dist/types/site-web-vitals-script.d.ts +13 -0
- package/dist/types/site-web-vitals.d.ts +4 -0
- package/dist/types/site.d.ts +8 -0
- package/dist/types/state.d.ts +43 -0
- package/dist/types/tags.d.ts +35 -0
- package/dist/types/tours.d.ts +8 -0
- package/dist/types/track-helpers.d.ts +8 -0
- package/dist/types/url-scrub.d.ts +14 -0
- package/dist/types/vocabulary.d.ts +76 -0
- package/dist/types/web-vitals-global.d.ts +1 -0
- package/dist/types/web-vitals.d.ts +71 -0
- package/dist/{web-vitals-RMISAXOY.js → web-vitals-DND62YT4.js} +1 -1
- package/dist/webority-analytics-site.global.js +1 -1
- package/dist/webority-analytics-web-vitals.global.js +1 -1
- package/package.json +31 -12
- package/dist/chunk-BXYJOYLR.js +0 -1
- package/dist/chunk-TPTUIQE4.js +0 -1
package/package.json
CHANGED
|
@@ -1,22 +1,38 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webority/analytics",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.38.0",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
|
+
"types": "./dist/types/index.d.ts",
|
|
7
8
|
"exports": {
|
|
8
|
-
".":
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"./
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/types/index.d.ts",
|
|
11
|
+
"default": "./dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./site": {
|
|
14
|
+
"types": "./dist/types/site.d.ts",
|
|
15
|
+
"default": "./dist/site.js"
|
|
16
|
+
},
|
|
17
|
+
"./errors": {
|
|
18
|
+
"types": "./dist/types/errors.d.ts",
|
|
19
|
+
"default": "./dist/errors.js"
|
|
20
|
+
},
|
|
21
|
+
"./node": {
|
|
22
|
+
"types": "./dist/types/node/index.d.ts",
|
|
23
|
+
"default": "./dist/node.js"
|
|
24
|
+
},
|
|
25
|
+
"./react-native": {
|
|
26
|
+
"types": "./dist/types/react-native/index.d.ts",
|
|
27
|
+
"default": "./dist/react-native.js"
|
|
28
|
+
},
|
|
13
29
|
"./dist/webority-analytics-site.global.js": "./dist/webority-analytics-site.global.js",
|
|
14
30
|
"./dist/webority-analytics-web-vitals.global.js": "./dist/webority-analytics-web-vitals.global.js"
|
|
15
31
|
},
|
|
16
32
|
"imports": {
|
|
17
33
|
"#site-web-vitals": {
|
|
18
|
-
"webority-site-global": "./src/site-web-vitals-script.
|
|
19
|
-
"default": "./src/site-web-vitals.
|
|
34
|
+
"webority-site-global": "./src/site-web-vitals-script.ts",
|
|
35
|
+
"default": "./src/site-web-vitals.ts"
|
|
20
36
|
}
|
|
21
37
|
},
|
|
22
38
|
"sideEffects": [
|
|
@@ -47,25 +63,28 @@
|
|
|
47
63
|
},
|
|
48
64
|
"devDependencies": {
|
|
49
65
|
"@biomejs/biome": "2.5.8",
|
|
66
|
+
"@types/node": "24.19.2",
|
|
50
67
|
"esbuild": "0.28.2",
|
|
51
68
|
"posthog-js": "1.417.1",
|
|
52
69
|
"posthog-node": "5.61.2",
|
|
70
|
+
"typescript": "7.0.2",
|
|
53
71
|
"web-vitals": "6.2.3"
|
|
54
72
|
},
|
|
55
73
|
"module": "dist/index.js",
|
|
56
74
|
"devEngines": {
|
|
57
75
|
"packageManager": {
|
|
58
76
|
"name": "pnpm",
|
|
59
|
-
"version": "
|
|
77
|
+
"version": "12.18.0",
|
|
60
78
|
"onFail": "error"
|
|
61
79
|
}
|
|
62
80
|
},
|
|
63
81
|
"scripts": {
|
|
64
|
-
"build": "node -e \"require(\\\"node:fs\\\").rmSync(\\\"dist\\\",{recursive:true,force:true})\" && esbuild src/index.
|
|
82
|
+
"build": "node -e \"require(\\\"node:fs\\\").rmSync(\\\"dist\\\",{recursive:true,force:true})\" && esbuild src/index.ts src/site.ts src/errors.ts --bundle --splitting --format=esm --external:posthog-js --target=es2020 --minify --outdir=dist && esbuild src/site.ts --bundle --format=iife --global-name=WeborityAnalytics --alias:posthog-js=./src/site-posthog-snippet.ts --conditions=webority-site-global --target=es2020 --minify --outfile=dist/webority-analytics-site.global.js && esbuild src/web-vitals-global.ts --bundle --format=iife --global-name=WeborityAnalyticsWebVitals --target=es2020 --minify --outfile=dist/webority-analytics-web-vitals.global.js && esbuild src/react-native/index.ts --bundle --format=esm --external:posthog-react-native --target=es2020 --minify --outfile=dist/react-native.js && esbuild src/node/index.ts --bundle --platform=node --format=esm --external:posthog-node --target=node20 --minify --outfile=dist/node.js && esbuild src/catalogue/check-events.ts src/catalogue/generate-events.ts --bundle --platform=node --format=esm --target=node20 --minify --outdir=dist && node -e \"for (const f of [\\\"fleet-tracking-plan.json\\\", \\\"tracking-plan.schema.json\\\"]) require(\\\"node:fs\\\").copyFileSync(\\\"src/catalogue/\\\" + f, \\\"dist/\\\" + f)\" && tsc -p tsconfig.json",
|
|
65
83
|
"lint": "biome lint ./src ./test",
|
|
66
84
|
"format": "biome format --write ./src ./test",
|
|
67
85
|
"check": "biome check ./src ./test",
|
|
68
|
-
"test": "node test/smoke.mjs && node test/site.mjs && node test/errors.mjs && node test/react-native.mjs && node test/url-scrub.mjs && node test/web-vitals.mjs && node test/tours.mjs && node test/catalogue.mjs && node src/catalogue/generate-events.
|
|
69
|
-
"catalogue:generate": "node src/catalogue/generate-events.
|
|
86
|
+
"test": "node test/smoke.mjs && node test/site.mjs && node test/errors.mjs && node test/react-native.mjs && node test/url-scrub.mjs && node test/web-vitals.mjs && node test/tours.mjs && node test/catalogue.mjs && node src/catalogue/generate-events.ts --plan src/catalogue/fleet-tracking-plan.json --cs ../Webority.Analytics/FleetEventCatalogue.g.cs --cs-namespace Webority.Analytics --cs-class FleetEventCatalogue --cs-internal --check && pnpm run --silent build && node test/bundle.mjs && node test/types.mjs",
|
|
87
|
+
"catalogue:generate": "node src/catalogue/generate-events.ts --plan src/catalogue/fleet-tracking-plan.json --cs ../Webority.Analytics/FleetEventCatalogue.g.cs --cs-namespace Webority.Analytics --cs-class FleetEventCatalogue --cs-internal",
|
|
88
|
+
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
70
89
|
}
|
|
71
90
|
}
|
package/dist/chunk-BXYJOYLR.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as ee}from"./chunk-TPTUIQE4.js";var ve=["google","googleads","adwords","youtube"],xe=["meta","facebook","fb","instagram","ig","messenger"],Ue=["linkedin","lnkd"],Fe=["bing","microsoft","microsoftads","msn"],te=Object.freeze([["chatgpt",["chatgpt.com","chat.openai.com"]],["perplexity",["perplexity.ai"]],["gemini",["gemini.google.com"]],["copilot",["copilot.microsoft.com"]],["claude",["claude.ai"]],["you",["you.com"]],["phind",["phind.com"]],["deepseek",["deepseek.com"]],["grok",["grok.com"]],["meta_ai",["meta.ai"]],["poe",["poe.com"]]]),Pe=["bing.com","duckduckgo.com","search.yahoo.com","ecosia.org","search.brave.com"],Me=["google","yandex"],$e=["facebook.com","fb.com","instagram.com","linkedin.com","lnkd.in","twitter.com","t.co","x.com","reddit.com","pinterest.com","youtube.com","youtu.be","tiktok.com","whatsapp.com","threads.net","t.me","telegram.org"],f=Object.freeze({DIRECT:"direct",GOOGLE:"google",META:"meta",LINKEDIN:"linkedin",MICROSOFT:"microsoft",OTHER:"other",AI_ASSISTANT:"ai_assistant",ORGANIC_SEARCH:"organic_search",ORGANIC_SOCIAL:"organic_social",REFERRAL:"referral"});function w(e){if(!e)return f.DIRECT;let t=m(e.utmSource);if(t){let r=O(t);if(ve.includes(r))return f.GOOGLE;if(xe.includes(r))return f.META;if(Ue.includes(r))return f.LINKEDIN;if(Fe.includes(r))return f.MICROSOFT}if(m(e.fbclid))return f.META;if(m(e.gclid)||m(e.gbraid)||m(e.wbraid))return f.GOOGLE;if(m(e.liFatId))return f.LINKEDIN;if(m(e.msclkid))return f.MICROSOFT;if(ne(t))return f.AI_ASSISTANT;if(t||m(e.utmMedium)||m(e.utmCampaign)||m(e.utmContent)||m(e.utmTerm))return f.OTHER;let o=ie(e.referrer);return o?oe(o)?f.AI_ASSISTANT:Ge(o)?f.ORGANIC_SEARCH:$e.some(r=>re(o,r))?f.ORGANIC_SOCIAL:f.REFERRAL:f.DIRECT}function x(e){if(!e)return"";let t=ne(m(e.utmSource));if(t)return t;let n=ie(e.referrer);return n?oe(n):""}function ne(e){if(!e)return"";let t=O(e);for(let[n,o]of te)if(O(n)===t||o.some(r=>O(r)===t))return n;return""}function oe(e){for(let[t,n]of te)if(n.some(o=>re(e,o)))return t;return""}function Ge(e){return Pe.includes(e)?!0:Me.some(t=>{if(!e.startsWith(`${t}.`))return!1;let n=e.slice(t.length+1).split(".");return n.length===1||n.length===2&&(n[0]==="co"||n[0]==="com")})}function re(e,t){return e===t||e.endsWith(`.${t}`)}function ie(e){let t=m(e);if(!t)return"";try{let n=new URL(/^[a-z][a-z0-9+.-]*:\/\//i.test(t)?t:`https://${t}`).hostname.toLowerCase();return n.startsWith("www.")?n.slice(4):n}catch{return""}}function O(e){return String(e).toLowerCase().replace(/[^\p{L}\p{N}]/gu,"")}function m(e){return String(e??"").trim()}var U=Object.freeze(["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE","IS","LI","NO","GB","CH"]);function He(e){let t=typeof e=="string"?e.trim().toUpperCase():"";return t.length!==2||t==="XX"||t==="T1"?!0:U.includes(t)}var A="webority_cookie_consent",se="webority-consent-change",ce=365,a={initialized:!1,requiresOptIn:!0,strictOptIn:!1,adStorage:!0,cookieDays:ce,cookieDomain:null,regionCookie:null,region:null,saved:null},ue=["eea","other"],F=new Set;function Be(e){let t=e?.strictOptIn??!1;if(typeof t!="boolean")throw new Error("@webority/analytics: initConsent strictOptIn must be true or false, or left out.");if(t){if(e.requiresOptIn!==void 0&&e.requiresOptIn!==!0)throw new Error("@webority/analytics: initConsent strictOptIn asks every visitor to opt in, so requiresOptIn must be true or left out.")}else if(typeof e?.requiresOptIn!="boolean")throw new Error("@webority/analytics: initConsent needs requiresOptIn (true or false), decided from the visitor's country.");if(e.cookieDomain!==void 0&&(typeof e.cookieDomain!="string"||!e.cookieDomain.trim()))throw new Error('@webority/analytics: initConsent cookieDomain must be a domain such as ".example.com", or left out.');if(e.cookieDays!==void 0&&!(Number.isInteger(e.cookieDays)&&e.cookieDays>0))throw new Error("@webority/analytics: initConsent cookieDays must be a whole number of days above zero, or left out.");if(e.adStorage!==void 0&&typeof e.adStorage!="boolean")throw new Error("@webority/analytics: initConsent adStorage must be true or false, or left out.");if(e.regionCookie!==void 0&&(typeof e.regionCookie!="string"||!/^[\w.-]+$/.test(e.regionCookie)))throw new Error('@webority/analytics: initConsent regionCookie must be a cookie name such as "wui_region", or left out.');a.initialized=!0,a.strictOptIn=t,a.requiresOptIn=t||e.requiresOptIn,a.adStorage=e.adStorage??!t,a.cookieDays=e.cookieDays??ce,a.cookieDomain=e.cookieDomain?.trim()??null,a.regionCookie=e.regionCookie??null,a.region=a.regionCookie?We(a.regionCookie):null;let{saved:n,entryCount:o}=je();a.saved=n,a.cookieDomain&&o>1&&n&&me(n),Ke(),Ve(),a.saved?$(a.saved):fe()&&pe()}function ze(e){if(M("setConsentRegion"),!ue.includes(e))throw new Error('@webority/analytics: setConsentRegion needs "eea" or "other".');let t=d();if(a.region=e,a.saved)return;let n=d();t.analytics===n.analytics&&t.functional===n.functional&&t.marketing===n.marketing||(pe(),de(n))}function E(){return a.initialized}function le(){return a.strictOptIn}function P(){return a.adStorage}function d(){M("getConsent");let e=a.saved;if(e)return{essential:!0,analytics:e.analytics,functional:e.functional,marketing:e.marketing,decided:!0};if(fe())return{essential:!0,analytics:!0,functional:!0,marketing:!1,decided:!1};let t=!a.requiresOptIn;return{essential:!0,analytics:t,functional:t,marketing:t,decided:!1}}function qe(e){M("saveConsent");let t={essential:!0,analytics:e?.analytics===!0,functional:e?.functional===!0,marketing:e?.marketing===!0,timestamp:new Date().toISOString()};me(t),a.saved=t,$(t),de(d())}function y(e){return F.add(e),()=>F.delete(e)}function de(e){for(let t of F)try{t(e)}catch(n){queueMicrotask(()=>{throw n})}typeof window?.dispatchEvent=="function"&&typeof CustomEvent=="function"&&window.dispatchEvent(new CustomEvent(se,{detail:e}))}function M(e){if(!a.initialized)throw new Error(`@webority/analytics: call initConsent before ${e}.`)}function S(){window.dataLayer=window.dataLayer||[],window.dataLayer.push(arguments)}function Ke(){if(a.strictOptIn){S("consent","default",{ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",analytics_storage:"denied",functionality_storage:"denied",personalization_storage:"denied",security_storage:"granted",wait_for_update:500});return}S("consent","default",{ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",analytics_storage:"denied",functionality_storage:"denied",personalization_storage:"denied",security_storage:"granted",wait_for_update:500,region:[...U]});let e=a.adStorage?"granted":"denied";S("consent","default",{ad_storage:e,ad_user_data:e,ad_personalization:e,analytics_storage:"granted",functionality_storage:"granted",personalization_storage:"granted",security_storage:"granted"})}function Ve(){S("set","ads_data_redaction",!0),S("set","url_passthrough",!0)}function fe(){return a.requiresOptIn&&!a.strictOptIn&&a.region==="other"}function pe(){let e=d();$(e,e.analytics&&a.adStorage)}function $(e,t=e.marketing&&a.adStorage){let n=o=>o?"granted":"denied";S("consent","update",{analytics_storage:n(e.analytics),functionality_storage:n(e.functional),personalization_storage:n(e.functional),ad_storage:n(t),ad_user_data:n(t),ad_personalization:n(t)})}function je(){let e=`${A}=`,t=(document.cookie||"").split(";").map(o=>o.trim()).filter(o=>o.startsWith(e)),n=t.map(o=>Ye(o.slice(e.length))).filter(Boolean);return{saved:Qe(n),entryCount:t.length}}function We(e){let t=`${e}=`,o=(document.cookie||"").split(";").map(r=>r.trim()).find(r=>r.startsWith(t))?.slice(t.length);return ue.includes(o)?o:null}function Ye(e){try{let t=JSON.parse(decodeURIComponent(e));return!t||typeof t!="object"?null:{essential:!0,analytics:t.analytics===!0,functional:t.functional===!0,marketing:t.marketing===!0,timestamp:t.timestamp??null}}catch{return null}}function Qe(e){if(e.length===0)return null;let t=e.map(o=>typeof o.timestamp=="string"?Date.parse(o.timestamp):Number.NaN);if(t.some(Number.isNaN))return e.at(-1);let n=0;for(let o=1;o<e.length;o++)t[o]>=t[n]&&(n=o);return e[n]}function me(e){let t=typeof e.timestamp=="string"?Date.parse(e.timestamp):Number.NaN,n=(Number.isNaN(t)?Date.now():t)+a.cookieDays*24*60*60*1e3,o=window.location?.protocol==="https:"?";Secure":"";a.cookieDomain&&ae(`${A}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;max-age=0;path=/;SameSite=Lax${o}`);let r=a.cookieDomain?`;domain=${a.cookieDomain}`:"";ae(`${A}=${encodeURIComponent(JSON.stringify(e))};expires=${new Date(n).toUTCString()};path=/${r};SameSite=Lax${o}`)}function ae(e){document.cookie=e}var R="webority_attribution",Xe=2160*60*60*1e3,Je=200,G=500,Ze=Object.freeze({utm_source:"utmSource",utm_medium:"utmMedium",utm_campaign:"utmCampaign",utm_content:"utmContent",utm_term:"utmTerm",gclid:"gclid",gbraid:"gbraid",wbraid:"wbraid",fbclid:"fbclid",msclkid:"msclkid",li_fat_id:"liFatId"}),ge=!1;function et(){ye("captureAttribution"),rt();let e=nt();if(!e)return;let t=K(H());Ee(H(),{firstTouch:t?.firstTouch??e,lastTouch:e}),tt(e)}function tt(e){let t={event:"acquisition_touch",acquisition_channel:w(e)};e.aiSource&&(t.ai_source=e.aiSource),window.dataLayer=window.dataLayer||[],window.dataLayer.push(t)}function q(){return ye("getAttribution"),K(H())}function nt(){let e=new URLSearchParams(window.location.search),t={};for(let[r,c]of Object.entries(Ze)){let s=b(e.get(r),Je);s&&(t[c]=s)}let n=b(e.get("referrer"),G)||ot();if(n&&(t.referrer=n),Object.keys(t).length===0)return null;let o=x(t);return o&&(t.aiSource=o),t.landingPage=b(window.location.pathname,G),t.capturedDateTimeUtc=new Date().toISOString(),t}function ot(){let e=document.referrer;if(!e)return"";try{return new URL(e).hostname===window.location.hostname?"":b(e,G)}catch{return""}}function rt(){ge||(ge=!0,y(e=>{let t=e.marketing?z():B(),n=e.marketing?B():z(),o=K(t);it(t),o&&Ee(n,o)}))}function H(){return d().marketing?B():z()}function B(){try{return window.localStorage}catch{return null}}function z(){try{return window.sessionStorage}catch{return null}}function K(e){try{let t=e?.getItem(R);if(!t)return null;let n=JSON.parse(t),o=_e(n?.firstTouch),r=_e(n?.lastTouch);return!o&&!r?(e.removeItem(R),null):{firstTouch:o??r,lastTouch:r??o}}catch{return null}}function Ee(e,t){try{e?.setItem(R,JSON.stringify(t))}catch{}}function it(e){try{e?.removeItem(R)}catch{}}function _e(e){if(!e||typeof e!="object")return null;let t=Date.parse(e.capturedDateTimeUtc);return Number.isFinite(t)&&Date.now()-t<=Xe?e:null}function b(e,t){let n=String(e??"").trim();return n?n.slice(0,t):""}function ye(e){if(!E())throw new Error(`@webority/analytics: call initConsent before ${e}.`)}function Ce(e,t){return import("./web-vitals-RMISAXOY.js").then(n=>n.startWebVitals(e,t)).catch(()=>{})}var at=["scroll","mousemove","touchstart","keydown","pointerdown"];function N(e){let t=!1,n=()=>{t||(t=!0,e())};for(let o of at)window.addEventListener(o,n,{once:!0,passive:!0});document.readyState==="complete"?setTimeout(n,1500):window.addEventListener("load",()=>setTimeout(n,1500),{once:!0})}var i=Object.freeze({SIGNUP_STARTED:"signup_started",SIGNUP_COMPLETED:"signup_completed",LOGIN_SUCCEEDED:"login_succeeded",ONBOARDING_STARTED:"onboarding_started",ONBOARDING_STEP_COMPLETED:"onboarding_step_completed",ONBOARDING_COMPLETED:"onboarding_completed",SUBSCRIPTION_ACTIVATED:"subscription_activated",SUBSCRIPTION_CANCELLED:"subscription_cancelled",PAYMENT_SUCCEEDED:"payment_succeeded",PAYMENT_FAILED:"payment_failed",FEEDBACK_SUBMITTED:"feedback_submitted",LEAD_SUBMITTED:"lead_submitted",LEAD_QUALIFIED:"lead_qualified",LEAD_WON:"lead_won",WHATSAPP_CLICK:"whatsapp_click",CALCULATOR_USE:"calculator_use",PHONE_CLICK:"phone_click",DEMO_BOOKED:"demo_booked",CONTACT_SUBMITTED:"contact_submitted",TRIAL_START_CLICK:"trial_start_click",SAMPLE_REPORT_DOWNLOAD:"sample_report_download",REPORT_VERIFIED:"report_verified",CONTENT_ENGAGED:"content_engaged",EMAIL_CLICK:"email_click",PAGE_NOT_FOUND:"page_not_found",CHAT_OPENED:"chat_opened",CHAT_STARTED:"chat_started",CHAT_INPUT_SUBMITTED:"chat_input_submitted",CHAT_HANDOFF_REQUESTED:"chat_handoff_requested",CHAT_RATED:"chat_rated",CHAT_ACTION_REPEATED:"chat_action_repeated",TOUR_STARTED:"tour_started",TOUR_STEP_VIEWED:"tour_step_viewed",TOUR_COMPLETED:"tour_completed",TOUR_SKIPPED:"tour_skipped"}),Ht=Object.freeze({signupStarted:i.SIGNUP_STARTED,signupCompleted:i.SIGNUP_COMPLETED,loginSucceeded:i.LOGIN_SUCCEEDED,onboardingStarted:i.ONBOARDING_STARTED,onboardingStepCompleted:i.ONBOARDING_STEP_COMPLETED,onboardingCompleted:i.ONBOARDING_COMPLETED,subscriptionActivated:i.SUBSCRIPTION_ACTIVATED,subscriptionCancelled:i.SUBSCRIPTION_CANCELLED,paymentSucceeded:i.PAYMENT_SUCCEEDED,paymentFailed:i.PAYMENT_FAILED,feedbackSubmitted:i.FEEDBACK_SUBMITTED,leadSubmitted:i.LEAD_SUBMITTED,leadQualified:i.LEAD_QUALIFIED,leadWon:i.LEAD_WON,whatsappClick:i.WHATSAPP_CLICK,calculatorUse:i.CALCULATOR_USE,phoneClick:i.PHONE_CLICK,demoBooked:i.DEMO_BOOKED,contactSubmitted:i.CONTACT_SUBMITTED,trialStartClick:i.TRIAL_START_CLICK,sampleReportDownload:i.SAMPLE_REPORT_DOWNLOAD,reportVerified:i.REPORT_VERIFIED,contentEngaged:i.CONTENT_ENGAGED,emailClick:i.EMAIL_CLICK,pageNotFound:i.PAGE_NOT_FOUND,chatOpened:i.CHAT_OPENED,chatStarted:i.CHAT_STARTED,chatInputSubmitted:i.CHAT_INPUT_SUBMITTED,chatHandoffRequested:i.CHAT_HANDOFF_REQUESTED,chatRated:i.CHAT_RATED,chatActionRepeated:i.CHAT_ACTION_REPEATED,tourStarted:i.TOUR_STARTED,tourStepViewed:i.TOUR_STEP_VIEWED,tourCompleted:i.TOUR_COMPLETED,tourSkipped:i.TOUR_SKIPPED}),Te=/^[a-z][a-z0-9]*(_[a-z0-9]+)*$/;function Se(){let e=new Set(Object.values(i));return{register(t){for(let n of t){if(!Te.test(n))throw new Error(`@webority/analytics: invalid event name "${n}". Expected snake_case.`);e.add(n)}},assertRegistered(t){if(!e.has(t))throw new Error(`@webority/analytics: event "${t}" is not registered. Call registerEvents() first.`)}}}var V=Se(),u={config:null,posthogInstance:null,posthogInitPromise:null,pendingIdentify:null};function jt(e){u.config=e,u.posthogInstance=null,u.posthogInitPromise=null,u.pendingIdentify=null}function st(){let e=u.config;return e?!!(e.enabled&&e.clientKey&&e.environment!=="Local"):!1}function D(){return E()&&d().analytics}function he(){return st()&&D()}var L=new Set,Ie=new WeakSet,we=null;function Qt(e){let t=j();if(!t)return!1;try{return t.isFeatureEnabled(e)===!0}catch(n){return be(`feature flag "${e}" could not be read, so it reads as off`,n),k(n),!1}}function Xt(e){let t=j();if(!t)return null;try{return t.getFeatureFlag(e)??null}catch(n){return be(`feature flag "${e}" could not be read, so it reads as null`,n),k(n),null}}function Jt(e){L.add(e);let t=j();return(!t||we===t)&&queueMicrotask(()=>{L.has(e)&&Ae(e)}),()=>L.delete(e)}function Oe(e){u.config?.featureFlags!==!0||Ie.has(e)||typeof e.onFeatureFlags!="function"||(Ie.add(e),e.onFeatureFlags(()=>{we=e;for(let t of[...L])Ae(t)}))}function j(){return u.config?.featureFlags!==!0||!he()?null:u.posthogInstance??null}function Ae(e){try{e()}catch(t){k(t)}}function be(e,t){let n=u.config?.logger,o=typeof n?.warn=="function"?n.warn:n?.info;if(typeof o=="function")try{o.call(n,`@webority/analytics: ${e}: ${t?.message??t}`)}catch(r){k(r)}}function k(e){queueMicrotask(()=>{throw e})}var ct=new Set(["token","code","email","access_token","id_token","state","session_state","password","search","q","query"]),ut=/(?:access_token|id_token|session_state|token|code|state|email|password)=/i,lt=["$current_url","$referrer","$pathname","$initial_current_url","$initial_referrer","$initial_pathname","$session_entry_url","$session_entry_referrer","$session_entry_pathname"],dt=4,ft=5,pt=6;function h(e){if(typeof e!="string")return e;let t=e.indexOf("#"),n=t===-1?e:e.slice(0,t),o=t===-1||ut.test(e.slice(t))?"":e.slice(t),r=n.indexOf("?");if(r===-1)return n+o;let c=n.slice(r+1).split("&"),s=c.filter(_=>!ct.has(Et(_))).map(_t);if(s.length===c.length&&s.every((_,I)=>_===c[I]))return n+o;let p=n.slice(0,r),T=s.filter(_=>_!=="").join("&");return(T?`${p}?${T}`:p)+o}function Re(e){if(!e||typeof e!="object")return e;let t=e.properties;for(let r of[t,e.$set,e.$set_once,t?.$set,t?.$set_once])gt(r);let n=t?.$heatmap_data;if(n&&typeof n=="object"){let r={};for(let[c,s]of Object.entries(n)){let p=h(c);r[p]=r[p]?r[p].concat(s):s}t.$heatmap_data=r}if(t&&typeof t=="object"){for(let[r,c]of Object.entries(t))if(r.startsWith("$web_vitals_")&&r.endsWith("_event")&&c&&typeof c=="object")for(let s of["$current_url","navigationURL"])typeof c[s]=="string"&&(c[s]=h(c[s]))}let o=t?.$snapshot_data;if(e.event==="$snapshot"&&o&&typeof o=="object")for(let r of Array.isArray(o)?o:[o])mt(r);return e}function mt(e){let t=e?.data;if(!(!t||typeof t!="object")){if(e.type===dt)v(t,["href"]);else if(e.type===ft)v(t.payload,["href"]);else if(e.type===pt&&Array.isArray(t.payload?.requests))for(let n of t.payload.requests)v(n,["name","url"])}}function v(e,t){if(!(!e||typeof e!="object"))for(let n of t)typeof e[n]=="string"&&(e[n]=h(e[n]))}function gt(e){v(e,lt)}function _t(e){let t=e.indexOf("=");if(t===-1)return e;let n=e.slice(t+1).replace(/\+/g," "),o;try{o=decodeURIComponent(n)}catch{o=Ne(n)}if(!o.startsWith("/")&&!/^https?:\/\//i.test(o))return e;let r=h(o);return r===o?e:`${e.slice(0,t)}=${encodeURIComponent(r)}`}function Et(e){let t=e.replace(/\+/g," "),n;try{n=decodeURIComponent(t)}catch{n=Ne(t)}return n.split("=",1)[0].toLowerCase()}function Ne(e){return e.replace(/%([0-9a-f]{2})/gi,(t,n)=>{let o=Number.parseInt(n,16);return o<128?String.fromCharCode(o):t})}async function rn(){if(u.posthogInstance)return u.posthogInstance;if(u.posthogInitPromise)return u.posthogInitPromise;let e=u.config;return u.posthogInitPromise=import("posthog-js").then(t=>{let n=t.default??t,o=W(Y(e),D(),e.featureFlags===!0);return n.init(e.clientKey,o),n.register({product:e.product,surface:e.surface,environment:e.environment}),D()?n.opt_in_capturing({captureEventName:!1}):n.opt_out_capturing(),u.posthogInstance=n,Oe(n),n}).catch(t=>{throw u.posthogInitPromise=null,t}),u.posthogInitPromise}function W(e,t,n=!1){return t?e:{...e,opt_out_capturing_by_default:!0,...n?{advanced_disable_feature_flags_on_first_load:!0}:{}}}function Y(e){let t=e.sessionRecording??{enabled:!1},n={api_host:e.host,autocapture:!1,capture_pageview:"history_change",cookieless_mode:"on_reject",person_profiles:"identified_only",persistence:"localStorage+cookie",cross_subdomain_cookie:!0,disable_session_recording:!t.enabled,enable_heatmaps:e.heatmaps===!0,capture_exceptions:e.captureExceptions===!0,capture_performance:{web_vitals:!1},disable_surveys:!0,disable_product_tours:!0,disable_conversations:!0,advanced_disable_feature_flags:!(t.enabled||e.featureFlags===!0),before_send:Re};return t.enabled&&(n.session_recording={maskAllInputs:t.maskAllInputs??!0,...t.maskTextSelector?{maskTextSelector:t.maskTextSelector}:{},maskCapturedNetworkRequestFn:o=>({...o,name:h(o.name)}),recordBody:!1,recordHeaders:!1}),n}var yt=()=>import("posthog-js"),Ct=100,l={config:null,posthog:null,pending:[],failed:!1,loadPosthog:yt,startVitals:Ce,stopFollowingConsent:null};function Tt({host:e,clientKey:t,product:n,surface:o,environment:r,enabled:c=!0,sessionRecording:s,heatmaps:p=!1,captureExceptions:T=!1,webVitals:_=!1}={}){if(!E())throw new Error("@webority/analytics: call initConsent before initSiteAnalytics.");let I=ee(_);!c||!e||!t||r==="Local"||l.config||(l.config={host:e,clientKey:t,product:n,surface:o,environment:r,sessionRecording:s,heatmaps:p,captureExceptions:T,webVitals:I},l.stopFollowingConsent=y(C=>ht(C.analytics)),N(()=>{Promise.resolve().then(l.loadPosthog).then(C=>St(C.default??C)).catch(()=>{l.failed=!0,l.pending=[]})}))}function St(e){let t=l.config,n=d().analytics;e.init(t.clientKey,W(It(t),n)),e.register({product:t.product,surface:t.surface,environment:t.environment}),n?e.opt_in_capturing({captureEventName:!1}):e.opt_out_capturing(),l.posthog=e;let o=l.pending;l.pending=[];for(let[r,c]of o)Q(e,r,c);t.webVitals&&l.startVitals(t.webVitals,(r,c)=>Q(e,r,c))}function ht(e){l.posthog&&(e?l.posthog.opt_in_capturing():l.posthog.opt_out_capturing())}function It(e){return{...Y({host:e.host,sessionRecording:e.sessionRecording,heatmaps:e.heatmaps,captureExceptions:e.captureExceptions,webVitals:e.webVitals}),capture_pageview:!0}}function De(e,t){let n=l.config;if(!n)return;let o={...t,product:n.product,surface:n.surface,environment:n.environment};l.posthog?Q(l.posthog,e,o):!l.failed&&l.pending.length<Ct&&l.pending.push([e,o])}function Q(e,t,n){try{e.capture(t,n)}catch{}}function wt(e,t={}){V.assertRegistered(e);let n=d().analytics,o=q(),r={...t};for(let[c,s]of[["first",o?.firstTouch],["last",o?.lastTouch]])s&&(r[`${c}_touch_channel`]=w(s),s.aiSource&&(r[`${c}_touch_ai_source`]=s.aiSource));return De(e,r),n?(window.dataLayer=window.dataLayer||[],window.dataLayer.push({...r,event:e}),!0):!1}function Ot(e){V.register(e)}var At="https://www.googletagmanager.com/gtm.js",bt=3e3,Rt=100,g={loaded:!1,clarityId:null,clarityLoaded:!1,cancelClaritySchedule:null};function Nt(e={}){if(!E())throw new Error("@webority/analytics: call initConsent before loadTags.");if(g.loaded)return;g.loaded=!0;let{gtmId:t,gtmUrl:n=At,clarityId:o,ahrefsKey:r}=e;if(typeof n!="string"||n.trim()==="")throw new Error("@webority/analytics: gtmUrl must be a non-empty string.");let c=le();if(r){let s=()=>J("https://analytics.ahrefs.com/analytics.js",{"data-key":r});c?Le(p=>p.analytics,s):s()}if(t){let s=P(),p=Z=>Z.analytics||Z.marketing&&s,T=()=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({"gtm.start":Date.now(),event:"gtm.js"}),J(`${n}${n.includes("?")?"&":"?"}id=${encodeURIComponent(t)}`)},_=d(),I=_.decided&&p(_)?Dt:N,C=()=>I(T);c?Le(p,C):C()}o&&(g.clarityId=o,d().analytics&&Lt(),y(s=>{s.analytics&&!g.clarityLoaded?X():g.clarityLoaded&&ke(s)}))}function Le(e,t){if(e(d())){t();return}let n=y(o=>{e(o)&&(n(),t())})}function Dt(e){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e,{once:!0}):e()}function Lt(){let e=()=>{window.scrollY>Rt&&X()};window.addEventListener("scroll",e,{passive:!0});let t=setTimeout(X,bt);g.cancelClaritySchedule=()=>{window.removeEventListener("scroll",e),clearTimeout(t)}}function X(){g.cancelClaritySchedule?.(),g.cancelClaritySchedule=null,!(g.clarityLoaded||!g.clarityId)&&(g.clarityLoaded=!0,window.clarity=window.clarity||function(){window.clarity.q=window.clarity.q||[],window.clarity.q.push(arguments)},ke(d()),J(`https://www.clarity.ms/tag/${encodeURIComponent(g.clarityId)}`,{crossorigin:"anonymous"}))}function ke(e){window.clarity("consentv2",{ad_Storage:e.marketing&&P()?"granted":"denied",analytics_Storage:e.analytics?"granted":"denied"})}function J(e,t={}){let n=document.createElement("script");n.async=!0,n.src=e;for(let[o,r]of Object.entries(t))n.setAttribute(o,r);document.head.appendChild(n)}export{He as a,A as b,se as c,Be as d,ze as e,E as f,d as g,qe as h,y as i,i as j,Ht as k,V as l,u as m,jt as n,st as o,D as p,Qt as q,Xt as r,Jt as s,rn as t,f as u,w as v,x as w,et as x,q as y,Tt as z,wt as A,Ot as B,Nt as C};
|
package/dist/chunk-TPTUIQE4.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var p={sampleRate:1,softNavigations:!0,deployVersion:null,pageTemplate:null};function w(e){if(e==null||e===!1)return null;if(e===!0)return{...p};if(typeof e!="object")throw new Error("@webority/analytics: webVitals takes true or { sampleRate, softNavigations, deployVersion, pageTemplate }.");let t=e.sampleRate??p.sampleRate;if(typeof t!="number"||!(t>0&&t<=1))throw new Error("@webority/analytics: webVitals.sampleRate must be a number above 0 and at most 1.");let a=e.deployVersion??null;if(a!==null&&typeof a!="string")throw new Error("@webority/analytics: webVitals.deployVersion must be a string.");let l=e.pageTemplate??null;if(l!==null&&(typeof l!="string"||l.length>120))throw new Error("@webority/analytics: webVitals.pageTemplate must be a string of at most 120 characters.");return{sampleRate:t,softNavigations:e.softNavigations!==!1,deployVersion:a,pageTemplate:l}}function y(e,t){return t<e}function g({mobileHint:e,screenWidth:t}){return e===!0?"mobile":typeof t!="number"||t<=0?"unknown":t<768?"mobile":t<1024?"tablet":"desktop"}function m(e,t){if(typeof e!="string"||!e)return null;try{return new URL(e,t).pathname}catch{return null}}function u(e){return typeof e=="string"&&e?e.split(/[?#]/,1)[0]:null}var o=e=>typeof e=="number"&&Number.isFinite(e)?Math.round(e):null,c=(e,t)=>typeof e=="string"&&e?e.slice(0,t):null;function f(e){return typeof e?.transferSize!="number"||typeof e?.decodedBodySize!="number"?null:e.transferSize===0&&e.decodedBodySize>0?!0:e.transferSize>0?!1:null}function b(e){return{url:c(u(e.sourceURL),200),function:c(e.sourceFunctionName,80),invoker_type:e.invokerType??null,duration_ms:o(e.duration),forced_style_layout_ms:o(e.forcedStyleAndLayoutDuration)}}function h(e){let t=(e?.longAnimationFrameEntries??[]).flatMap(a=>a.scripts??[]);return t.length===0&&(t=[e?.longestScript?.entry].filter(Boolean)),t.length===0?null:(t.sort((a,l)=>(l.duration??0)-(a.duration??0)),t.slice(0,3).map(b))}function v(e,t){let a=e.name,l=a==="CLS"?Math.round(e.value*1e4)/1e4:o(e.value),r={[`$web_vitals_${a}_value`]:l,vital:a,value:l,rating:e.rating,metric_id:e.id,navigation_type:e.navigationType??null,path:m(e.navigationURL??t.pageUrl,t.pageUrl),deploy_version:t.deployVersion??null,device_class:t.deviceClass,page_template:e.navigationType==="soft-navigation"?null:t.pageTemplate??null},n=e.attribution??{};return a==="INP"&&(r.inp_target=n.interactionTarget||null,r.inp_longest_script_url=u(n.longestScript?.entry?.sourceURL),r.inp_input_delay_ms=o(n.inputDelay),r.inp_processing_ms=o(n.processingDuration),r.inp_presentation_delay_ms=o(n.presentationDelay),r.inp_interaction_type=n.interactionType??null,r.inp_load_state=n.loadState??null,r.inp_scripts=h(n)),a==="LCP"&&(r.lcp_ttfb_ms=o(n.timeToFirstByte),r.lcp_resource_load_delay_ms=o(n.resourceLoadDelay),r.lcp_resource_load_duration_ms=o(n.resourceLoadDuration),r.lcp_element_render_delay_ms=o(n.elementRenderDelay),r.lcp_target=n.target??null,r.lcp_url=/^(?:data|blob):/.test(n.url??"")?"data:":u(n.url),r.lcp_element_tag=n.lcpEntry?.element?.tagName?.toLowerCase()??null,r.lcp_nav_cached=f(n.navigationEntry),r.lcp_resource_cached=f(n.lcpResourceEntry)),a==="CLS"&&(r.cls_target=n.largestShiftTarget??null,r.cls_largest_shift=Number.isFinite(n.largestShiftValue)?Math.round(n.largestShiftValue*1e4)/1e4:null,r.cls_largest_shift_time_ms=o(n.largestShiftTime),r.cls_load_state=n.loadState??null),r}var i={started:!1,send:null};function T(e,t,{load:a=()=>import("./web-vitals.attribution-NGD57Y3S.js"),roll:l=Math.random()}={}){if(i.send=t,i.started||(i.started=!0,!y(e.sampleRate,l)))return Promise.resolve();let r={deployVersion:e.deployVersion,pageTemplate:e.pageTemplate,deviceClass:g({mobileHint:globalThis.navigator?.userAgentData?.mobile,screenWidth:globalThis.screen?.width})},n=s=>{try{i.send?.("$web_vitals",v(s,{...r,pageUrl:globalThis.location?.href}))}catch{}},d={reportSoftNavs:e.softNavigations};return Promise.resolve().then(a).then(s=>{for(let _ of[s.onLCP,s.onINP,s.onCLS,s.onFCP,s.onTTFB])_(n,d)}).catch(()=>{})}function S(){i.started=!1,i.send=null}export{w as a,y as b,g as c,f as d,h as e,v as f,T as g,S as h};
|