@kameleoon/react-sdk 10.13.0 → 10.14.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/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Change Log
2
2
 
3
+ ## 10.14.0 (2025-07-23)
4
+
5
+ ### Features
6
+
7
+ - Added the [`evaluateAudiences`][evaluateAudiences] method. This method iterates over all Audiences Explorer segments, evaluates each one, and tracks the segments for which the visitor is targeted using the [`TARGETINGSEGMENT`](https://developers.kameleoon.com/apis/data-api-rest/all-endpoints/post-visit-events/) event.
8
+
9
+ ### Patch Changes
10
+
11
+ - Fixed an issue where `defaultDataFile` loaded configuration incorrectly when using the new [v3 data file format](sdk-config.kameleoon.eu/v3/<sitecode>).
12
+ - Updated dependencies
13
+ - @kameleoon/javascript-sdk@4.13.0
14
+
15
+ [evaluateAudiences]: https://developers.kameleoon.com/feature-management-and-experimentation/web-sdks/react-js-sdk#evaluateaudiences
16
+
17
+ ## 10.13.1 (2025-07-11)
18
+
19
+ ### Patch Changes
20
+
21
+ - Stability and performance improvements
22
+ - Updated dependencies
23
+ - @kameleoon/javascript-sdk@4.12.1
24
+
3
25
  ## 10.13.0 (2025-07-10)
4
26
 
5
27
  ### Features
@@ -1 +1 @@
1
- "use strict";var _javascriptSdk=require("@kameleoon/javascript-sdk");Object.defineProperty(exports,"__esModule",{value:!0}),exports.createClient=createClient;function createClient(a){let{siteCode:b,configuration:c,externals:d,stubMode:e}=a;const f=new _javascriptSdk.KameleoonClient({siteCode:b,configuration:c,externals:d,_internals:{packageInfo:{type:_javascriptSdk.SdkLanguageType.REACT,version:"10.13.0",isServer:!1},prng:null===d||void 0===d?void 0:d.prng},stubMode:e});return f}
1
+ "use strict";var _javascriptSdk=require("@kameleoon/javascript-sdk");Object.defineProperty(exports,"__esModule",{value:!0}),exports.createClient=createClient;function createClient(a){let{siteCode:b,configuration:c,externals:d,stubMode:e}=a;const f=new _javascriptSdk.KameleoonClient({siteCode:b,configuration:c,externals:d,_internals:{packageInfo:{type:_javascriptSdk.SdkLanguageType.REACT,version:"10.14.0",isServer:!1},prng:null===d||void 0===d?void 0:d.prng},stubMode:e});return f}
@@ -216,4 +216,14 @@ export default interface IUseFeatureFlag {
216
216
  * - `KameleoonException.StorageWrite` - Couldn't update storage data
217
217
  */
218
218
  setForcedVariation: ({ visitorCode, experimentId, variationKey, forceTargeting, }: SetForcedVariationParametersType) => void;
219
+ /**
220
+ * @method evaluateAudiences - evaluates the visitor against all available Audiences Explorer segments and tracks those that match.
221
+ * A detailed analysis of segment performance can then be performed directly in Audiences Explorer.
222
+ * @param visitorCode {string} - The unique visitor code identifying the visitor.
223
+ * @throws `KameleoonError` with one of the following `type` s:
224
+ * - `KameleoonException.VisitorCodeMaxLength` - The visitor code length was exceeded
225
+ * - `KameleoonException.VisitorCodeEmpty` The visitor code is empty
226
+ * - `KameleoonException.Initialization` - Method was executed before the `kameleoonClient` completed its `initialize` call
227
+ */
228
+ evaluateAudiences(visitorCode: string): void;
219
229
  }
@@ -14,6 +14,7 @@ import IUseFeatureFlag from './interfaces/useFeatureFlag';
14
14
  * - `getFeatureFlags`,
15
15
  * - `getFeatureFlagVariables`,
16
16
  * - `getEngineTrackingCode`,
17
- * - `setForcedVariation`
17
+ * - `setForcedVariation`,
18
+ * - `evaluateAudiences`
18
19
  */
19
20
  export declare function useFeatureFlag(): IUseFeatureFlag;
@@ -1 +1 @@
1
- "use strict";"use client";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useFeatureFlag=useFeatureFlag;var _react=require("react"),_useKameleoonContext=require("./useKameleoonContext");function useFeatureFlag(){const a=(0,_useKameleoonContext.useKameleoonContext)();let b=a?a.kameleoonClient:null;const c=(0,_react.useCallback)((c,d)=>{if(b=(0,_useKameleoonContext.fetchClientFromContext)(a),"string"==typeof c){if(!d)throw new Error("[Kameleoon React SDK Error]: Overload is not used correctly. The second parameter must be provided when the first parameter is a string");return b.isFeatureFlagActive(c,d)}return b.isFeatureFlagActive(c)},[a]),d=(0,_react.useCallback)(c=>{let{visitorCode:d,featureKey:e,track:f}=c;return b=(0,_useKameleoonContext.fetchClientFromContext)(a),b.getVariation({visitorCode:d,featureKey:e,track:f})},[a]),e=(0,_react.useCallback)(c=>{let{visitorCode:d,onlyActive:e,track:f}=c;return b=(0,_useKameleoonContext.fetchClientFromContext)(a),b.getVariations({visitorCode:d,onlyActive:e,track:f})},[a]),f=(0,_react.useCallback)((c,d)=>(b=(0,_useKameleoonContext.fetchClientFromContext)(a),b.getFeatureFlagVariationKey(c,d)),[a]),g=(0,_react.useCallback)(c=>{let{visitorCode:d,featureKey:e,variableKey:f}=c;return b=(0,_useKameleoonContext.fetchClientFromContext)(a),b.getFeatureFlagVariable({visitorCode:d,featureKey:e,variableKey:f})},[a]),h=(0,_react.useCallback)(c=>(b=(0,_useKameleoonContext.fetchClientFromContext)(a),b.getVisitorFeatureFlags(c)),[a]),i=(0,_react.useCallback)(c=>(b=(0,_useKameleoonContext.fetchClientFromContext)(a),b.getActiveFeatureFlags(c)),[a]),j=(0,_react.useCallback)(()=>(b=(0,_useKameleoonContext.fetchClientFromContext)(a),b.getFeatureFlags()),[a]),k=(0,_react.useCallback)((c,d)=>(b=(0,_useKameleoonContext.fetchClientFromContext)(a),b.getFeatureFlagVariables(c,d)),[a]),l=(0,_react.useCallback)(c=>(b=(0,_useKameleoonContext.fetchClientFromContext)(a),b.getEngineTrackingCode(c)),[a]),m=(0,_react.useCallback)(c=>{let{visitorCode:d,experimentId:e,variationKey:f,forceTargeting:g}=c;return b=(0,_useKameleoonContext.fetchClientFromContext)(a),b.setForcedVariation({visitorCode:d,experimentId:e,variationKey:f,forceTargeting:g})},[a]);return{getActiveFeatureFlags:i,getVariation:d,getVariations:e,getFeatureFlags:j,isFeatureFlagActive:c,getEngineTrackingCode:l,getVisitorFeatureFlags:h,getFeatureFlagVariable:g,getFeatureFlagVariables:k,getFeatureFlagVariationKey:f,setForcedVariation:m}}
1
+ "use strict";"use client";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useFeatureFlag=useFeatureFlag;var _react=require("react"),_useKameleoonContext=require("./useKameleoonContext");function useFeatureFlag(){const a=(0,_useKameleoonContext.useKameleoonContext)();let b=a?a.kameleoonClient:null;const c=(0,_react.useCallback)((c,d)=>{if(b=(0,_useKameleoonContext.fetchClientFromContext)(a),"string"==typeof c){if(!d)throw new Error("[Kameleoon React SDK Error]: Overload is not used correctly. The second parameter must be provided when the first parameter is a string");return b.isFeatureFlagActive(c,d)}return b.isFeatureFlagActive(c)},[a]),d=(0,_react.useCallback)(c=>{let{visitorCode:d,featureKey:e,track:f}=c;return b=(0,_useKameleoonContext.fetchClientFromContext)(a),b.getVariation({visitorCode:d,featureKey:e,track:f})},[a]),e=(0,_react.useCallback)(c=>{let{visitorCode:d,onlyActive:e,track:f}=c;return b=(0,_useKameleoonContext.fetchClientFromContext)(a),b.getVariations({visitorCode:d,onlyActive:e,track:f})},[a]),f=(0,_react.useCallback)((c,d)=>(b=(0,_useKameleoonContext.fetchClientFromContext)(a),b.getFeatureFlagVariationKey(c,d)),[a]),g=(0,_react.useCallback)(c=>{let{visitorCode:d,featureKey:e,variableKey:f}=c;return b=(0,_useKameleoonContext.fetchClientFromContext)(a),b.getFeatureFlagVariable({visitorCode:d,featureKey:e,variableKey:f})},[a]),h=(0,_react.useCallback)(c=>(b=(0,_useKameleoonContext.fetchClientFromContext)(a),b.getVisitorFeatureFlags(c)),[a]),i=(0,_react.useCallback)(c=>(b=(0,_useKameleoonContext.fetchClientFromContext)(a),b.getActiveFeatureFlags(c)),[a]),j=(0,_react.useCallback)(()=>(b=(0,_useKameleoonContext.fetchClientFromContext)(a),b.getFeatureFlags()),[a]),k=(0,_react.useCallback)((c,d)=>(b=(0,_useKameleoonContext.fetchClientFromContext)(a),b.getFeatureFlagVariables(c,d)),[a]),l=(0,_react.useCallback)(c=>(b=(0,_useKameleoonContext.fetchClientFromContext)(a),b.getEngineTrackingCode(c)),[a]),m=(0,_react.useCallback)(c=>{let{visitorCode:d,experimentId:e,variationKey:f,forceTargeting:g}=c;return b=(0,_useKameleoonContext.fetchClientFromContext)(a),b.setForcedVariation({visitorCode:d,experimentId:e,variationKey:f,forceTargeting:g})},[a]),n=(0,_react.useCallback)(c=>(b=(0,_useKameleoonContext.fetchClientFromContext)(a),b.evaluateAudiences(c)),[a]);return{getActiveFeatureFlags:i,getVariation:d,getVariations:e,getFeatureFlags:j,isFeatureFlagActive:c,getEngineTrackingCode:l,getVisitorFeatureFlags:h,getFeatureFlagVariable:g,getFeatureFlagVariables:k,getFeatureFlagVariationKey:f,setForcedVariation:m,evaluateAudiences:n}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kameleoon/react-sdk",
3
- "version": "10.13.0",
3
+ "version": "10.14.0",
4
4
  "description": "Kameleoon React SDK",
5
5
  "files": [
6
6
  "dist"
@@ -40,7 +40,7 @@
40
40
  ],
41
41
  "license": "ISC",
42
42
  "dependencies": {
43
- "@kameleoon/javascript-sdk": "4.12.0"
43
+ "@kameleoon/javascript-sdk": "4.13.0"
44
44
  },
45
45
  "peerDependencies": {
46
46
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0"