@digia-engage/core 2.0.0 → 2.0.2

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 (55) hide show
  1. package/README.md +38 -5
  2. package/android/build.gradle +2 -1
  3. package/android/local.properties +1 -1
  4. package/android/src/main/java/com/digia/engage/rn/DigiaAnchorViewManager.kt +67 -43
  5. package/ios/DigiaAnchorViewManager.swift +51 -27
  6. package/ios/DigiaEngageModule.m +7 -11
  7. package/ios/DigiaModule.swift +57 -90
  8. package/lib/commonjs/Digia.js +14 -2
  9. package/lib/commonjs/Digia.js.map +1 -1
  10. package/lib/commonjs/DigiaAnchorView.js +47 -41
  11. package/lib/commonjs/DigiaAnchorView.js.map +1 -1
  12. package/lib/commonjs/DigiaProvider.js +0 -2
  13. package/lib/commonjs/DigiaProvider.js.map +1 -1
  14. package/lib/commonjs/NativeDigiaEngage.js +0 -6
  15. package/lib/commonjs/NativeDigiaEngage.js.map +1 -1
  16. package/lib/commonjs/actionHandler.js +11 -0
  17. package/lib/commonjs/actionHandler.js.map +1 -1
  18. package/lib/commonjs/index.js +26 -0
  19. package/lib/commonjs/index.js.map +1 -1
  20. package/lib/module/Digia.js +14 -2
  21. package/lib/module/Digia.js.map +1 -1
  22. package/lib/module/DigiaAnchorView.js +47 -42
  23. package/lib/module/DigiaAnchorView.js.map +1 -1
  24. package/lib/module/DigiaProvider.js +0 -2
  25. package/lib/module/DigiaProvider.js.map +1 -1
  26. package/lib/module/NativeDigiaEngage.js +0 -6
  27. package/lib/module/NativeDigiaEngage.js.map +1 -1
  28. package/lib/module/actionHandler.js +11 -0
  29. package/lib/module/actionHandler.js.map +1 -1
  30. package/lib/module/index.js +2 -0
  31. package/lib/module/index.js.map +1 -1
  32. package/lib/typescript/Digia.d.ts +1 -0
  33. package/lib/typescript/Digia.d.ts.map +1 -1
  34. package/lib/typescript/DigiaAnchorView.d.ts +4 -20
  35. package/lib/typescript/DigiaAnchorView.d.ts.map +1 -1
  36. package/lib/typescript/DigiaProvider.d.ts.map +1 -1
  37. package/lib/typescript/NativeDigiaEngage.d.ts +7 -4
  38. package/lib/typescript/NativeDigiaEngage.d.ts.map +1 -1
  39. package/lib/typescript/actionHandler.d.ts +1 -0
  40. package/lib/typescript/actionHandler.d.ts.map +1 -1
  41. package/lib/typescript/index.d.ts +4 -1
  42. package/lib/typescript/index.d.ts.map +1 -1
  43. package/lib/typescript/templateTypes.d.ts +6 -0
  44. package/lib/typescript/templateTypes.d.ts.map +1 -1
  45. package/lib/typescript/types.d.ts +4 -0
  46. package/lib/typescript/types.d.ts.map +1 -1
  47. package/package.json +2 -2
  48. package/src/Digia.ts +17 -1
  49. package/src/DigiaAnchorView.tsx +36 -39
  50. package/src/DigiaProvider.tsx +0 -2
  51. package/src/NativeDigiaEngage.ts +4 -14
  52. package/src/actionHandler.ts +6 -0
  53. package/src/index.ts +13 -1
  54. package/src/templateTypes.ts +7 -7
  55. package/src/types.ts +2 -1
@@ -1,25 +1,9 @@
1
- /**
2
- * DigiaAnchorView
3
- *
4
- * Registers a native Android DigiaAnchorView (FrameLayout) in AnchorRegistry by anchorKey.
5
- * When a SHOW_TOOLTIP or SHOW_SPOTLIGHT campaign fires, the native SDK looks up this view
6
- * via AnchorRegistry and uses getLocationOnScreen() for accurate pixel-perfect coordinates.
7
- *
8
- * Also reports layout into the JS digiaAnchorRegistry so JS-rendered guides (tooltip/spotlight)
9
- * can position themselves relative to this anchor.
10
- *
11
- * Usage:
12
- * <DigiaAnchorView anchorKey="pdp_add_to_cart" style={{ alignSelf: 'flex-start' }}>
13
- * <TouchableOpacity ...>Add to Cart</TouchableOpacity>
14
- * </DigiaAnchorView>
15
- */
16
1
  import React from 'react';
17
- import { type ViewProps } from 'react-native';
18
- interface DigiaAnchorViewProps extends ViewProps {
2
+ import type { ViewProps } from 'react-native';
3
+ interface Props extends ViewProps {
19
4
  anchorKey: string;
20
- /** Corner radius in dp — used to round the spotlight cutout to match the wrapped button. */
21
- cornerRadius?: number;
5
+ children?: React.ReactNode;
22
6
  }
23
- export declare const DigiaAnchorView: ({ anchorKey, onLayout, ...rest }: DigiaAnchorViewProps) => React.JSX.Element;
7
+ export declare function DigiaAnchorView({ anchorKey, children, style, ...rest }: Props): React.JSX.Element;
24
8
  export {};
25
9
  //# sourceMappingURL=DigiaAnchorView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DigiaAnchorView.d.ts","sourceRoot":"","sources":["../../src/DigiaAnchorView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAO,EAAgC,KAAK,SAAS,EAA0B,MAAM,cAAc,CAAC;AAGpG,UAAU,oBAAqB,SAAQ,SAAS;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,4FAA4F;IAC5F,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAID,eAAO,MAAM,eAAe,GAAI,kCAAkC,oBAAoB,sBAqBrF,CAAC"}
1
+ {"version":3,"file":"DigiaAnchorView.d.ts","sourceRoot":"","sources":["../../src/DigiaAnchorView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAE9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C,UAAU,KAAM,SAAQ,SAAS;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B;AAED,wBAAgB,eAAe,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,KAAK,qBAc7E"}
@@ -1 +1 @@
1
- {"version":3,"file":"DigiaProvider.d.ts","sourceRoot":"","sources":["../../src/DigiaProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AA0uBxE,wBAAgB,SAAS,sBAExB"}
1
+ {"version":3,"file":"DigiaProvider.d.ts","sourceRoot":"","sources":["../../src/DigiaProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAwuBxE,wBAAgB,SAAS,sBAExB"}
@@ -38,12 +38,15 @@ export interface Spec extends TurboModule {
38
38
  triggerCampaign(id: string, content: Object, cepContext: Object): void;
39
39
  /** Invalidate / dismiss a campaign by its ID. */
40
40
  invalidateCampaign(campaignId: string): void;
41
- /** Register an anchor element position for tooltip/spotlight targeting. */
41
+ /** Register a UI element as an anchor point for Guide experiences. */
42
42
  registerAnchor(key: string, x: number, y: number, width: number, height: number): void;
43
- /** Remove a previously registered anchor. */
44
43
  unregisterAnchor(key: string): void;
45
- /** Return all component keys registered with the native SDK. */
46
- getRegisteredComponents(): Promise<string[]>;
44
+ /** Return all registered components (anchors/slots) for health reporting. */
45
+ getRegisteredComponents(): Promise<Array<{
46
+ component_key: string;
47
+ component_type: 'anchor' | 'slot';
48
+ screen_name: string | null;
49
+ }>>;
47
50
  }
48
51
  export declare const nativeDigiaModule: Spec;
49
52
  //# sourceMappingURL=NativeDigiaEngage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NativeDigiaEngage.d.ts","sourceRoot":"","sources":["../../src/NativeDigiaEngage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD;;;;;;;GAOG;AACH,MAAM,WAAW,IAAK,SAAQ,WAAW;IACrC,0DAA0D;IAC1D,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3H;;;;OAIG;IACH,cAAc,IAAI,IAAI,CAAC;IAEvB,sDAAsD;IACtD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAErC;;;OAGG;IACH,eAAe,CACX,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACnB,IAAI,CAAC;IAER,iDAAiD;IACjD,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7C,2EAA2E;IAC3E,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvF,6CAA6C;IAC7C,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpC,gEAAgE;IAChE,uBAAuB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAEhD;AA8BD,eAAO,MAAM,iBAAiB,EAAE,IAY/B,CAAC"}
1
+ {"version":3,"file":"NativeDigiaEngage.d.ts","sourceRoot":"","sources":["../../src/NativeDigiaEngage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD;;;;;;;GAOG;AACH,MAAM,WAAW,IAAK,SAAQ,WAAW;IACrC,0DAA0D;IAC1D,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3H;;;;OAIG;IACH,cAAc,IAAI,IAAI,CAAC;IAEvB,sDAAsD;IACtD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAErC;;;OAGG;IACH,eAAe,CACX,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACnB,IAAI,CAAC;IAER,iDAAiD;IACjD,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7C,sEAAsE;IACtE,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACvF,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpC,6EAA6E;IAC7E,uBAAuB,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,QAAQ,GAAG,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC,CAAC;CACvI;AAuBD,eAAO,MAAM,iBAAiB,EAAE,IAY/B,CAAC"}
@@ -10,6 +10,7 @@ type ActionHandlerConfig = {
10
10
  onAction?: OnAction;
11
11
  routeViaSystemLinking: boolean;
12
12
  inAppBrowser?: InAppBrowserAdapter;
13
+ onFireEvent?: (eventName: string, properties?: Record<string, unknown>, context?: ActionContext) => void;
13
14
  };
14
15
  export declare const toDigiaAction: (action: Action) => DigiaAction;
15
16
  export declare const digiaActionHandler: {
@@ -1 +1 @@
1
- {"version":3,"file":"actionHandler.d.ts","sourceRoot":"","sources":["../../src/actionHandler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAK9C,MAAM,MAAM,eAAe,GAAG;IAC1B,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,IAAI,CAAC;CAC5B,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACtC,CAAC;AAyCF,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,KAAG,WAS9C,CAAC;AA6LF,eAAO,MAAM,kBAAkB;wBAjCJ,OAAO,CAAC,mBAAmB,CAAC,KAAG,IAAI;4BAK5C,MAAM,WACX,aAAa,aACX,eAAe,KAC3B,OAAO,CAAC,IAAI,CAAC;CAyBwC,CAAC"}
1
+ {"version":3,"file":"actionHandler.d.ts","sourceRoot":"","sources":["../../src/actionHandler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAK9C,MAAM,MAAM,eAAe,GAAG;IAC1B,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,IAAI,CAAC;CAC5B,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;CAC5G,CAAC;AAyCF,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,KAAG,WAU9C,CAAC;AAiMF,eAAO,MAAM,kBAAkB;wBAjCJ,OAAO,CAAC,mBAAmB,CAAC,KAAG,IAAI;4BAK5C,MAAM,WACX,aAAa,aACX,eAAe,KAC3B,OAAO,CAAC,IAAI,CAAC;CAyBwC,CAAC"}
@@ -13,5 +13,8 @@ export { DigiaHostView } from './DigiaHostView';
13
13
  export { DigiaHost } from './DigiaProvider';
14
14
  export { DigiaSlotView } from './DigiaSlotView';
15
15
  export { DigiaAnchorView } from './DigiaAnchorView';
16
- export type { DigiaConfig, DigiaDelegate, DigiaExperienceEvent, DigiaPlugin, InAppPayload } from './types';
16
+ export type { ActionContext, ActionResult, CampaignType, DigiaAction, DigiaConfig, DigiaDelegate, DigiaExperienceEvent, DigiaPlugin, InAppBrowserAdapter, InAppPayload, OnAction } from './types';
17
+ export { defaultInAppBrowser } from './defaultInAppBrowser';
18
+ export { DigiaHealthReporter, HealthEventType, digiaHealthReporter } from './DigiaHealthReporter';
19
+ export type { Action, CarouselConfig, SpotlightConfig, SpotlightStep, SurveyTemplateConfig, TemplateConfig, TooltipConfig, TooltipStep, } from './templateTypes';
17
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,oBAAoB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,oBAAoB,EAAE,WAAW,EAAE,mBAAmB,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAClM,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAClG,YAAY,EACR,MAAM,EACN,cAAc,EACd,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,WAAW,GACd,MAAM,iBAAiB,CAAC"}
@@ -27,6 +27,12 @@ export type Action = {
27
27
  style: 'primary' | 'secondary' | 'ghost';
28
28
  url: string;
29
29
  presentation: 'external' | 'in_app';
30
+ } | {
31
+ type: 'fire_event';
32
+ label: string;
33
+ style: 'primary' | 'secondary' | 'ghost';
34
+ event_name: string;
35
+ properties?: Record<string, unknown>;
30
36
  };
31
37
  export type TooltipStep = {
32
38
  anchorKey: string;
@@ -1 +1 @@
1
- {"version":3,"file":"templateTypes.d.ts","sourceRoot":"","sources":["../../src/templateTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templateTypes.d.ts","sourceRoot":"","sources":["../../src/templateTypes.ts"],"names":[],"mappings":"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"}
@@ -144,6 +144,10 @@ export type DigiaAction = {
144
144
  type: 'next';
145
145
  } | {
146
146
  type: 'back';
147
+ } | {
148
+ type: 'fire_event';
149
+ event_name: string;
150
+ properties?: Record<string, unknown>;
147
151
  };
148
152
  export type ActionContext = {
149
153
  campaign_id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digia-engage/core",
3
- "version": "2.0.0",
3
+ "version": "2.0.2",
4
4
  "description": "React Native bridge for Digia Engage – renders native Android Compose UI inside React Native apps",
5
5
  "main": "src/index.ts",
6
6
  "module": "src/index.ts",
@@ -89,4 +89,4 @@
89
89
  "javaPackageName": "com.digia.engage.rn"
90
90
  }
91
91
  }
92
- }
92
+ }
package/src/Digia.ts CHANGED
@@ -24,6 +24,7 @@ import uuid from 'react-native-uuid';
24
24
  import { frequencyStore } from './frequencyStore';
25
25
  import { evaluate, hasPolicy, isSessionPolicy } from './frequencyEvaluator';
26
26
  import type {
27
+ ActionContext,
27
28
  CampaignType,
28
29
  DigiaConfig,
29
30
  DigiaDelegate,
@@ -86,6 +87,8 @@ class DigiaClass implements DigiaDelegate {
86
87
  onAction: config.onAction,
87
88
  routeViaSystemLinking: config.linking?.routeViaSystemLinking ?? true,
88
89
  inAppBrowser: config.linking?.inAppBrowser,
90
+ onFireEvent: (eventName, properties, context) =>
91
+ this._fireCustomEvent(eventName, properties, context),
89
92
  });
90
93
 
91
94
  try {
@@ -285,6 +288,19 @@ class DigiaClass implements DigiaDelegate {
285
288
  );
286
289
  }
287
290
 
291
+ private _fireCustomEvent(
292
+ eventName: string,
293
+ properties?: Record<string, unknown>,
294
+ context?: ActionContext,
295
+ ): void {
296
+ const payload = context ? this._activePayloads.get(context.campaign_id) : null;
297
+ if (payload) {
298
+ const event: DigiaExperienceEvent = { type: 'clicked', elementId: eventName };
299
+ this._plugins.forEach((plugin) => plugin.notifyEvent(event, payload));
300
+ }
301
+ // TODO: record custom event to Digia analytics endpoint when available
302
+ }
303
+
288
304
  private _forwardExperienceEvent(
289
305
  data: { campaignId: string; type: string; elementId?: string },
290
306
  ): void {
@@ -590,7 +606,7 @@ class DigiaClass implements DigiaDelegate {
590
606
  private _log(message: string): void {
591
607
  if (this._logLevel !== 'verbose') return;
592
608
  // eslint-disable-next-line no-console
593
- // console.log(`[Digia] ${message}`);
609
+ console.log(`[Digia] ${message}`);
594
610
  }
595
611
 
596
612
  }
@@ -1,50 +1,47 @@
1
- /**
2
- * DigiaAnchorView
3
- *
4
- * Registers a native Android DigiaAnchorView (FrameLayout) in AnchorRegistry by anchorKey.
5
- * When a SHOW_TOOLTIP or SHOW_SPOTLIGHT campaign fires, the native SDK looks up this view
6
- * via AnchorRegistry and uses getLocationOnScreen() for accurate pixel-perfect coordinates.
7
- *
8
- * Also reports layout into the JS digiaAnchorRegistry so JS-rendered guides (tooltip/spotlight)
9
- * can position themselves relative to this anchor.
10
- *
11
- * Usage:
12
- * <DigiaAnchorView anchorKey="pdp_add_to_cart" style={{ alignSelf: 'flex-start' }}>
13
- * <TouchableOpacity ...>Add to Cart</TouchableOpacity>
14
- * </DigiaAnchorView>
15
- */
16
-
17
- import React, { useCallback, useRef } from 'react';
18
- import { requireNativeComponent, View, type ViewProps, type LayoutChangeEvent } from 'react-native';
1
+ import React, { useCallback, useEffect, useRef } from 'react';
2
+ import { View } from 'react-native';
3
+ import type { ViewProps } from 'react-native';
4
+ import { Digia } from './Digia';
5
+ import { nativeDigiaModule } from './NativeDigiaEngage';
19
6
  import { digiaAnchorRegistry } from './digiaAnchorRegistry';
20
7
 
21
- interface DigiaAnchorViewProps extends ViewProps {
8
+ interface Props extends ViewProps {
22
9
  anchorKey: string;
23
- /** Corner radius in dp — used to round the spotlight cutout to match the wrapped button. */
24
- cornerRadius?: number;
10
+ children?: React.ReactNode;
25
11
  }
26
12
 
27
- const NativeDigiaAnchorView = requireNativeComponent<DigiaAnchorViewProps>('DigiaAnchorView');
13
+ export function DigiaAnchorView({ anchorKey, children, style, ...rest }: Props) {
14
+ useEffect(() => {
15
+ Digia.registerAnchor(anchorKey);
16
+ return () => {
17
+ Digia.unregisterAnchor(anchorKey);
18
+ digiaAnchorRegistry.remove(anchorKey);
19
+ };
20
+ }, [anchorKey]);
28
21
 
29
- export const DigiaAnchorView = ({ anchorKey, onLayout, ...rest }: DigiaAnchorViewProps) => {
30
- const viewRef = useRef<View>(null);
22
+ return (
23
+ <JsMeasureAnchor anchorKey={anchorKey} style={style} {...rest}>
24
+ {children}
25
+ </JsMeasureAnchor>
26
+ );
27
+ }
31
28
 
32
- const handleLayout = useCallback((e: LayoutChangeEvent) => {
33
- onLayout?.(e);
34
- // Use measure() for absolute screen coordinates (onLayout gives relative coords)
35
- viewRef.current?.measure((_x, _y, width, height, pageX, pageY) => {
36
- if (width > 0 && height > 0) {
37
- digiaAnchorRegistry.setLayout(anchorKey, { pageX, pageY, width, height });
38
- }
29
+ function JsMeasureAnchor({ anchorKey, children, style, ...rest }: Props) {
30
+ const ref = useRef<View>(null);
31
+
32
+ const measure = useCallback(() => {
33
+ ref.current?.measure((_x, _y, width, height, pageX, pageY) => {
34
+ if (width === 0 && height === 0) return;
35
+ nativeDigiaModule.registerAnchor(anchorKey, Math.round(pageX), Math.round(pageY), Math.round(width), Math.round(height));
36
+ digiaAnchorRegistry.setLayout(anchorKey, { pageX, pageY, width, height });
39
37
  });
40
- }, [anchorKey, onLayout]);
38
+ }, [anchorKey]);
39
+
40
+ useEffect(() => () => { nativeDigiaModule.unregisterAnchor(anchorKey); }, [anchorKey]);
41
41
 
42
42
  return (
43
- <NativeDigiaAnchorView
44
- ref={viewRef as any}
45
- anchorKey={anchorKey}
46
- onLayout={handleLayout}
47
- {...rest}
48
- />
43
+ <View ref={ref} onLayout={measure} style={style} {...rest}>
44
+ {children}
45
+ </View>
49
46
  );
50
- };
47
+ }
@@ -221,9 +221,7 @@ function TooltipOverlay({
221
221
  useEffect(() => {
222
222
  setLayout(null);
223
223
  setFloatPos(null);
224
- // if (__DEV__) console.log(`[Digia] guide waiting for anchor key="${step.anchorKey}"`);
225
224
  return digiaAnchorRegistry.subscribe(step.anchorKey, (l) => {
226
- // if (__DEV__) console.log(`[Digia] anchor resolved key="${step.anchorKey}"`, l);
227
225
  setLayout(l);
228
226
  });
229
227
  }, [step.anchorKey]);
@@ -49,24 +49,14 @@ export interface Spec extends TurboModule {
49
49
  /** Invalidate / dismiss a campaign by its ID. */
50
50
  invalidateCampaign(campaignId: string): void;
51
51
 
52
- /** Register an anchor element position for tooltip/spotlight targeting. */
52
+ /** Register a UI element as an anchor point for Guide experiences. */
53
53
  registerAnchor(key: string, x: number, y: number, width: number, height: number): void;
54
-
55
- /** Remove a previously registered anchor. */
56
54
  unregisterAnchor(key: string): void;
57
55
 
58
- /** Return all component keys registered with the native SDK. */
59
- getRegisteredComponents(): Promise<string[]>;
60
-
56
+ /** Return all registered components (anchors/slots) for health reporting. */
57
+ getRegisteredComponents(): Promise<Array<{ component_key: string; component_type: 'anchor' | 'slot'; screen_name: string | null }>>;
61
58
  }
62
59
 
63
-
64
- // Try TurboModuleRegistry first (New Architecture / JSI).
65
- // Fall back to NativeModules (bridge interop layer — enabled by default in
66
- // RN 0.73+ New Architecture when the module is registered with
67
- // isTurboModule: false in ReactModuleInfo).
68
- // If neither resolves, warn in DEV and use no-op stubs so non-Android
69
- // environments (web, Storybook) don't crash.
70
60
  let _resolved: Spec | null = null;
71
61
  let _didResolve = false;
72
62
 
@@ -100,4 +90,4 @@ export const nativeDigiaModule: Spec = {
100
90
  unregisterAnchor: (key) => getModule()?.unregisterAnchor(key),
101
91
  getRegisteredComponents: () => getModule()?.getRegisteredComponents() ?? Promise.resolve([]),
102
92
  getConstants: () => getModule()?.getConstants?.() ?? {},
103
- };
93
+ };
@@ -16,6 +16,7 @@ type ActionHandlerConfig = {
16
16
  onAction?: OnAction;
17
17
  routeViaSystemLinking: boolean;
18
18
  inAppBrowser?: InAppBrowserAdapter;
19
+ onFireEvent?: (eventName: string, properties?: Record<string, unknown>, context?: ActionContext) => void;
19
20
  };
20
21
 
21
22
  // ─── Internal state ───────────────────────────────────────────────────────────
@@ -65,6 +66,7 @@ export const toDigiaAction = (action: Action): DigiaAction => {
65
66
  case 'prev': return { type: 'back' };
66
67
  case 'deep_link': return { type: 'deep_link', url: action.url, fallback_url: action.fallback_url };
67
68
  case 'open_url': return { type: 'open_url', url: action.url, presentation: action.presentation };
69
+ case 'fire_event': return { type: 'fire_event', event_name: action.event_name, properties: action.properties };
68
70
  }
69
71
  };
70
72
 
@@ -217,6 +219,10 @@ async function runDefault(
217
219
  return;
218
220
  }
219
221
 
222
+ case 'fire_event': {
223
+ _config.onFireEvent?.(action.event_name, action.properties, context);
224
+ return;
225
+ }
220
226
  }
221
227
  }
222
228
 
package/src/index.ts CHANGED
@@ -14,4 +14,16 @@ export { DigiaHostView } from './DigiaHostView';
14
14
  export { DigiaHost } from './DigiaProvider';
15
15
  export { DigiaSlotView } from './DigiaSlotView';
16
16
  export { DigiaAnchorView } from './DigiaAnchorView';
17
- export type { DigiaConfig, DigiaDelegate, DigiaExperienceEvent, DigiaPlugin, InAppPayload } from './types';
17
+ export type { ActionContext, ActionResult, CampaignType, DigiaAction, DigiaConfig, DigiaDelegate, DigiaExperienceEvent, DigiaPlugin, InAppBrowserAdapter, InAppPayload, OnAction } from './types';
18
+ export { defaultInAppBrowser } from './defaultInAppBrowser';
19
+ export { DigiaHealthReporter, HealthEventType, digiaHealthReporter } from './DigiaHealthReporter';
20
+ export type {
21
+ Action,
22
+ CarouselConfig,
23
+ SpotlightConfig,
24
+ SpotlightStep,
25
+ SurveyTemplateConfig,
26
+ TemplateConfig,
27
+ TooltipConfig,
28
+ TooltipStep,
29
+ } from './templateTypes';
@@ -1,11 +1,11 @@
1
1
  export type Action =
2
- | { type: 'dismiss'; label: string; style: 'primary' | 'secondary' | 'ghost'; scope?: 'self' | 'all' }
3
- | { type: 'next'; label: string; style: 'primary' | 'secondary' | 'ghost' }
4
- | { type: 'back'; label: string; style: 'primary' | 'secondary' | 'ghost' }
5
- | { type: 'prev'; label: string; style: 'primary' | 'secondary' | 'ghost' }
6
- | { type: 'deep_link'; label: string; style: 'primary' | 'secondary' | 'ghost'; url: string; fallback_url?: string }
7
- | { type: 'open_url'; label: string; style: 'primary' | 'secondary' | 'ghost'; url: string; presentation: 'external' | 'in_app' }
8
-
2
+ | { type: 'dismiss'; label: string; style: 'primary' | 'secondary' | 'ghost'; scope?: 'self' | 'all' }
3
+ | { type: 'next'; label: string; style: 'primary' | 'secondary' | 'ghost' }
4
+ | { type: 'back'; label: string; style: 'primary' | 'secondary' | 'ghost' }
5
+ | { type: 'prev'; label: string; style: 'primary' | 'secondary' | 'ghost' }
6
+ | { type: 'deep_link'; label: string; style: 'primary' | 'secondary' | 'ghost'; url: string; fallback_url?: string }
7
+ | { type: 'open_url'; label: string; style: 'primary' | 'secondary' | 'ghost'; url: string; presentation: 'external' | 'in_app' }
8
+ | { type: 'fire_event'; label: string; style: 'primary' | 'secondary' | 'ghost'; event_name: string; properties?: Record<string, unknown> }
9
9
 
10
10
  export type TooltipStep = {
11
11
  anchorKey: string
package/src/types.ts CHANGED
@@ -110,7 +110,8 @@ export type DigiaAction =
110
110
  | { type: 'open_url'; url: string; presentation: 'external' | 'in_app' }
111
111
  | { type: 'dismiss'; scope?: 'self' | 'all' }
112
112
  | { type: 'next' }
113
- | { type: 'back' };
113
+ | { type: 'back' }
114
+ | { type: 'fire_event'; event_name: string; properties?: Record<string, unknown> };
114
115
 
115
116
  export type ActionContext = {
116
117
  campaign_id: string;