@builder.io/sdk-react-native 5.1.0 → 5.2.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.
Files changed (155) hide show
  1. package/lib/browser/commonjs/blocks/symbol/symbol.helpers.js +1 -1
  2. package/lib/browser/commonjs/blocks/symbol/symbol.helpers.js.map +1 -1
  3. package/lib/browser/commonjs/blocks/symbol/symbol.js +4 -4
  4. package/lib/browser/commonjs/blocks/symbol/symbol.js.map +1 -1
  5. package/lib/browser/commonjs/components/block/components/block-wrapper.js +8 -1
  6. package/lib/browser/commonjs/components/block/components/block-wrapper.js.map +1 -1
  7. package/lib/browser/commonjs/components/block/components/interactive-element.js +8 -1
  8. package/lib/browser/commonjs/components/block/components/interactive-element.js.map +1 -1
  9. package/lib/browser/commonjs/constants/sdk-version.js +1 -1
  10. package/lib/browser/commonjs/functions/evaluate/evaluate.js +3 -2
  11. package/lib/browser/commonjs/functions/evaluate/evaluate.js.map +1 -1
  12. package/lib/browser/commonjs/functions/evaluate/helpers.js +21 -2
  13. package/lib/browser/commonjs/functions/evaluate/helpers.js.map +1 -1
  14. package/lib/browser/commonjs/functions/get-block-actions-handler.js +2 -1
  15. package/lib/browser/commonjs/functions/get-block-actions-handler.js.map +1 -1
  16. package/lib/browser/commonjs/functions/get-block-actions.js.map +1 -1
  17. package/lib/browser/module/blocks/symbol/symbol.helpers.js +1 -1
  18. package/lib/browser/module/blocks/symbol/symbol.helpers.js.map +1 -1
  19. package/lib/browser/module/blocks/symbol/symbol.js +4 -4
  20. package/lib/browser/module/blocks/symbol/symbol.js.map +1 -1
  21. package/lib/browser/module/components/block/components/block-wrapper.js +8 -1
  22. package/lib/browser/module/components/block/components/block-wrapper.js.map +1 -1
  23. package/lib/browser/module/components/block/components/interactive-element.js +8 -1
  24. package/lib/browser/module/components/block/components/interactive-element.js.map +1 -1
  25. package/lib/browser/module/constants/sdk-version.js +1 -1
  26. package/lib/browser/module/functions/evaluate/evaluate.js +3 -2
  27. package/lib/browser/module/functions/evaluate/evaluate.js.map +1 -1
  28. package/lib/browser/module/functions/evaluate/helpers.js +21 -2
  29. package/lib/browser/module/functions/evaluate/helpers.js.map +1 -1
  30. package/lib/browser/module/functions/get-block-actions-handler.js +2 -1
  31. package/lib/browser/module/functions/get-block-actions-handler.js.map +1 -1
  32. package/lib/browser/module/functions/get-block-actions.js.map +1 -1
  33. package/lib/browser/typescript/blocks/symbol/symbol.d.ts.map +1 -1
  34. package/lib/browser/typescript/blocks/symbol/symbol.helpers.d.ts +2 -0
  35. package/lib/browser/typescript/blocks/symbol/symbol.helpers.d.ts.map +1 -1
  36. package/lib/browser/typescript/blocks/symbol/symbol.types.d.ts +2 -0
  37. package/lib/browser/typescript/blocks/symbol/symbol.types.d.ts.map +1 -1
  38. package/lib/browser/typescript/components/block/components/block-wrapper.d.ts.map +1 -1
  39. package/lib/browser/typescript/components/block/components/interactive-element.d.ts.map +1 -1
  40. package/lib/browser/typescript/constants/sdk-version.d.ts +1 -1
  41. package/lib/browser/typescript/functions/evaluate/evaluate.d.ts +1 -1
  42. package/lib/browser/typescript/functions/evaluate/evaluate.d.ts.map +1 -1
  43. package/lib/browser/typescript/functions/evaluate/helpers.d.ts +9 -1
  44. package/lib/browser/typescript/functions/evaluate/helpers.d.ts.map +1 -1
  45. package/lib/browser/typescript/functions/get-block-actions-handler.d.ts +2 -0
  46. package/lib/browser/typescript/functions/get-block-actions-handler.d.ts.map +1 -1
  47. package/lib/browser/typescript/functions/get-block-actions.d.ts +2 -0
  48. package/lib/browser/typescript/functions/get-block-actions.d.ts.map +1 -1
  49. package/lib/edge/commonjs/blocks/symbol/symbol.helpers.js +1 -1
  50. package/lib/edge/commonjs/blocks/symbol/symbol.helpers.js.map +1 -1
  51. package/lib/edge/commonjs/blocks/symbol/symbol.js +4 -4
  52. package/lib/edge/commonjs/blocks/symbol/symbol.js.map +1 -1
  53. package/lib/edge/commonjs/components/block/components/block-wrapper.js +8 -1
  54. package/lib/edge/commonjs/components/block/components/block-wrapper.js.map +1 -1
  55. package/lib/edge/commonjs/components/block/components/interactive-element.js +8 -1
  56. package/lib/edge/commonjs/components/block/components/interactive-element.js.map +1 -1
  57. package/lib/edge/commonjs/constants/sdk-version.js +1 -1
  58. package/lib/edge/commonjs/functions/evaluate/evaluate.js +3 -2
  59. package/lib/edge/commonjs/functions/evaluate/evaluate.js.map +1 -1
  60. package/lib/edge/commonjs/functions/evaluate/helpers.js +21 -2
  61. package/lib/edge/commonjs/functions/evaluate/helpers.js.map +1 -1
  62. package/lib/edge/commonjs/functions/get-block-actions-handler.js +2 -1
  63. package/lib/edge/commonjs/functions/get-block-actions-handler.js.map +1 -1
  64. package/lib/edge/commonjs/functions/get-block-actions.js.map +1 -1
  65. package/lib/edge/module/blocks/symbol/symbol.helpers.js +1 -1
  66. package/lib/edge/module/blocks/symbol/symbol.helpers.js.map +1 -1
  67. package/lib/edge/module/blocks/symbol/symbol.js +4 -4
  68. package/lib/edge/module/blocks/symbol/symbol.js.map +1 -1
  69. package/lib/edge/module/components/block/components/block-wrapper.js +8 -1
  70. package/lib/edge/module/components/block/components/block-wrapper.js.map +1 -1
  71. package/lib/edge/module/components/block/components/interactive-element.js +8 -1
  72. package/lib/edge/module/components/block/components/interactive-element.js.map +1 -1
  73. package/lib/edge/module/constants/sdk-version.js +1 -1
  74. package/lib/edge/module/functions/evaluate/evaluate.js +3 -2
  75. package/lib/edge/module/functions/evaluate/evaluate.js.map +1 -1
  76. package/lib/edge/module/functions/evaluate/helpers.js +21 -2
  77. package/lib/edge/module/functions/evaluate/helpers.js.map +1 -1
  78. package/lib/edge/module/functions/get-block-actions-handler.js +2 -1
  79. package/lib/edge/module/functions/get-block-actions-handler.js.map +1 -1
  80. package/lib/edge/module/functions/get-block-actions.js.map +1 -1
  81. package/lib/edge/typescript/blocks/symbol/symbol.d.ts.map +1 -1
  82. package/lib/edge/typescript/blocks/symbol/symbol.helpers.d.ts +2 -0
  83. package/lib/edge/typescript/blocks/symbol/symbol.helpers.d.ts.map +1 -1
  84. package/lib/edge/typescript/blocks/symbol/symbol.types.d.ts +2 -0
  85. package/lib/edge/typescript/blocks/symbol/symbol.types.d.ts.map +1 -1
  86. package/lib/edge/typescript/components/block/components/block-wrapper.d.ts.map +1 -1
  87. package/lib/edge/typescript/components/block/components/interactive-element.d.ts.map +1 -1
  88. package/lib/edge/typescript/constants/sdk-version.d.ts +1 -1
  89. package/lib/edge/typescript/functions/evaluate/evaluate.d.ts +1 -1
  90. package/lib/edge/typescript/functions/evaluate/evaluate.d.ts.map +1 -1
  91. package/lib/edge/typescript/functions/evaluate/helpers.d.ts +9 -1
  92. package/lib/edge/typescript/functions/evaluate/helpers.d.ts.map +1 -1
  93. package/lib/edge/typescript/functions/get-block-actions-handler.d.ts +2 -0
  94. package/lib/edge/typescript/functions/get-block-actions-handler.d.ts.map +1 -1
  95. package/lib/edge/typescript/functions/get-block-actions.d.ts +2 -0
  96. package/lib/edge/typescript/functions/get-block-actions.d.ts.map +1 -1
  97. package/lib/node/commonjs/blocks/symbol/symbol.helpers.js +1 -1
  98. package/lib/node/commonjs/blocks/symbol/symbol.helpers.js.map +1 -1
  99. package/lib/node/commonjs/blocks/symbol/symbol.js +4 -4
  100. package/lib/node/commonjs/blocks/symbol/symbol.js.map +1 -1
  101. package/lib/node/commonjs/components/block/components/block-wrapper.js +8 -1
  102. package/lib/node/commonjs/components/block/components/block-wrapper.js.map +1 -1
  103. package/lib/node/commonjs/components/block/components/interactive-element.js +8 -1
  104. package/lib/node/commonjs/components/block/components/interactive-element.js.map +1 -1
  105. package/lib/node/commonjs/constants/sdk-version.js +1 -1
  106. package/lib/node/commonjs/functions/evaluate/evaluate.js +3 -2
  107. package/lib/node/commonjs/functions/evaluate/evaluate.js.map +1 -1
  108. package/lib/node/commonjs/functions/evaluate/helpers.js +21 -2
  109. package/lib/node/commonjs/functions/evaluate/helpers.js.map +1 -1
  110. package/lib/node/commonjs/functions/get-block-actions-handler.js +2 -1
  111. package/lib/node/commonjs/functions/get-block-actions-handler.js.map +1 -1
  112. package/lib/node/commonjs/functions/get-block-actions.js.map +1 -1
  113. package/lib/node/module/blocks/symbol/symbol.helpers.js +1 -1
  114. package/lib/node/module/blocks/symbol/symbol.helpers.js.map +1 -1
  115. package/lib/node/module/blocks/symbol/symbol.js +4 -4
  116. package/lib/node/module/blocks/symbol/symbol.js.map +1 -1
  117. package/lib/node/module/components/block/components/block-wrapper.js +8 -1
  118. package/lib/node/module/components/block/components/block-wrapper.js.map +1 -1
  119. package/lib/node/module/components/block/components/interactive-element.js +8 -1
  120. package/lib/node/module/components/block/components/interactive-element.js.map +1 -1
  121. package/lib/node/module/constants/sdk-version.js +1 -1
  122. package/lib/node/module/functions/evaluate/evaluate.js +3 -2
  123. package/lib/node/module/functions/evaluate/evaluate.js.map +1 -1
  124. package/lib/node/module/functions/evaluate/helpers.js +21 -2
  125. package/lib/node/module/functions/evaluate/helpers.js.map +1 -1
  126. package/lib/node/module/functions/get-block-actions-handler.js +2 -1
  127. package/lib/node/module/functions/get-block-actions-handler.js.map +1 -1
  128. package/lib/node/module/functions/get-block-actions.js.map +1 -1
  129. package/lib/node/typescript/blocks/symbol/symbol.d.ts.map +1 -1
  130. package/lib/node/typescript/blocks/symbol/symbol.helpers.d.ts +2 -0
  131. package/lib/node/typescript/blocks/symbol/symbol.helpers.d.ts.map +1 -1
  132. package/lib/node/typescript/blocks/symbol/symbol.types.d.ts +2 -0
  133. package/lib/node/typescript/blocks/symbol/symbol.types.d.ts.map +1 -1
  134. package/lib/node/typescript/components/block/components/block-wrapper.d.ts.map +1 -1
  135. package/lib/node/typescript/components/block/components/interactive-element.d.ts.map +1 -1
  136. package/lib/node/typescript/constants/sdk-version.d.ts +1 -1
  137. package/lib/node/typescript/functions/evaluate/evaluate.d.ts +1 -1
  138. package/lib/node/typescript/functions/evaluate/evaluate.d.ts.map +1 -1
  139. package/lib/node/typescript/functions/evaluate/helpers.d.ts +9 -1
  140. package/lib/node/typescript/functions/evaluate/helpers.d.ts.map +1 -1
  141. package/lib/node/typescript/functions/get-block-actions-handler.d.ts +2 -0
  142. package/lib/node/typescript/functions/get-block-actions-handler.d.ts.map +1 -1
  143. package/lib/node/typescript/functions/get-block-actions.d.ts +2 -0
  144. package/lib/node/typescript/functions/get-block-actions.d.ts.map +1 -1
  145. package/package.json +1 -1
  146. package/src/blocks/symbol/symbol.helpers.ts +3 -1
  147. package/src/blocks/symbol/symbol.tsx +5 -1
  148. package/src/blocks/symbol/symbol.types.ts +2 -0
  149. package/src/components/block/components/block-wrapper.tsx +6 -0
  150. package/src/components/block/components/interactive-element.tsx +6 -0
  151. package/src/constants/sdk-version.ts +1 -1
  152. package/src/functions/evaluate/evaluate.ts +3 -2
  153. package/src/functions/evaluate/helpers.ts +29 -2
  154. package/src/functions/get-block-actions-handler.ts +4 -1
  155. package/src/functions/get-block-actions.ts +2 -0
@@ -36,6 +36,12 @@ function InteractiveElement(props: InteractiveElementProps) {
36
36
  rootSetState: props.context.rootSetState,
37
37
  localState: props.context.localState,
38
38
  context: props.context.context,
39
+ trackingContext: {
40
+ apiKey: props.context.apiKey,
41
+ canTrack: props.context.canTrack ?? true,
42
+ contentId: props.context.content?.id,
43
+ variationId: props.context.content?.testVariationId,
44
+ },
39
45
  }),
40
46
  }
41
47
  : {};
@@ -1 +1 @@
1
- export const SDK_VERSION = "5.1.0"
1
+ export const SDK_VERSION = "5.2.0"
@@ -27,7 +27,8 @@ export function evaluate({
27
27
  rootState,
28
28
  rootSetState,
29
29
  event,
30
- isExpression = true
30
+ isExpression = true,
31
+ trackingContext
31
32
  }: EvaluatorArgs): EvalValue {
32
33
  if (code.trim() === '') {
33
34
  return undefined;
@@ -50,7 +51,7 @@ export function evaluate({
50
51
  code: parseCode(code, {
51
52
  isExpression
52
53
  }),
53
- builder: getBuilderGlobals(),
54
+ builder: getBuilderGlobals(trackingContext),
54
55
  context,
55
56
  event,
56
57
  rootSetState,
@@ -2,15 +2,24 @@ import type { BuilderContextInterface, BuilderRenderState } from '../../context/
2
2
  import { isBrowser } from '../is-browser';
3
3
  import { isEditing } from '../is-editing';
4
4
  import { getUserAttributes } from '../track/helpers';
5
+ import { _track } from '../track/index';
6
+ export type TrackingContext = {
7
+ apiKey: string | null;
8
+ canTrack?: boolean;
9
+ contentId?: string;
10
+ variationId?: string;
11
+ };
5
12
  export type EvaluatorArgs = Omit<ExecutorArgs, 'builder' | 'event'> & {
6
13
  event?: Event;
7
14
  isExpression?: boolean;
15
+ trackingContext?: TrackingContext;
8
16
  };
9
17
  export type BuilderGlobals = {
10
18
  isEditing: boolean | undefined;
11
19
  isBrowser: boolean | undefined;
12
20
  isServer: boolean | undefined;
13
21
  getUserAttributes: typeof getUserAttributes;
22
+ trackConversion: (amount?: number, customProperties?: Record<string, any>) => void;
14
23
  };
15
24
  export type ExecutorArgs = Pick<BuilderContextInterface, 'localState' | 'context' | 'rootState' | 'rootSetState'> & {
16
25
  code: string;
@@ -36,11 +45,29 @@ export const getFunctionArguments = ({
36
45
  event
37
46
  });
38
47
  };
39
- export const getBuilderGlobals = (): BuilderGlobals => ({
48
+ export const getBuilderGlobals = (trackingContext?: TrackingContext): BuilderGlobals => ({
40
49
  isEditing: isEditing(),
41
50
  isBrowser: isBrowser(),
42
51
  isServer: !isBrowser(),
43
- getUserAttributes: () => getUserAttributes()
52
+ getUserAttributes: () => getUserAttributes(),
53
+ trackConversion: (amount?: number, customProperties?: Record<string, any>) => {
54
+ if (!trackingContext?.apiKey || trackingContext?.canTrack === false) {
55
+ return;
56
+ }
57
+ _track({
58
+ type: 'conversion',
59
+ apiKey: trackingContext.apiKey,
60
+ canTrack: trackingContext.canTrack ?? true,
61
+ contentId: trackingContext.contentId,
62
+ variationId: trackingContext.variationId !== trackingContext.contentId ? trackingContext.variationId : undefined,
63
+ metadata: {
64
+ ...(customProperties || {}),
65
+ ...(amount !== undefined ? {
66
+ amount
67
+ } : {})
68
+ }
69
+ });
70
+ }
44
71
  });
45
72
  export const parseCode = (code: string, {
46
73
  isExpression = true
@@ -1,8 +1,10 @@
1
1
  import type { BuilderContextInterface } from '../context/types';
2
2
  import type { BuilderBlock } from '../types/builder-block';
3
+ import type { TrackingContext } from './evaluate/helpers';
3
4
  import { evaluate } from './evaluate/index';
4
5
  type Options = {
5
6
  block: BuilderBlock;
7
+ trackingContext?: TrackingContext;
6
8
  } & Pick<BuilderContextInterface, 'localState' | 'context' | 'rootState' | 'rootSetState'>;
7
9
  type EventHandler = (event: Event) => any;
8
10
  export const createEventHandler = (value: string, options: Options): EventHandler => event => evaluate({
@@ -12,5 +14,6 @@ export const createEventHandler = (value: string, options: Options): EventHandle
12
14
  rootState: options.rootState,
13
15
  rootSetState: options.rootSetState,
14
16
  event,
15
- isExpression: false
17
+ isExpression: false,
18
+ trackingContext: options.trackingContext
16
19
  })
@@ -1,6 +1,7 @@
1
1
  import { TARGET } from '../constants/target';
2
2
  import type { BuilderContextInterface } from '../context/types';
3
3
  import type { BuilderBlock } from '../types/builder-block';
4
+ import type { TrackingContext } from './evaluate/helpers';
4
5
  import { getEventHandlerName } from './event-handler-name';
5
6
  import { createEventHandler } from './get-block-actions-handler';
6
7
  type Actions = {
@@ -9,6 +10,7 @@ type Actions = {
9
10
  export function getBlockActions(options: {
10
11
  block: BuilderBlock;
11
12
  stripPrefix?: boolean;
13
+ trackingContext?: TrackingContext;
12
14
  } & Pick<BuilderContextInterface, 'localState' | 'context' | 'rootState' | 'rootSetState'>): Actions {
13
15
  const obj: Actions = {};
14
16
  const optionActions = options.block.actions ?? {};