@ninetailed/experience.js-react 4.2.0-beta.8 → 4.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.
package/index.cjs CHANGED
@@ -2380,45 +2380,47 @@ const ExperimentsProvider = ({
2380
2380
  }));
2381
2381
  };
2382
2382
 
2383
- const NinetailedProvider = ({
2384
- children,
2385
- clientId,
2386
- experiments: _experiments = [],
2387
- maximumActiveExperiments,
2388
- environment,
2389
- preview,
2390
- url,
2391
- profile,
2392
- locale,
2393
- requestTimeout,
2394
- plugins: _plugins = [],
2395
- onLog,
2396
- onError
2397
- }) => {
2383
+ const NinetailedProvider = props => {
2398
2384
  const ninetailed = React.useMemo(() => {
2399
- const ninetailed = experience_js.Ninetailed.instance;
2400
- if (!ninetailed) {
2401
- return experience_js.Ninetailed.create({
2402
- clientId,
2403
- environment,
2404
- preview
2405
- }, {
2406
- url,
2407
- plugins: _plugins,
2408
- profile,
2409
- locale,
2410
- requestTimeout,
2411
- onLog,
2412
- onError
2413
- });
2385
+ if ('ninetailed' in props) {
2386
+ return props.ninetailed;
2414
2387
  }
2415
- return ninetailed;
2388
+ const {
2389
+ clientId,
2390
+ environment,
2391
+ preview,
2392
+ url,
2393
+ profile,
2394
+ locale,
2395
+ requestTimeout,
2396
+ plugins = [],
2397
+ onLog,
2398
+ onError
2399
+ } = props;
2400
+ return new experience_js.Ninetailed({
2401
+ clientId,
2402
+ environment,
2403
+ preview
2404
+ }, {
2405
+ url,
2406
+ plugins,
2407
+ profile,
2408
+ locale,
2409
+ requestTimeout,
2410
+ onLog,
2411
+ onError
2412
+ });
2416
2413
  }, []);
2414
+ const {
2415
+ experiments = [],
2416
+ maximumActiveExperiments,
2417
+ children
2418
+ } = props;
2417
2419
  return jsxRuntime.jsx(NinetailedContext.Provider, Object.assign({
2418
2420
  value: ninetailed
2419
2421
  }, {
2420
2422
  children: jsxRuntime.jsx(ExperimentsProvider, Object.assign({
2421
- experiments: _experiments,
2423
+ experiments: experiments,
2422
2424
  maximumActiveExperiments: maximumActiveExperiments
2423
2425
  }, {
2424
2426
  children: children
package/index.js CHANGED
@@ -2372,45 +2372,47 @@ const ExperimentsProvider = ({
2372
2372
  }));
2373
2373
  };
2374
2374
 
2375
- const NinetailedProvider = ({
2376
- children,
2377
- clientId,
2378
- experiments: _experiments = [],
2379
- maximumActiveExperiments,
2380
- environment,
2381
- preview,
2382
- url,
2383
- profile,
2384
- locale,
2385
- requestTimeout,
2386
- plugins: _plugins = [],
2387
- onLog,
2388
- onError
2389
- }) => {
2375
+ const NinetailedProvider = props => {
2390
2376
  const ninetailed = useMemo(() => {
2391
- const ninetailed = Ninetailed.instance;
2392
- if (!ninetailed) {
2393
- return Ninetailed.create({
2394
- clientId,
2395
- environment,
2396
- preview
2397
- }, {
2398
- url,
2399
- plugins: _plugins,
2400
- profile,
2401
- locale,
2402
- requestTimeout,
2403
- onLog,
2404
- onError
2405
- });
2377
+ if ('ninetailed' in props) {
2378
+ return props.ninetailed;
2406
2379
  }
2407
- return ninetailed;
2380
+ const {
2381
+ clientId,
2382
+ environment,
2383
+ preview,
2384
+ url,
2385
+ profile,
2386
+ locale,
2387
+ requestTimeout,
2388
+ plugins = [],
2389
+ onLog,
2390
+ onError
2391
+ } = props;
2392
+ return new Ninetailed({
2393
+ clientId,
2394
+ environment,
2395
+ preview
2396
+ }, {
2397
+ url,
2398
+ plugins,
2399
+ profile,
2400
+ locale,
2401
+ requestTimeout,
2402
+ onLog,
2403
+ onError
2404
+ });
2408
2405
  }, []);
2406
+ const {
2407
+ experiments = [],
2408
+ maximumActiveExperiments,
2409
+ children
2410
+ } = props;
2409
2411
  return jsx(NinetailedContext.Provider, Object.assign({
2410
2412
  value: ninetailed
2411
2413
  }, {
2412
2414
  children: jsx(ExperimentsProvider, Object.assign({
2413
- experiments: _experiments,
2415
+ experiments: experiments,
2414
2416
  maximumActiveExperiments: maximumActiveExperiments
2415
2417
  }, {
2416
2418
  children: children
@@ -1,11 +1,13 @@
1
1
  import React from 'react';
2
- import { NinetailedPlugin, ExperienceConfiguration } from '@ninetailed/experience.js';
2
+ import { Ninetailed, NinetailedPlugin, ExperienceConfiguration } from '@ninetailed/experience.js';
3
3
  import { Profile, Locale, OnErrorHandler, OnLogHandler } from '@ninetailed/experience.js-shared';
4
- export type NinetailedProviderProps = {
5
- clientId: string;
6
- environment?: string;
4
+ type ExperimentProviderProps = {
7
5
  experiments?: ExperienceConfiguration<any>[];
8
6
  maximumActiveExperiments?: number;
7
+ };
8
+ export type NinetailedProviderInstantiationProps = {
9
+ clientId: string;
10
+ environment?: string;
9
11
  preview?: boolean;
10
12
  url?: string;
11
13
  plugins?: (NinetailedPlugin | NinetailedPlugin[])[];
@@ -14,5 +16,9 @@ export type NinetailedProviderProps = {
14
16
  requestTimeout?: number;
15
17
  onLog?: OnLogHandler;
16
18
  onError?: OnErrorHandler;
17
- };
18
- export declare const NinetailedProvider: ({ children, clientId, experiments, maximumActiveExperiments, environment, preview, url, profile, locale, requestTimeout, plugins, onLog, onError, }: React.PropsWithChildren<NinetailedProviderProps>) => JSX.Element;
19
+ } & ExperimentProviderProps;
20
+ export type NinetailedProviderProps = NinetailedProviderInstantiationProps | ({
21
+ ninetailed: Ninetailed;
22
+ } & ExperimentProviderProps);
23
+ export declare const NinetailedProvider: (props: React.PropsWithChildren<NinetailedProviderProps>) => JSX.Element;
24
+ export {};
package/lib/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export type { Profile, Variant } from '@ninetailed/experience.js-shared';
2
2
  export type { ExperienceConfiguration, ExperienceType, EXPERIENCE_TRAIT_PREFIX, } from '@ninetailed/experience.js';
3
3
  export { NinetailedProvider } from './NinetailedProvider';
4
- export type { NinetailedProviderProps } from './NinetailedProvider';
4
+ export type { NinetailedProviderProps, NinetailedProviderInstantiationProps, } from './NinetailedProvider';
5
5
  export { useNinetailed } from './useNinetailed';
6
6
  export { useProfile } from './useProfile';
7
7
  export { usePersonalize } from './usePersonalize';
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@ninetailed/experience.js-react",
3
- "version": "4.2.0-beta.8",
3
+ "version": "4.2.0",
4
4
  "peerDependencies": {
5
5
  "react": ">=16.8.0"
6
6
  },
7
7
  "dependencies": {
8
8
  "@analytics/google-analytics": "0.5.3",
9
9
  "react-visibility-sensor": "5.1.1",
10
- "@ninetailed/experience.js": "4.2.0-beta.8",
10
+ "@ninetailed/experience.js": "4.2.0",
11
11
  "react-intersection-observer": "8.34.0",
12
- "@ninetailed/experience.js-shared": "4.2.0-beta.8",
12
+ "@ninetailed/experience.js-shared": "4.2.0",
13
13
  "radash": "10.9.0",
14
14
  "analytics": "0.8.1"
15
15
  },