@se-studio/brightline-shared 1.0.5 → 1.0.8

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.
@@ -1,5 +1,6 @@
1
- export interface NavigationEventsProps {
1
+ interface NavigationEventsProps {
2
2
  lang: string;
3
3
  }
4
4
  export declare function NavigationEvents({ lang }: NavigationEventsProps): null;
5
+ export {};
5
6
  //# sourceMappingURL=NavigationEvents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationEvents.d.ts","sourceRoot":"","sources":["../../src/components/NavigationEvents.tsx"],"names":[],"mappings":"AASA,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;CACd;AAOD,wBAAgB,gBAAgB,CAAC,EAAE,IAAI,EAAE,EAAE,qBAAqB,GAAG,IAAI,CAwBtE"}
1
+ {"version":3,"file":"NavigationEvents.d.ts","sourceRoot":"","sources":["../../src/components/NavigationEvents.tsx"],"names":[],"mappings":"AASA,UAAU,qBAAqB;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd;AAOD,wBAAgB,gBAAgB,CAAC,EAAE,IAAI,EAAE,EAAE,qBAAqB,GAAG,IAAI,CAwBtE"}
@@ -1,7 +1,4 @@
1
- export type { AhoyTrackingProps } from './AhoyTracking';
2
- export { AhoyTracking } from './AhoyTracking';
3
1
  export { ClarityScript } from './ClarityScript';
4
- export type { NavigationEventsProps } from './NavigationEvents';
5
2
  export { NavigationEvents } from './NavigationEvents';
6
3
  export { PrivacyFooterLinks } from './PrivacyFooterLinks';
7
4
  export { TrustCommanderScript } from './TrustCommanderScript';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1,4 +1,3 @@
1
- export { AhoyTracking } from './AhoyTracking';
2
1
  export { ClarityScript } from './ClarityScript';
3
2
  export { NavigationEvents } from './NavigationEvents';
4
3
  export { PrivacyFooterLinks } from './PrivacyFooterLinks';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
package/dist/context.d.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  import type { BrightlineSharedConfig } from './config';
2
- export interface BrightlineConfigProviderProps {
2
+ interface BrightlineConfigProviderProps {
3
3
  config: BrightlineSharedConfig | undefined | null;
4
4
  children: React.ReactNode;
5
5
  }
6
6
  export declare function BrightlineConfigProvider({ config, children }: BrightlineConfigProviderProps): import("react/jsx-runtime").JSX.Element;
7
7
  export declare function useBrightlineConfig(): BrightlineSharedConfig | undefined;
8
+ export {};
8
9
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAIvD,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,sBAAsB,GAAG,SAAS,GAAG,IAAI,CAAC;IAClD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,wBAAwB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,6BAA6B,2CAM3F;AAED,wBAAgB,mBAAmB,IAAI,sBAAsB,GAAG,SAAS,CAExE"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAIvD,UAAU,6BAA6B;IACrC,MAAM,EAAE,sBAAsB,GAAG,SAAS,GAAG,IAAI,CAAC;IAClD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,wBAAwB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,6BAA6B,2CAM3F;AAED,wBAAgB,mBAAmB,IAAI,sBAAsB,GAAG,SAAS,CAExE"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  export { createBrightlineAnalyticsAdapter } from './adapters/BrightlineAnalyticsAdapter';
2
- export type { AhoyTrackingProps, NavigationEventsProps } from './components';
3
- export { AhoyTracking, ClarityScript, NavigationEvents, PrivacyFooterLinks, TrustCommanderScript, } from './components';
2
+ export { ClarityScript, NavigationEvents, PrivacyFooterLinks, TrustCommanderScript, } from './components';
4
3
  export type { BrightlineSharedConfig } from './config';
5
4
  export type { ConsentCategory, ConsentChangeListener, OursConsentChangeCallback, OursConsentObject, } from './consent';
6
5
  export { getAcceptedCategories, isAdvertisingAllowed, isCategoryAccepted, isOursCMPLoaded, isTrackingAllowed, onConsentReady, waitForOursCMP, } from './consent';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AACzF,YAAY,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE7E,OAAO,EACL,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AACvD,YAAY,EACV,eAAe,EACf,qBAAqB,EACrB,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,cAAc,GACf,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,QAAQ,CAAC;AACtD,YAAY,EACV,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,0BAA0B,EAC1B,0BAA0B,EAC1B,cAAc,EACd,aAAa,EACb,WAAW,EACX,2BAA2B,EAC3B,4BAA4B,EAC5B,gBAAgB,EAChB,yCAAyC,GAC1C,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AAEzF,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AACvD,YAAY,EACV,eAAe,EACf,qBAAqB,EACrB,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,cAAc,GACf,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,QAAQ,CAAC;AACtD,YAAY,EACV,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,0BAA0B,EAC1B,0BAA0B,EAC1B,cAAc,EACd,aAAa,EACb,WAAW,EACX,2BAA2B,EAC3B,4BAA4B,EAC5B,gBAAgB,EAChB,yCAAyC,GAC1C,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { createBrightlineAnalyticsAdapter } from './adapters/BrightlineAnalyticsAdapter';
2
- export { AhoyTracking, ClarityScript, NavigationEvents, PrivacyFooterLinks, TrustCommanderScript, } from './components';
2
+ export { ClarityScript, NavigationEvents, PrivacyFooterLinks, TrustCommanderScript, } from './components';
3
3
  export { getAcceptedCategories, isAdvertisingAllowed, isCategoryAccepted, isOursCMPLoaded, isTrackingAllowed, onConsentReady, waitForOursCMP, } from './consent';
4
4
  export { BrightlineConfigProvider, useBrightlineConfig } from './context';
5
5
  export { initializeBrightlineTracking } from './init';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AAGzF,OAAO,EACL,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAQtB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,cAAc,GACf,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,QAAQ,CAAC;AAMtD,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,0BAA0B,EAC1B,0BAA0B,EAC1B,cAAc,EACd,aAAa,EACb,WAAW,EACX,2BAA2B,EAC3B,4BAA4B,EAC5B,gBAAgB,EAChB,yCAAyC,GAC1C,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AAEzF,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAQtB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,cAAc,GACf,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,QAAQ,CAAC;AAMtD,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,0BAA0B,EAC1B,0BAA0B,EAC1B,cAAc,EACd,aAAa,EACb,WAAW,EACX,2BAA2B,EAC3B,4BAA4B,EAC5B,gBAAgB,EAChB,yCAAyC,GAC1C,MAAM,YAAY,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@se-studio/brightline-shared",
3
- "version": "1.0.5",
3
+ "version": "1.0.8",
4
4
  "description": "Shared components and logic for Brightline and Brightlife Kids",
5
5
  "repository": {
6
6
  "type": "git",
@@ -15,7 +15,8 @@
15
15
  ".": {
16
16
  "types": "./dist/index.d.ts",
17
17
  "import": "./dist/index.js"
18
- }
18
+ },
19
+ "./consent/oursprivacy.css": "./src/consent/oursprivacy.css"
19
20
  },
20
21
  "files": [
21
22
  "dist"
@@ -29,13 +30,10 @@
29
30
  "@microsoft/clarity": "^1.0.2",
30
31
  "@oursprivacy/cdp-sdk": "^1.0.1",
31
32
  "@segment/analytics-next": "^1.81.1",
32
- "ahoy.js": "^0.4.4",
33
- "@se-studio/core-data-types": "1.0.68",
34
- "@se-studio/core-ui": "1.0.68"
33
+ "@se-studio/core-ui": "1.0.71"
35
34
  },
36
35
  "devDependencies": {
37
36
  "@biomejs/biome": "^2.3.15",
38
- "@types/ahoy.js": "^0.4.2",
39
37
  "@types/node": "^22.19.11",
40
38
  "@types/react": "^19.2.14",
41
39
  "@types/react-dom": "^19.2.3",
@@ -1,5 +0,0 @@
1
- export interface AhoyTrackingProps {
2
- isEnterprisePage?: boolean;
3
- }
4
- export declare const AhoyTracking: React.FC<AhoyTrackingProps>;
5
- //# sourceMappingURL=AhoyTracking.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AhoyTracking.d.ts","sourceRoot":"","sources":["../../src/components/AhoyTracking.tsx"],"names":[],"mappings":"AA+BA,MAAM,WAAW,iBAAiB;IAEhC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAwDpD,CAAC"}
@@ -1,81 +0,0 @@
1
- 'use client';
2
- import { usePathname } from 'next/navigation';
3
- import { useEffect, useState } from 'react';
4
- import { isCategoryAccepted, onConsentReady } from '../consent';
5
- const enabled = process.env.NEXT_PUBLIC_AHOY_ENABLED === 'true';
6
- const apiUrl = process.env.NEXT_PUBLIC_AHOY_API_URL;
7
- const debugEnabled = process.env.NEXT_PUBLIC_AHOY_DEBUG === 'true';
8
- async function loadAhoy() {
9
- const ahoyModule = await import('ahoy.js');
10
- const ahoy = ahoyModule.default;
11
- ahoy.configure({
12
- urlPrefix: '',
13
- visitsUrl: `${apiUrl}/ahoy/visits`,
14
- eventsUrl: `${apiUrl}/ahoy/events`,
15
- platform: 'Homepage',
16
- useBeacon: true,
17
- startOnReady: true,
18
- trackVisits: true,
19
- cookies: true,
20
- cookieDomain: process.env.NEXT_PUBLIC_AHOY_COOKIE_DOMAIN,
21
- withCredentials: true,
22
- visitParams: {},
23
- visitDuration: 60,
24
- });
25
- return ahoy;
26
- }
27
- export const AhoyTracking = ({ isEnterprisePage = false }) => {
28
- const pathname = usePathname();
29
- const [ahoyClient, setAhoyClient] = useState();
30
- const [consentGranted, setConsentGranted] = useState(isCategoryAccepted('analytics'));
31
- useEffect(() => {
32
- const unsubscribe = onConsentReady((categories) => {
33
- setConsentGranted(categories.includes('analytics'));
34
- });
35
- return unsubscribe;
36
- }, []);
37
- useEffect(() => {
38
- if (!consentGranted || !enabled || !apiUrl) {
39
- return;
40
- }
41
- loadAhoy()
42
- .then((ahoy) => setAhoyClient(ahoy))
43
- .catch((error) => {
44
- console.error('Failed to load ahoy', error);
45
- });
46
- }, [consentGranted]);
47
- useEffect(() => {
48
- if (!consentGranted || !enabled || !ahoyClient) {
49
- return;
50
- }
51
- try {
52
- ahoyClient.start();
53
- if (debugEnabled) {
54
- ahoyClient.debug();
55
- }
56
- ahoyClient.trackView();
57
- ahoyClient.trackClicks('a, button, input[type=submit]');
58
- ahoyClient.trackSubmits('form');
59
- }
60
- catch (error) {
61
- console.error('Error configuring ahoy', error);
62
- }
63
- }, [consentGranted, ahoyClient]);
64
- useEffect(() => {
65
- if (!consentGranted || !enabled || !ahoyClient || !isEnterprisePage) {
66
- return;
67
- }
68
- try {
69
- const searchParams = new URLSearchParams(window.location.search);
70
- ahoyClient.track('MarketingLandingPage:Viewed', {
71
- query_parameters: searchParams,
72
- page_slug: pathname,
73
- });
74
- }
75
- catch (error) {
76
- console.error('Failed to report enterprise page', error);
77
- }
78
- }, [consentGranted, pathname, ahoyClient, isEnterprisePage]);
79
- return null;
80
- };
81
- //# sourceMappingURL=AhoyTracking.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AhoyTracking.js","sourceRoot":"","sources":["../../src/components/AhoyTracking.tsx"],"names":[],"mappings":"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"}