@brandlab-digital/site-next 1.0.0-rc.3 → 1.0.0-rc.30
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/analytics.d.ts +33 -1
- package/dist/analytics.d.ts.map +1 -1
- package/dist/analytics.js +65 -4
- package/dist/analytics.js.map +1 -1
- package/dist/blog.d.ts.map +1 -1
- package/dist/blog.js +5 -2
- package/dist/blog.js.map +1 -1
- package/dist/contact/attribution.d.ts +11 -0
- package/dist/contact/attribution.d.ts.map +1 -0
- package/dist/contact/attribution.js +145 -0
- package/dist/contact/attribution.js.map +1 -0
- package/dist/contact/client.d.ts +9 -39
- package/dist/contact/client.d.ts.map +1 -1
- package/dist/contact/client.js +122 -246
- package/dist/contact/client.js.map +1 -1
- package/dist/contact/contract.d.ts +4 -5
- package/dist/contact/contract.d.ts.map +1 -1
- package/dist/contact/contract.js +3 -5
- package/dist/contact/contract.js.map +1 -1
- package/dist/contact/email.d.ts +1 -0
- package/dist/contact/email.d.ts.map +1 -1
- package/dist/contact/email.js +137 -54
- package/dist/contact/email.js.map +1 -1
- package/dist/contact/image-sanitizer.d.ts +1 -1
- package/dist/contact/image-sanitizer.d.ts.map +1 -1
- package/dist/contact/image-sanitizer.js +12 -17
- package/dist/contact/image-sanitizer.js.map +1 -1
- package/dist/contact/index.d.ts +1 -0
- package/dist/contact/index.d.ts.map +1 -1
- package/dist/contact/index.js +1 -0
- package/dist/contact/index.js.map +1 -1
- package/dist/contact/resend.d.ts +1 -1
- package/dist/contact/resend.d.ts.map +1 -1
- package/dist/contact/resend.js +6 -6
- package/dist/contact/resend.js.map +1 -1
- package/dist/contact/server-entry.d.ts +3 -0
- package/dist/contact/server-entry.d.ts.map +1 -0
- package/dist/contact/server-entry.js +3 -0
- package/dist/contact/server-entry.js.map +1 -0
- package/dist/contact/server.d.ts +28 -18
- package/dist/contact/server.d.ts.map +1 -1
- package/dist/contact/server.js +459 -724
- package/dist/contact/server.js.map +1 -1
- package/dist/contact/shared.d.ts +15 -129
- package/dist/contact/shared.d.ts.map +1 -1
- package/dist/contact/shared.js +9 -3
- package/dist/contact/shared.js.map +1 -1
- package/dist/contact/testing.d.ts +1 -60
- package/dist/contact/testing.d.ts.map +1 -1
- package/dist/contact/testing.js +1 -86
- package/dist/contact/testing.js.map +1 -1
- package/dist/google-reviews-client.d.ts +22 -0
- package/dist/google-reviews-client.d.ts.map +1 -0
- package/dist/google-reviews-client.js +87 -0
- package/dist/google-reviews-client.js.map +1 -0
- package/dist/google-reviews-server.d.ts +43 -0
- package/dist/google-reviews-server.d.ts.map +1 -0
- package/dist/google-reviews-server.js +90 -0
- package/dist/google-reviews-server.js.map +1 -0
- package/dist/google-reviews-ui.d.ts +612 -0
- package/dist/google-reviews-ui.d.ts.map +1 -0
- package/dist/google-reviews-ui.js +171 -0
- package/dist/google-reviews-ui.js.map +1 -0
- package/dist/google-reviews.d.ts +4 -322
- package/dist/google-reviews.d.ts.map +1 -1
- package/dist/google-reviews.js +4 -252
- package/dist/google-reviews.js.map +1 -1
- package/dist/google-tag-plan.d.ts +19 -0
- package/dist/google-tag-plan.d.ts.map +1 -0
- package/dist/google-tag-plan.js +85 -0
- package/dist/google-tag-plan.js.map +1 -0
- package/dist/google-tag.d.ts +17 -0
- package/dist/google-tag.d.ts.map +1 -0
- package/dist/google-tag.js +18 -0
- package/dist/google-tag.js.map +1 -0
- package/dist/headers.d.ts.map +1 -1
- package/dist/headers.js +6 -1
- package/dist/headers.js.map +1 -1
- package/dist/instrumentation-client.d.ts +2 -0
- package/dist/instrumentation-client.d.ts.map +1 -1
- package/dist/instrumentation-client.js +39 -3
- package/dist/instrumentation-client.js.map +1 -1
- package/package.json +29 -36
- package/dist/contact/context.d.ts +0 -26
- package/dist/contact/context.d.ts.map +0 -1
- package/dist/contact/context.js +0 -266
- package/dist/contact/context.js.map +0 -1
- package/dist/contact/durable.d.ts +0 -31
- package/dist/contact/durable.d.ts.map +0 -1
- package/dist/contact/durable.js +0 -331
- package/dist/contact/durable.js.map +0 -1
- package/dist/contact/production.d.ts +0 -48
- package/dist/contact/production.d.ts.map +0 -1
- package/dist/contact/production.js +0 -357
- package/dist/contact/production.js.map +0 -1
- package/dist/contact/request.d.ts +0 -19
- package/dist/contact/request.d.ts.map +0 -1
- package/dist/contact/request.js +0 -116
- package/dist/contact/request.js.map +0 -1
- package/dist/contact/route.d.ts +0 -15
- package/dist/contact/route.d.ts.map +0 -1
- package/dist/contact/route.js +0 -128
- package/dist/contact/route.js.map +0 -1
package/dist/analytics.d.ts
CHANGED
|
@@ -4,12 +4,22 @@ import type { BrandlabContactDefinition } from './contact/shared.js';
|
|
|
4
4
|
export interface BrandlabBrowserAnalyticsConfig {
|
|
5
5
|
enabled: boolean;
|
|
6
6
|
webVitalsEnabled?: boolean;
|
|
7
|
+
leadDiagnosticsEnabled?: boolean;
|
|
7
8
|
enhancedConversionsEnabled?: boolean;
|
|
8
9
|
measurementId?: string | null;
|
|
9
10
|
googleAdsConversionId?: string | null;
|
|
10
11
|
googleAdsConversionLabel?: string | null;
|
|
11
12
|
gtag?: GtagTransport;
|
|
12
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Public analytics values that a client bundle must bind through direct,
|
|
16
|
+
* statically analyzable `process.env.NEXT_PUBLIC_*` property access.
|
|
17
|
+
*/
|
|
18
|
+
export interface BrandlabBrowserAnalyticsPublicValues {
|
|
19
|
+
measurementId: string | null | undefined;
|
|
20
|
+
googleAdsConversionId: string | null | undefined;
|
|
21
|
+
googleAdsConversionLabel: string | null | undefined;
|
|
22
|
+
}
|
|
13
23
|
export interface SafeContactAnalyticsParams {
|
|
14
24
|
page_template?: string;
|
|
15
25
|
service_slug?: string;
|
|
@@ -21,7 +31,7 @@ export interface SafeContactAdsParams {
|
|
|
21
31
|
}
|
|
22
32
|
export declare const PHONE_CALL_PLACEMENTS: readonly ["header", "footer", "hero", "cta", "fab", "contact", "location", "page"];
|
|
23
33
|
export type PhoneCallPlacement = (typeof PHONE_CALL_PLACEMENTS)[number];
|
|
24
|
-
export declare function resolveBrowserAnalyticsConfig(contract: BrandlabAnalyticsContract,
|
|
34
|
+
export declare function resolveBrowserAnalyticsConfig(contract: BrandlabAnalyticsContract, publicValues: BrandlabBrowserAnalyticsPublicValues, options: {
|
|
25
35
|
enabled: boolean;
|
|
26
36
|
gtag?: GtagTransport;
|
|
27
37
|
}): BrandlabBrowserAnalyticsConfig;
|
|
@@ -65,7 +75,29 @@ export declare function trackPhoneCall(input: {
|
|
|
65
75
|
pagePath: string;
|
|
66
76
|
placement: PhoneCallPlacement;
|
|
67
77
|
}, config: Pick<BrandlabBrowserAnalyticsConfig, 'enabled' | 'measurementId' | 'gtag'>): boolean;
|
|
78
|
+
export declare const LEAD_FORM_ERROR_STAGES: readonly ["validation", "submission", "delivery", "unknown"];
|
|
79
|
+
export type LeadFormErrorStage = (typeof LEAD_FORM_ERROR_STAGES)[number];
|
|
80
|
+
export declare const LEAD_CTA_PLACEMENTS: readonly ["header", "footer", "hero", "section", "navigation", "floating", "page"];
|
|
81
|
+
export type LeadCtaPlacement = (typeof LEAD_CTA_PLACEMENTS)[number];
|
|
82
|
+
type LeadDiagnosticConfig = Pick<BrandlabBrowserAnalyticsConfig, 'enabled' | 'leadDiagnosticsEnabled' | 'measurementId' | 'gtag'>;
|
|
83
|
+
export declare function trackLeadFormStart(input: {
|
|
84
|
+
pagePath: string;
|
|
85
|
+
formId: string;
|
|
86
|
+
pageTemplate?: string;
|
|
87
|
+
}, config: LeadDiagnosticConfig): boolean;
|
|
88
|
+
export declare function trackLeadFormError(input: {
|
|
89
|
+
pagePath: string;
|
|
90
|
+
formId: string;
|
|
91
|
+
stage: LeadFormErrorStage;
|
|
92
|
+
errorCount: number;
|
|
93
|
+
}, config: LeadDiagnosticConfig): boolean;
|
|
94
|
+
export declare function trackLeadCtaClick(input: {
|
|
95
|
+
pagePath: string;
|
|
96
|
+
ctaId: string;
|
|
97
|
+
placement: LeadCtaPlacement;
|
|
98
|
+
}, config: LeadDiagnosticConfig): boolean;
|
|
68
99
|
export declare function trackBrandlabBrowserEvent(eventName: string, params: Record<string, unknown>, config: Pick<BrandlabBrowserAnalyticsConfig, 'enabled' | 'measurementId' | 'gtag'> & {
|
|
69
100
|
contract: BrandlabAnalyticsContract;
|
|
70
101
|
}): boolean;
|
|
102
|
+
export {};
|
|
71
103
|
//# sourceMappingURL=analytics.d.ts.map
|
package/dist/analytics.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../src/analytics.ts"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,EAChC,KAAK,aAAa,EACnB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AAE9E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAEpE,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,OAAO,CAAA;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,0BAA0B,CAAC,EAAE,OAAO,CAAA;IACpC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxC,IAAI,CAAC,EAAE,aAAa,CAAA;CACrB;AAED,MAAM,WAAW,0BAA0B;IACzC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,qBAAqB,oFASxB,CAAA;AAEV,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEvE,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,yBAAyB,EACnC,
|
|
1
|
+
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../src/analytics.ts"],"names":[],"mappings":"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"}
|
package/dist/analytics.js
CHANGED
|
@@ -11,18 +11,19 @@ export const PHONE_CALL_PLACEMENTS = [
|
|
|
11
11
|
'location',
|
|
12
12
|
'page',
|
|
13
13
|
];
|
|
14
|
-
export function resolveBrowserAnalyticsConfig(contract,
|
|
14
|
+
export function resolveBrowserAnalyticsConfig(contract, publicValues, options) {
|
|
15
15
|
defineAnalyticsContract(contract);
|
|
16
16
|
return {
|
|
17
17
|
enabled: options.enabled,
|
|
18
18
|
webVitalsEnabled: contract.webVitals,
|
|
19
|
+
leadDiagnosticsEnabled: contract.leadDiagnostics?.enabled === true,
|
|
19
20
|
enhancedConversionsEnabled: contract.googleAds?.enhancedConversions?.mode === 'consent-required',
|
|
20
|
-
measurementId:
|
|
21
|
+
measurementId: publicValues.measurementId,
|
|
21
22
|
googleAdsConversionId: contract.googleAds
|
|
22
|
-
?
|
|
23
|
+
? publicValues.googleAdsConversionId
|
|
23
24
|
: undefined,
|
|
24
25
|
googleAdsConversionLabel: contract.googleAds
|
|
25
|
-
?
|
|
26
|
+
? publicValues.googleAdsConversionLabel
|
|
26
27
|
: undefined,
|
|
27
28
|
gtag: options.gtag,
|
|
28
29
|
};
|
|
@@ -174,6 +175,66 @@ export function trackPhoneCall(input, config) {
|
|
|
174
175
|
},
|
|
175
176
|
});
|
|
176
177
|
}
|
|
178
|
+
export const LEAD_FORM_ERROR_STAGES = [
|
|
179
|
+
'validation',
|
|
180
|
+
'submission',
|
|
181
|
+
'delivery',
|
|
182
|
+
'unknown',
|
|
183
|
+
];
|
|
184
|
+
export const LEAD_CTA_PLACEMENTS = [
|
|
185
|
+
'header',
|
|
186
|
+
'footer',
|
|
187
|
+
'hero',
|
|
188
|
+
'section',
|
|
189
|
+
'navigation',
|
|
190
|
+
'floating',
|
|
191
|
+
'page',
|
|
192
|
+
];
|
|
193
|
+
export function trackLeadFormStart(input, config) {
|
|
194
|
+
const formId = safeSlug(input.formId);
|
|
195
|
+
if (!formId)
|
|
196
|
+
return false;
|
|
197
|
+
return sendLeadDiagnosticEvent('lead_form_start', {
|
|
198
|
+
form_id: formId,
|
|
199
|
+
page_path: safePagePath(input.pagePath),
|
|
200
|
+
...(safeSlug(input.pageTemplate) ? { page_template: safeSlug(input.pageTemplate) } : {}),
|
|
201
|
+
}, config);
|
|
202
|
+
}
|
|
203
|
+
export function trackLeadFormError(input, config) {
|
|
204
|
+
const formId = safeSlug(input.formId);
|
|
205
|
+
if (!formId ||
|
|
206
|
+
!LEAD_FORM_ERROR_STAGES.includes(input.stage) ||
|
|
207
|
+
!Number.isInteger(input.errorCount) ||
|
|
208
|
+
input.errorCount < 1 ||
|
|
209
|
+
input.errorCount > 50) {
|
|
210
|
+
return false;
|
|
211
|
+
}
|
|
212
|
+
return sendLeadDiagnosticEvent('lead_form_error', {
|
|
213
|
+
form_id: formId,
|
|
214
|
+
page_path: safePagePath(input.pagePath),
|
|
215
|
+
error_stage: input.stage,
|
|
216
|
+
error_count: input.errorCount,
|
|
217
|
+
}, config);
|
|
218
|
+
}
|
|
219
|
+
export function trackLeadCtaClick(input, config) {
|
|
220
|
+
const ctaId = safeSlug(input.ctaId);
|
|
221
|
+
if (!ctaId || !LEAD_CTA_PLACEMENTS.includes(input.placement))
|
|
222
|
+
return false;
|
|
223
|
+
return sendLeadDiagnosticEvent('lead_cta_click', {
|
|
224
|
+
cta_id: ctaId,
|
|
225
|
+
page_path: safePagePath(input.pagePath),
|
|
226
|
+
placement: input.placement,
|
|
227
|
+
}, config);
|
|
228
|
+
}
|
|
229
|
+
function sendLeadDiagnosticEvent(eventName, params, config) {
|
|
230
|
+
return sendBrandlabAnalyticsEvent({
|
|
231
|
+
enabled: config.enabled && config.leadDiagnosticsEnabled === true,
|
|
232
|
+
measurementId: config.measurementId,
|
|
233
|
+
gtag: config.gtag ?? getBrowserGtag(),
|
|
234
|
+
eventName,
|
|
235
|
+
params,
|
|
236
|
+
});
|
|
237
|
+
}
|
|
177
238
|
function safeAdditionalEventValue(value, policy) {
|
|
178
239
|
if (policy.type === 'boolean')
|
|
179
240
|
return typeof value === 'boolean' ? value : undefined;
|
package/dist/analytics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../src/analytics.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EACL,uBAAuB,EACvB,gCAAgC,EAChC,gCAAgC,EAChC,0BAA0B,EAC1B,yBAAyB,GAI1B,MAAM,uCAAuC,CAAA;AAE9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAA;
|
|
1
|
+
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../src/analytics.ts"],"names":[],"mappings":"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"}
|
package/dist/blog.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blog.d.ts","sourceRoot":"","sources":["../src/blog.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACtB,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,oCAAoC,CAAA;AAE3C,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnF,OAAO,EAGL,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC5B,MAAM,eAAe,CAAA;AAEtB,MAAM,WAAW,0BAA0B,CAAC,OAAO;IACjD,OAAO,EAAE,mBAAmB,CAAA;IAC5B,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAClC,QAAQ,EAAE,wBAAwB,CAAA;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACtE,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;IAChB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,oBAAoB,CAAA;IAC7B,GAAG,CAAC,EAAE;QACJ,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;CACF;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAC/C,OAAO,EAAE,0BAA0B,CAAC,OAAO,CAAC;;;;;wBA2CtB,MAAM;;;;;;;2BAMH,MAAM,GAAG,sBAAsB,GAAG,SAAS;
|
|
1
|
+
{"version":3,"file":"blog.d.ts","sourceRoot":"","sources":["../src/blog.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACtB,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,oCAAoC,CAAA;AAE3C,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnF,OAAO,EAGL,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC5B,MAAM,eAAe,CAAA;AAEtB,MAAM,WAAW,0BAA0B,CAAC,OAAO;IACjD,OAAO,EAAE,mBAAmB,CAAA;IAC5B,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAClC,QAAQ,EAAE,wBAAwB,CAAA;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACtE,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;IAChB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,oBAAoB,CAAA;IAC7B,GAAG,CAAC,EAAE;QACJ,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;CACF;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAC/C,OAAO,EAAE,0BAA0B,CAAC,OAAO,CAAC;;;;;wBA2CtB,MAAM;;;;;;;2BAMH,MAAM,GAAG,sBAAsB,GAAG,SAAS;yBAgC7C,MAAM;yBAuBN,YAAY,EAAE;0BAcb,MAAM;;;;;kBA+CR,MAAM;;;;;;;EAK7B;AAeD,wBAAgB,oBAAoB,CAAC,OAAO,EAC1C,OAAO,EAAE,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;;;;;wBA/IvC,MAAM;;;;;;;2BAMH,MAAM,GAAG,sBAAsB,GAAG,SAAS;yBAgC7C,MAAM;yBAuBN,YAAY,EAAE;0BAcb,MAAM;;;;;kBA+CR,MAAM;;;;;;;EAwB7B;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EACjD,OAAO,EAAE,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;;;;;wBArJvC,MAAM;;;;;;;2BAMH,MAAM,GAAG,sBAAsB,GAAG,SAAS;yBAgC7C,MAAM;yBAuBN,YAAY,EAAE;0BAcb,MAAM;;;;;kBA+CR,MAAM;;;;;;;EA8B7B;AAED,MAAM,MAAM,oCAAoC,CAAC,OAAO,IAAI,IAAI,CAC9D,0BAA0B,CAAC,OAAO,CAAC,EACnC,SAAS,GAAG,QAAQ,CACrB,GAAG;IAAE,MAAM,EAAE,oBAAoB,CAAA;CAAE,CAAA;AAEpC,wBAAgB,8BAA8B,CAAC,OAAO,EACpD,OAAO,EAAE,oCAAoC,CAAC,OAAO,CAAC;;;;;wBAhKhC,MAAM;;;;;;;2BAMH,MAAM,GAAG,sBAAsB,GAAG,SAAS;yBAgC7C,MAAM;yBAuBN,YAAY,EAAE;0BAcb,MAAM;;;;;kBA+CR,MAAM;;;;;;;EAyC7B;AAED,wBAAgB,qCAAqC,CAAC,OAAO,EAC3D,OAAO,EAAE,oCAAoC,CAAC,OAAO,CAAC;;;;;wBAtKhC,MAAM;;;;;;;2BAMH,MAAM,GAAG,sBAAsB,GAAG,SAAS;yBAgC7C,MAAM;yBAuBN,YAAY,EAAE;0BAcb,MAAM;;;;;kBA+CR,MAAM;;;;;;;EA+C7B"}
|
package/dist/blog.js
CHANGED
|
@@ -46,12 +46,14 @@ export function createBrandlabBlogAdapter(options) {
|
|
|
46
46
|
const post = published().find((candidate) => candidate.slug === slug);
|
|
47
47
|
if (!post)
|
|
48
48
|
return undefined;
|
|
49
|
+
const metadataTitle = post.seo?.title ?? post.headline;
|
|
49
50
|
if (routeMetadata && options.routes) {
|
|
50
51
|
const route = getBlogRoute(post, options.routes);
|
|
51
52
|
return routeMetadata({
|
|
52
53
|
routeId: route.id,
|
|
53
|
-
title:
|
|
54
|
+
title: metadataTitle,
|
|
54
55
|
description: post.description,
|
|
56
|
+
...(post.seo?.titleMode ? { titleMode: post.seo.titleMode } : {}),
|
|
55
57
|
article: {
|
|
56
58
|
publishedTime: post.publishedAt,
|
|
57
59
|
...(post.modifiedAt ? { modifiedTime: post.modifiedAt } : {}),
|
|
@@ -61,9 +63,10 @@ export function createBrandlabBlogAdapter(options) {
|
|
|
61
63
|
});
|
|
62
64
|
}
|
|
63
65
|
return metadata({
|
|
64
|
-
title:
|
|
66
|
+
title: metadataTitle,
|
|
65
67
|
description: post.description,
|
|
66
68
|
pathname: post.path,
|
|
69
|
+
...(post.seo?.titleMode ? { titleMode: post.seo.titleMode } : {}),
|
|
67
70
|
article: {
|
|
68
71
|
publishedTime: post.publishedAt,
|
|
69
72
|
modifiedTime: post.modifiedAt,
|
package/dist/blog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blog.js","sourceRoot":"","sources":["../src/blog.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"blog.js","sourceRoot":"","sources":["../src/blog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type ContactAttributionSummary, type ContactVisitSource } from '@brandlab-digital/site-core/contact';
|
|
2
|
+
export interface ContactAttributionEvidence {
|
|
3
|
+
initialLandingPath: string;
|
|
4
|
+
search?: string;
|
|
5
|
+
referrer?: string;
|
|
6
|
+
siteOrigin?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function normalizeContactVisitSourceDetail(source: ContactVisitSource, value: string | undefined): string | undefined;
|
|
9
|
+
export declare function normalizeContactAttributionSummary(value: ContactAttributionSummary): ContactAttributionSummary;
|
|
10
|
+
export declare function classifyContactAttribution(evidence: ContactAttributionEvidence): ContactAttributionSummary;
|
|
11
|
+
//# sourceMappingURL=attribution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attribution.d.ts","sourceRoot":"","sources":["../../src/contact/attribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,EACxB,MAAM,qCAAqC,CAAA;AAgC5C,MAAM,WAAW,0BAA0B;IACzC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAkDD,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,MAAM,GAAG,SAAS,sBAa1B;AAED,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,yBAAyB,GAC/B,yBAAyB,CAc3B;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,0BAA0B,GACnC,yBAAyB,CA4C3B"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { isContactVisitSource, } from '@brandlab-digital/site-core/contact';
|
|
2
|
+
import { normalizeBrandlabRoutePath } from '@brandlab-digital/site-core/routes';
|
|
3
|
+
const GOOGLE_ADS_CLICK_FIELDS = ['gclid', 'gbraid', 'wbraid', 'gad_source'];
|
|
4
|
+
const GOOGLE_ADS_SOURCES = new Set(['google', 'google-ads', 'google_ads', 'adwords']);
|
|
5
|
+
const PAID_MEDIA = new Set(['cpc', 'ppc', 'paid', 'paid-search', 'paidsearch']);
|
|
6
|
+
const GBP_CAMPAIGNS = new Set(['gbp', 'google-business-profile', 'business-profile']);
|
|
7
|
+
const GBP_SOURCES = new Set(['gbp', 'google-business-profile', 'google_business_profile']);
|
|
8
|
+
const SOCIAL_MEDIA = new Set(['social', 'social-media', 'paid-social', 'paidsocial']);
|
|
9
|
+
const SOCIAL_SOURCES = new Map([
|
|
10
|
+
['facebook', 'Facebook'],
|
|
11
|
+
['fb', 'Facebook'],
|
|
12
|
+
['instagram', 'Instagram'],
|
|
13
|
+
['ig', 'Instagram'],
|
|
14
|
+
['linkedin', 'LinkedIn'],
|
|
15
|
+
['tiktok', 'TikTok'],
|
|
16
|
+
['youtube', 'YouTube'],
|
|
17
|
+
['x', 'X'],
|
|
18
|
+
['twitter', 'X'],
|
|
19
|
+
]);
|
|
20
|
+
const SOCIAL_HOSTS = new Map([
|
|
21
|
+
['facebook.com', 'Facebook'],
|
|
22
|
+
['fb.com', 'Facebook'],
|
|
23
|
+
['instagram.com', 'Instagram'],
|
|
24
|
+
['linkedin.com', 'LinkedIn'],
|
|
25
|
+
['tiktok.com', 'TikTok'],
|
|
26
|
+
['youtube.com', 'YouTube'],
|
|
27
|
+
['youtu.be', 'YouTube'],
|
|
28
|
+
['x.com', 'X'],
|
|
29
|
+
['twitter.com', 'X'],
|
|
30
|
+
]);
|
|
31
|
+
function safeTrackingValue(value) {
|
|
32
|
+
const normalized = value?.trim().toLowerCase();
|
|
33
|
+
return normalized && normalized.length <= 80 && /^[a-z0-9][a-z0-9._-]*$/.test(normalized)
|
|
34
|
+
? normalized
|
|
35
|
+
: undefined;
|
|
36
|
+
}
|
|
37
|
+
function hostname(value) {
|
|
38
|
+
if (!value)
|
|
39
|
+
return undefined;
|
|
40
|
+
try {
|
|
41
|
+
const parsed = new URL(value);
|
|
42
|
+
if (!['http:', 'https:'].includes(parsed.protocol) || parsed.username || parsed.password) {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
return parsed.hostname.toLowerCase().replace(/^www\./, '');
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
function socialLabel(value) {
|
|
52
|
+
if (!value)
|
|
53
|
+
return undefined;
|
|
54
|
+
const exact = SOCIAL_SOURCES.get(value);
|
|
55
|
+
if (exact)
|
|
56
|
+
return exact;
|
|
57
|
+
for (const [host, label] of SOCIAL_HOSTS) {
|
|
58
|
+
if (value === host || value.endsWith(`.${host}`))
|
|
59
|
+
return label;
|
|
60
|
+
}
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
function isSearchHost(value) {
|
|
64
|
+
if (!value)
|
|
65
|
+
return false;
|
|
66
|
+
return (value === 'google.com' ||
|
|
67
|
+
value.startsWith('google.') ||
|
|
68
|
+
value.endsWith('.google.com') ||
|
|
69
|
+
value === 'bing.com' ||
|
|
70
|
+
value.endsWith('.bing.com') ||
|
|
71
|
+
value === 'search.yahoo.com' ||
|
|
72
|
+
value.endsWith('.search.yahoo.com') ||
|
|
73
|
+
value === 'duckduckgo.com' ||
|
|
74
|
+
value.endsWith('.duckduckgo.com') ||
|
|
75
|
+
value === 'ecosia.org' ||
|
|
76
|
+
value.endsWith('.ecosia.org') ||
|
|
77
|
+
value === 'search.brave.com');
|
|
78
|
+
}
|
|
79
|
+
export function normalizeContactVisitSourceDetail(source, value) {
|
|
80
|
+
if (source !== 'referral' && source !== 'social')
|
|
81
|
+
return undefined;
|
|
82
|
+
const normalized = value?.trim();
|
|
83
|
+
if (!normalized ||
|
|
84
|
+
normalized.length > 100 ||
|
|
85
|
+
/[\u0000-\u001f\u007f]/.test(normalized) ||
|
|
86
|
+
!/^[A-Za-z0-9][A-Za-z0-9 .'-]*$/.test(normalized)) {
|
|
87
|
+
return undefined;
|
|
88
|
+
}
|
|
89
|
+
return normalized;
|
|
90
|
+
}
|
|
91
|
+
export function normalizeContactAttributionSummary(value) {
|
|
92
|
+
const initialLandingPath = normalizeBrandlabRoutePath(value.initialLandingPath);
|
|
93
|
+
if (!isContactVisitSource(value.visitSource)) {
|
|
94
|
+
throw new Error('The contact visit source is invalid.');
|
|
95
|
+
}
|
|
96
|
+
const visitSourceDetail = normalizeContactVisitSourceDetail(value.visitSource, value.visitSourceDetail);
|
|
97
|
+
return Object.freeze({
|
|
98
|
+
initialLandingPath,
|
|
99
|
+
visitSource: value.visitSource,
|
|
100
|
+
...(visitSourceDetail ? { visitSourceDetail } : {}),
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
export function classifyContactAttribution(evidence) {
|
|
104
|
+
const initialLandingPath = normalizeBrandlabRoutePath(evidence.initialLandingPath);
|
|
105
|
+
const params = new URLSearchParams(evidence.search?.replace(/^\?/, '') ?? '');
|
|
106
|
+
const source = safeTrackingValue(params.get('utm_source'));
|
|
107
|
+
const medium = safeTrackingValue(params.get('utm_medium'));
|
|
108
|
+
const campaign = safeTrackingValue(params.get('utm_campaign'));
|
|
109
|
+
const referrerHost = hostname(evidence.referrer);
|
|
110
|
+
const siteHost = hostname(evidence.siteOrigin);
|
|
111
|
+
if (GOOGLE_ADS_CLICK_FIELDS.some((field) => params.has(field))) {
|
|
112
|
+
return { initialLandingPath, visitSource: 'google-ads' };
|
|
113
|
+
}
|
|
114
|
+
if (source && GOOGLE_ADS_SOURCES.has(source) && medium && PAID_MEDIA.has(medium)) {
|
|
115
|
+
return { initialLandingPath, visitSource: 'google-ads' };
|
|
116
|
+
}
|
|
117
|
+
if (((source === 'google' && campaign && GBP_CAMPAIGNS.has(campaign)) ||
|
|
118
|
+
(source && GBP_SOURCES.has(source))) &&
|
|
119
|
+
(!medium || medium === 'organic' || medium === 'local' || medium === 'referral')) {
|
|
120
|
+
return { initialLandingPath, visitSource: 'google-business-profile' };
|
|
121
|
+
}
|
|
122
|
+
if (medium === 'email') {
|
|
123
|
+
return { initialLandingPath, visitSource: 'email-campaign' };
|
|
124
|
+
}
|
|
125
|
+
const social = socialLabel(source) ?? socialLabel(referrerHost);
|
|
126
|
+
if (social || (medium && SOCIAL_MEDIA.has(medium))) {
|
|
127
|
+
return {
|
|
128
|
+
initialLandingPath,
|
|
129
|
+
visitSource: 'social',
|
|
130
|
+
...(social ? { visitSourceDetail: social } : {}),
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
if (medium === 'organic' || isSearchHost(referrerHost)) {
|
|
134
|
+
return { initialLandingPath, visitSource: 'organic-search' };
|
|
135
|
+
}
|
|
136
|
+
if (referrerHost && referrerHost !== siteHost) {
|
|
137
|
+
return {
|
|
138
|
+
initialLandingPath,
|
|
139
|
+
visitSource: 'referral',
|
|
140
|
+
visitSourceDetail: referrerHost,
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
return { initialLandingPath, visitSource: 'direct-or-unknown' };
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=attribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attribution.js","sourceRoot":"","sources":["../../src/contact/attribution.ts"],"names":[],"mappings":"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"}
|
package/dist/contact/client.d.ts
CHANGED
|
@@ -1,61 +1,33 @@
|
|
|
1
1
|
import type { GtagTransport } from '@brandlab-digital/site-core/analytics';
|
|
2
|
-
import type
|
|
2
|
+
import { type ContactActionResult } from '@brandlab-digital/site-core/contact';
|
|
3
3
|
import { type SafeContactAdsParams, type SafeContactAnalyticsParams } from '../analytics.js';
|
|
4
4
|
import { createContactSubmissionId, type BrandlabContactDefinition } from './shared.js';
|
|
5
5
|
export { createContactSubmissionId };
|
|
6
|
-
|
|
6
|
+
export declare function normalizeContactUploadFile(original: File, processed: Blob): File;
|
|
7
7
|
export declare function parseContactActionResult(value: unknown): ContactActionResult | undefined;
|
|
8
|
-
export interface ContactClientSubmissionContext {
|
|
9
|
-
clientSubmissionId: string;
|
|
10
|
-
signedContext: string;
|
|
11
|
-
}
|
|
12
8
|
export type ContactSubmissionPhase = 'idle' | 'submitting' | 'accepted' | 'accepted-silently' | 'error';
|
|
13
9
|
export interface ContactSubmissionState {
|
|
14
10
|
phase: ContactSubmissionPhase;
|
|
15
11
|
pending: boolean;
|
|
16
12
|
canRetry: boolean;
|
|
17
|
-
contextReady: boolean;
|
|
18
13
|
result?: ContactActionResult;
|
|
19
14
|
}
|
|
20
|
-
export interface
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
/** Uses only the shared privacy-safe analytics adapter after acceptance. */
|
|
15
|
+
export interface ContactHttpSubmissionControllerOptions {
|
|
16
|
+
pagePath: string;
|
|
17
|
+
pageLabel?: string;
|
|
18
|
+
contactEndpoint?: string;
|
|
19
|
+
fetcher?: typeof fetch;
|
|
20
|
+
now?: () => Date;
|
|
27
21
|
analytics?: Omit<Parameters<typeof trackDeliveredContactResult>[1], 'formData'>;
|
|
28
22
|
onStateChange?: (state: ContactSubmissionState) => void;
|
|
29
23
|
}
|
|
30
24
|
export interface ContactSubmissionController {
|
|
31
25
|
getState(): ContactSubmissionState;
|
|
32
|
-
prepare(): Promise<void>;
|
|
33
26
|
submit(formData: FormData): Promise<ContactActionResult>;
|
|
34
27
|
retry(): Promise<ContactActionResult>;
|
|
35
|
-
reset():
|
|
28
|
+
reset(): void;
|
|
36
29
|
}
|
|
37
|
-
export interface ContactHttpSubmissionControllerOptions extends Omit<ContactSubmissionControllerOptions, 'issueContext' | 'submitForm'> {
|
|
38
|
-
pagePath: string;
|
|
39
|
-
pageLabel?: string;
|
|
40
|
-
contactEndpoint?: string;
|
|
41
|
-
contextEndpoint?: string;
|
|
42
|
-
fetcher?: typeof fetch;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Owns one browser submission at a time. A network retry reuses the exact
|
|
46
|
-
* context/UUID; any terminal success rotates both before another submission.
|
|
47
|
-
*/
|
|
48
|
-
export declare function createContactSubmissionController(options: ContactSubmissionControllerOptions): ContactSubmissionController;
|
|
49
|
-
/** Canonical same-origin HTTP adapter for the shared context and contact routes. */
|
|
50
30
|
export declare function createContactHttpSubmissionController(options: ContactHttpSubmissionControllerOptions): ContactSubmissionController;
|
|
51
|
-
/** Adds the stable ID and server-signed context issued for this form instance. */
|
|
52
|
-
export declare function addContactSubmissionContext(formData: FormData, options: {
|
|
53
|
-
clientSubmissionId: string;
|
|
54
|
-
signedContext: string;
|
|
55
|
-
}): {
|
|
56
|
-
formData: FormData;
|
|
57
|
-
clientSubmissionId: string;
|
|
58
|
-
};
|
|
59
31
|
export declare function shouldTrackContactResult(result: ContactActionResult): result is Extract<ContactActionResult, {
|
|
60
32
|
ok: true;
|
|
61
33
|
accepted: true;
|
|
@@ -65,9 +37,7 @@ export declare function trackDeliveredContactResult(result: ContactActionResult,
|
|
|
65
37
|
definition: BrandlabContactDefinition;
|
|
66
38
|
formData: FormData;
|
|
67
39
|
enabled: boolean;
|
|
68
|
-
/** Explicit project opt-in for Enhanced Conversions. */
|
|
69
40
|
enhancedConversionsEnabled?: boolean;
|
|
70
|
-
/** Live Consent Mode decision for ad_user_data; absence must be deny. */
|
|
71
41
|
adUserDataConsent: boolean;
|
|
72
42
|
measurementId?: string | null;
|
|
73
43
|
googleAdsConversionId?: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/contact/client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAA;AAC1E,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/contact/client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAA;AAC1E,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,qCAAqC,CAAA;AAG5C,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAChC,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAGL,yBAAyB,EACzB,KAAK,yBAAyB,EAC/B,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,yBAAyB,EAAE,CAAA;AAEpC,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,GAAG,IAAI,CAgBhF;AA8CD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,GAAG,SAAS,CA+CxF;AAED,MAAM,MAAM,sBAAsB,GAC9B,MAAM,GACN,YAAY,GACZ,UAAU,GACV,mBAAmB,GACnB,OAAO,CAAA;AAEX,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,sBAAsB,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,mBAAmB,CAAA;CAC7B;AAED,MAAM,WAAW,sCAAsC;IACrD,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,CAAC,EAAE,OAAO,KAAK,CAAA;IACtB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;IAChB,SAAS,CAAC,EAAE,IAAI,CACd,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAAC,CAAC,CAAC,EACjD,UAAU,CACX,CAAA;IACD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAA;CACxD;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,IAAI,sBAAsB,CAAA;IAClC,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;IACxD,KAAK,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAA;IACrC,KAAK,IAAI,IAAI,CAAA;CACd;AAkFD,wBAAgB,qCAAqC,CACnD,OAAO,EAAE,sCAAsC,GAC9C,2BAA2B,CAwH7B;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,mBAAmB,GAC1B,MAAM,IAAI,OAAO,CAAC,mBAAmB,EAAE;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,CAAC,CAEtE;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE;IACP,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,yBAAyB,CAAA;IACrC,QAAQ,EAAE,QAAQ,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,0BAA0B,CAAC,EAAE,OAAO,CAAA;IACpC,iBAAiB,EAAE,OAAO,CAAA;IAC1B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxC,IAAI,CAAC,EAAE,aAAa,CAAA;IACpB,MAAM,CAAC,EAAE,0BAA0B,CAAA;IACnC,SAAS,CAAC,EAAE,oBAAoB,CAAA;CACjC,+EAmBF"}
|