@feelflow/ffid-sdk 2.0.0 → 2.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.
@@ -598,7 +598,7 @@ function createMembersMethods(deps) {
598
598
  }
599
599
 
600
600
  // src/client/version-check.ts
601
- var SDK_VERSION = "2.0.0";
601
+ var SDK_VERSION = "2.2.0";
602
602
  var SDK_USER_AGENT = `FFID-SDK/${SDK_VERSION} (TypeScript)`;
603
603
  var SDK_VERSION_HEADER = "X-FFID-SDK-Version";
604
604
  function sdkHeaders() {
@@ -1482,6 +1482,13 @@ function performRedirect(url, logger) {
1482
1482
  }
1483
1483
  function createContractWizardMethods(deps) {
1484
1484
  const { baseUrl, serviceCode, logger } = deps;
1485
+ function buildSubscriptionWizardUrl(flow, subscriptionId, options) {
1486
+ return buildWizardUrl(baseUrl, flow, {
1487
+ service: serviceCode,
1488
+ subscription: subscriptionId,
1489
+ redirect: options?.redirect
1490
+ });
1491
+ }
1485
1492
  function getSubscribeUrl(options) {
1486
1493
  return buildWizardUrl(baseUrl, "new-subscription", {
1487
1494
  service: serviceCode,
@@ -1492,28 +1499,19 @@ function createContractWizardMethods(deps) {
1492
1499
  return performRedirect(getSubscribeUrl(options), logger);
1493
1500
  }
1494
1501
  function getChangePlanUrl(subscriptionId, options) {
1495
- return buildWizardUrl(baseUrl, "change-plan", {
1496
- subscription: subscriptionId,
1497
- redirect: options?.redirect
1498
- });
1502
+ return buildSubscriptionWizardUrl("change-plan", subscriptionId, options);
1499
1503
  }
1500
1504
  function redirectToChangePlan(subscriptionId, options) {
1501
1505
  return performRedirect(getChangePlanUrl(subscriptionId, options), logger);
1502
1506
  }
1503
1507
  function getChangeSeatsUrl(subscriptionId, options) {
1504
- return buildWizardUrl(baseUrl, "change-seats", {
1505
- subscription: subscriptionId,
1506
- redirect: options?.redirect
1507
- });
1508
+ return buildSubscriptionWizardUrl("change-seats", subscriptionId, options);
1508
1509
  }
1509
1510
  function redirectToChangeSeats(subscriptionId, options) {
1510
1511
  return performRedirect(getChangeSeatsUrl(subscriptionId, options), logger);
1511
1512
  }
1512
1513
  function getRecoverPaymentUrl(subscriptionId, options) {
1513
- return buildWizardUrl(baseUrl, "payment-recovery", {
1514
- subscription: subscriptionId,
1515
- redirect: options?.redirect
1516
- });
1514
+ return buildSubscriptionWizardUrl("payment-recovery", subscriptionId, options);
1517
1515
  }
1518
1516
  function redirectToRecoverPayment(subscriptionId, options) {
1519
1517
  return performRedirect(getRecoverPaymentUrl(subscriptionId, options), logger);
@@ -600,7 +600,7 @@ function createMembersMethods(deps) {
600
600
  }
601
601
 
602
602
  // src/client/version-check.ts
603
- var SDK_VERSION = "2.0.0";
603
+ var SDK_VERSION = "2.2.0";
604
604
  var SDK_USER_AGENT = `FFID-SDK/${SDK_VERSION} (TypeScript)`;
605
605
  var SDK_VERSION_HEADER = "X-FFID-SDK-Version";
606
606
  function sdkHeaders() {
@@ -1484,6 +1484,13 @@ function performRedirect(url, logger) {
1484
1484
  }
1485
1485
  function createContractWizardMethods(deps) {
1486
1486
  const { baseUrl, serviceCode, logger } = deps;
1487
+ function buildSubscriptionWizardUrl(flow, subscriptionId, options) {
1488
+ return buildWizardUrl(baseUrl, flow, {
1489
+ service: serviceCode,
1490
+ subscription: subscriptionId,
1491
+ redirect: options?.redirect
1492
+ });
1493
+ }
1487
1494
  function getSubscribeUrl(options) {
1488
1495
  return buildWizardUrl(baseUrl, "new-subscription", {
1489
1496
  service: serviceCode,
@@ -1494,28 +1501,19 @@ function createContractWizardMethods(deps) {
1494
1501
  return performRedirect(getSubscribeUrl(options), logger);
1495
1502
  }
1496
1503
  function getChangePlanUrl(subscriptionId, options) {
1497
- return buildWizardUrl(baseUrl, "change-plan", {
1498
- subscription: subscriptionId,
1499
- redirect: options?.redirect
1500
- });
1504
+ return buildSubscriptionWizardUrl("change-plan", subscriptionId, options);
1501
1505
  }
1502
1506
  function redirectToChangePlan(subscriptionId, options) {
1503
1507
  return performRedirect(getChangePlanUrl(subscriptionId, options), logger);
1504
1508
  }
1505
1509
  function getChangeSeatsUrl(subscriptionId, options) {
1506
- return buildWizardUrl(baseUrl, "change-seats", {
1507
- subscription: subscriptionId,
1508
- redirect: options?.redirect
1509
- });
1510
+ return buildSubscriptionWizardUrl("change-seats", subscriptionId, options);
1510
1511
  }
1511
1512
  function redirectToChangeSeats(subscriptionId, options) {
1512
1513
  return performRedirect(getChangeSeatsUrl(subscriptionId, options), logger);
1513
1514
  }
1514
1515
  function getRecoverPaymentUrl(subscriptionId, options) {
1515
- return buildWizardUrl(baseUrl, "payment-recovery", {
1516
- subscription: subscriptionId,
1517
- redirect: options?.redirect
1518
- });
1516
+ return buildSubscriptionWizardUrl("payment-recovery", subscriptionId, options);
1519
1517
  }
1520
1518
  function redirectToRecoverPayment(subscriptionId, options) {
1521
1519
  return performRedirect(getRecoverPaymentUrl(subscriptionId, options), logger);
@@ -1,30 +1,30 @@
1
1
  'use strict';
2
2
 
3
- var chunk4A5LAKNH_cjs = require('../chunk-4A5LAKNH.cjs');
3
+ var chunkNO4ZVVPY_cjs = require('../chunk-NO4ZVVPY.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, "FFIDAnnouncementBadge", {
8
8
  enumerable: true,
9
- get: function () { return chunk4A5LAKNH_cjs.FFIDAnnouncementBadge; }
9
+ get: function () { return chunkNO4ZVVPY_cjs.FFIDAnnouncementBadge; }
10
10
  });
11
11
  Object.defineProperty(exports, "FFIDAnnouncementList", {
12
12
  enumerable: true,
13
- get: function () { return chunk4A5LAKNH_cjs.FFIDAnnouncementList; }
13
+ get: function () { return chunkNO4ZVVPY_cjs.FFIDAnnouncementList; }
14
14
  });
15
15
  Object.defineProperty(exports, "FFIDLoginButton", {
16
16
  enumerable: true,
17
- get: function () { return chunk4A5LAKNH_cjs.FFIDLoginButton; }
17
+ get: function () { return chunkNO4ZVVPY_cjs.FFIDLoginButton; }
18
18
  });
19
19
  Object.defineProperty(exports, "FFIDOrganizationSwitcher", {
20
20
  enumerable: true,
21
- get: function () { return chunk4A5LAKNH_cjs.FFIDOrganizationSwitcher; }
21
+ get: function () { return chunkNO4ZVVPY_cjs.FFIDOrganizationSwitcher; }
22
22
  });
23
23
  Object.defineProperty(exports, "FFIDSubscriptionBadge", {
24
24
  enumerable: true,
25
- get: function () { return chunk4A5LAKNH_cjs.FFIDSubscriptionBadge; }
25
+ get: function () { return chunkNO4ZVVPY_cjs.FFIDSubscriptionBadge; }
26
26
  });
27
27
  Object.defineProperty(exports, "FFIDUserMenu", {
28
28
  enumerable: true,
29
- get: function () { return chunk4A5LAKNH_cjs.FFIDUserMenu; }
29
+ get: function () { return chunkNO4ZVVPY_cjs.FFIDUserMenu; }
30
30
  });
@@ -1 +1 @@
1
- export { FFIDAnnouncementBadge, FFIDAnnouncementList, FFIDLoginButton, FFIDOrganizationSwitcher, FFIDSubscriptionBadge, FFIDUserMenu } from '../chunk-7OVB5XZV.js';
1
+ export { FFIDAnnouncementBadge, FFIDAnnouncementList, FFIDLoginButton, FFIDOrganizationSwitcher, FFIDSubscriptionBadge, FFIDUserMenu } from '../chunk-5SNBQVJQ.js';
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunk4A5LAKNH_cjs = require('./chunk-4A5LAKNH.cjs');
3
+ var chunkNO4ZVVPY_cjs = require('./chunk-NO4ZVVPY.cjs');
4
4
  var react = require('react');
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
 
@@ -46,7 +46,7 @@ function createKVCacheAdapter(kv) {
46
46
  }
47
47
  function withFFIDAuth(Component, options = {}) {
48
48
  const WrappedComponent = (props) => {
49
- const { isLoading, isAuthenticated, login } = chunk4A5LAKNH_cjs.useFFIDContext();
49
+ const { isLoading, isAuthenticated, login } = chunkNO4ZVVPY_cjs.useFFIDContext();
50
50
  const hasRedirected = react.useRef(false);
51
51
  react.useEffect(() => {
52
52
  if (!isLoading && !isAuthenticated && options.redirectToLogin && !hasRedirected.current) {
@@ -71,83 +71,83 @@ function withFFIDAuth(Component, options = {}) {
71
71
 
72
72
  Object.defineProperty(exports, "DEFAULT_API_BASE_URL", {
73
73
  enumerable: true,
74
- get: function () { return chunk4A5LAKNH_cjs.DEFAULT_API_BASE_URL; }
74
+ get: function () { return chunkNO4ZVVPY_cjs.DEFAULT_API_BASE_URL; }
75
75
  });
76
76
  Object.defineProperty(exports, "FFIDAnnouncementBadge", {
77
77
  enumerable: true,
78
- get: function () { return chunk4A5LAKNH_cjs.FFIDAnnouncementBadge; }
78
+ get: function () { return chunkNO4ZVVPY_cjs.FFIDAnnouncementBadge; }
79
79
  });
80
80
  Object.defineProperty(exports, "FFIDAnnouncementList", {
81
81
  enumerable: true,
82
- get: function () { return chunk4A5LAKNH_cjs.FFIDAnnouncementList; }
82
+ get: function () { return chunkNO4ZVVPY_cjs.FFIDAnnouncementList; }
83
83
  });
84
84
  Object.defineProperty(exports, "FFIDLoginButton", {
85
85
  enumerable: true,
86
- get: function () { return chunk4A5LAKNH_cjs.FFIDLoginButton; }
86
+ get: function () { return chunkNO4ZVVPY_cjs.FFIDLoginButton; }
87
87
  });
88
88
  Object.defineProperty(exports, "FFIDOrganizationSwitcher", {
89
89
  enumerable: true,
90
- get: function () { return chunk4A5LAKNH_cjs.FFIDOrganizationSwitcher; }
90
+ get: function () { return chunkNO4ZVVPY_cjs.FFIDOrganizationSwitcher; }
91
91
  });
92
92
  Object.defineProperty(exports, "FFIDProvider", {
93
93
  enumerable: true,
94
- get: function () { return chunk4A5LAKNH_cjs.FFIDProvider; }
94
+ get: function () { return chunkNO4ZVVPY_cjs.FFIDProvider; }
95
95
  });
96
96
  Object.defineProperty(exports, "FFIDSubscriptionBadge", {
97
97
  enumerable: true,
98
- get: function () { return chunk4A5LAKNH_cjs.FFIDSubscriptionBadge; }
98
+ get: function () { return chunkNO4ZVVPY_cjs.FFIDSubscriptionBadge; }
99
99
  });
100
100
  Object.defineProperty(exports, "FFIDUserMenu", {
101
101
  enumerable: true,
102
- get: function () { return chunk4A5LAKNH_cjs.FFIDUserMenu; }
102
+ get: function () { return chunkNO4ZVVPY_cjs.FFIDUserMenu; }
103
103
  });
104
104
  Object.defineProperty(exports, "FFID_ANNOUNCEMENTS_ERROR_CODES", {
105
105
  enumerable: true,
106
- get: function () { return chunk4A5LAKNH_cjs.FFID_ANNOUNCEMENTS_ERROR_CODES; }
106
+ get: function () { return chunkNO4ZVVPY_cjs.FFID_ANNOUNCEMENTS_ERROR_CODES; }
107
107
  });
108
108
  Object.defineProperty(exports, "createFFIDAnnouncementsClient", {
109
109
  enumerable: true,
110
- get: function () { return chunk4A5LAKNH_cjs.createFFIDAnnouncementsClient; }
110
+ get: function () { return chunkNO4ZVVPY_cjs.createFFIDAnnouncementsClient; }
111
111
  });
112
112
  Object.defineProperty(exports, "createFFIDClient", {
113
113
  enumerable: true,
114
- get: function () { return chunk4A5LAKNH_cjs.createFFIDClient; }
114
+ get: function () { return chunkNO4ZVVPY_cjs.createFFIDClient; }
115
115
  });
116
116
  Object.defineProperty(exports, "createTokenStore", {
117
117
  enumerable: true,
118
- get: function () { return chunk4A5LAKNH_cjs.createTokenStore; }
118
+ get: function () { return chunkNO4ZVVPY_cjs.createTokenStore; }
119
119
  });
120
120
  Object.defineProperty(exports, "generateCodeChallenge", {
121
121
  enumerable: true,
122
- get: function () { return chunk4A5LAKNH_cjs.generateCodeChallenge; }
122
+ get: function () { return chunkNO4ZVVPY_cjs.generateCodeChallenge; }
123
123
  });
124
124
  Object.defineProperty(exports, "generateCodeVerifier", {
125
125
  enumerable: true,
126
- get: function () { return chunk4A5LAKNH_cjs.generateCodeVerifier; }
126
+ get: function () { return chunkNO4ZVVPY_cjs.generateCodeVerifier; }
127
127
  });
128
128
  Object.defineProperty(exports, "retrieveCodeVerifier", {
129
129
  enumerable: true,
130
- get: function () { return chunk4A5LAKNH_cjs.retrieveCodeVerifier; }
130
+ get: function () { return chunkNO4ZVVPY_cjs.retrieveCodeVerifier; }
131
131
  });
132
132
  Object.defineProperty(exports, "storeCodeVerifier", {
133
133
  enumerable: true,
134
- get: function () { return chunk4A5LAKNH_cjs.storeCodeVerifier; }
134
+ get: function () { return chunkNO4ZVVPY_cjs.storeCodeVerifier; }
135
135
  });
136
136
  Object.defineProperty(exports, "useFFID", {
137
137
  enumerable: true,
138
- get: function () { return chunk4A5LAKNH_cjs.useFFID; }
138
+ get: function () { return chunkNO4ZVVPY_cjs.useFFID; }
139
139
  });
140
140
  Object.defineProperty(exports, "useFFIDAnnouncements", {
141
141
  enumerable: true,
142
- get: function () { return chunk4A5LAKNH_cjs.useFFIDAnnouncements; }
142
+ get: function () { return chunkNO4ZVVPY_cjs.useFFIDAnnouncements; }
143
143
  });
144
144
  Object.defineProperty(exports, "useSubscription", {
145
145
  enumerable: true,
146
- get: function () { return chunk4A5LAKNH_cjs.useSubscription; }
146
+ get: function () { return chunkNO4ZVVPY_cjs.useSubscription; }
147
147
  });
148
148
  Object.defineProperty(exports, "withSubscription", {
149
149
  enumerable: true,
150
- get: function () { return chunk4A5LAKNH_cjs.withSubscription; }
150
+ get: function () { return chunkNO4ZVVPY_cjs.withSubscription; }
151
151
  });
152
152
  exports.createKVCacheAdapter = createKVCacheAdapter;
153
153
  exports.createMemoryCacheAdapter = createMemoryCacheAdapter;
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { useFFIDContext } from './chunk-7OVB5XZV.js';
2
- export { DEFAULT_API_BASE_URL, FFIDAnnouncementBadge, FFIDAnnouncementList, FFIDLoginButton, FFIDOrganizationSwitcher, FFIDProvider, FFIDSubscriptionBadge, FFIDUserMenu, FFID_ANNOUNCEMENTS_ERROR_CODES, createFFIDAnnouncementsClient, createFFIDClient, createTokenStore, generateCodeChallenge, generateCodeVerifier, retrieveCodeVerifier, storeCodeVerifier, useFFID, useFFIDAnnouncements, useSubscription, withSubscription } from './chunk-7OVB5XZV.js';
1
+ import { useFFIDContext } from './chunk-5SNBQVJQ.js';
2
+ export { DEFAULT_API_BASE_URL, FFIDAnnouncementBadge, FFIDAnnouncementList, FFIDLoginButton, FFIDOrganizationSwitcher, FFIDProvider, FFIDSubscriptionBadge, FFIDUserMenu, FFID_ANNOUNCEMENTS_ERROR_CODES, createFFIDAnnouncementsClient, createFFIDClient, createTokenStore, generateCodeChallenge, generateCodeVerifier, retrieveCodeVerifier, storeCodeVerifier, useFFID, useFFIDAnnouncements, useSubscription, withSubscription } from './chunk-5SNBQVJQ.js';
3
3
  import { useRef, useEffect } from 'react';
4
4
  import { jsx, Fragment } from 'react/jsx-runtime';
5
5
 
@@ -596,7 +596,7 @@ function createMembersMethods(deps) {
596
596
  }
597
597
 
598
598
  // src/client/version-check.ts
599
- var SDK_VERSION = "2.0.0";
599
+ var SDK_VERSION = "2.2.0";
600
600
  var SDK_USER_AGENT = `FFID-SDK/${SDK_VERSION} (TypeScript)`;
601
601
  var SDK_VERSION_HEADER = "X-FFID-SDK-Version";
602
602
  function sdkHeaders() {
@@ -1467,6 +1467,13 @@ function performRedirect(url, logger) {
1467
1467
  }
1468
1468
  function createContractWizardMethods(deps) {
1469
1469
  const { baseUrl, serviceCode, logger } = deps;
1470
+ function buildSubscriptionWizardUrl(flow, subscriptionId, options) {
1471
+ return buildWizardUrl(baseUrl, flow, {
1472
+ service: serviceCode,
1473
+ subscription: subscriptionId,
1474
+ redirect: options?.redirect
1475
+ });
1476
+ }
1470
1477
  function getSubscribeUrl(options) {
1471
1478
  return buildWizardUrl(baseUrl, "new-subscription", {
1472
1479
  service: serviceCode,
@@ -1477,28 +1484,19 @@ function createContractWizardMethods(deps) {
1477
1484
  return performRedirect(getSubscribeUrl(options), logger);
1478
1485
  }
1479
1486
  function getChangePlanUrl(subscriptionId, options) {
1480
- return buildWizardUrl(baseUrl, "change-plan", {
1481
- subscription: subscriptionId,
1482
- redirect: options?.redirect
1483
- });
1487
+ return buildSubscriptionWizardUrl("change-plan", subscriptionId, options);
1484
1488
  }
1485
1489
  function redirectToChangePlan(subscriptionId, options) {
1486
1490
  return performRedirect(getChangePlanUrl(subscriptionId, options), logger);
1487
1491
  }
1488
1492
  function getChangeSeatsUrl(subscriptionId, options) {
1489
- return buildWizardUrl(baseUrl, "change-seats", {
1490
- subscription: subscriptionId,
1491
- redirect: options?.redirect
1492
- });
1493
+ return buildSubscriptionWizardUrl("change-seats", subscriptionId, options);
1493
1494
  }
1494
1495
  function redirectToChangeSeats(subscriptionId, options) {
1495
1496
  return performRedirect(getChangeSeatsUrl(subscriptionId, options), logger);
1496
1497
  }
1497
1498
  function getRecoverPaymentUrl(subscriptionId, options) {
1498
- return buildWizardUrl(baseUrl, "payment-recovery", {
1499
- subscription: subscriptionId,
1500
- redirect: options?.redirect
1501
- });
1499
+ return buildSubscriptionWizardUrl("payment-recovery", subscriptionId, options);
1502
1500
  }
1503
1501
  function redirectToRecoverPayment(subscriptionId, options) {
1504
1502
  return performRedirect(getRecoverPaymentUrl(subscriptionId, options), logger);
@@ -595,7 +595,7 @@ function createMembersMethods(deps) {
595
595
  }
596
596
 
597
597
  // src/client/version-check.ts
598
- var SDK_VERSION = "2.0.0";
598
+ var SDK_VERSION = "2.2.0";
599
599
  var SDK_USER_AGENT = `FFID-SDK/${SDK_VERSION} (TypeScript)`;
600
600
  var SDK_VERSION_HEADER = "X-FFID-SDK-Version";
601
601
  function sdkHeaders() {
@@ -1466,6 +1466,13 @@ function performRedirect(url, logger) {
1466
1466
  }
1467
1467
  function createContractWizardMethods(deps) {
1468
1468
  const { baseUrl, serviceCode, logger } = deps;
1469
+ function buildSubscriptionWizardUrl(flow, subscriptionId, options) {
1470
+ return buildWizardUrl(baseUrl, flow, {
1471
+ service: serviceCode,
1472
+ subscription: subscriptionId,
1473
+ redirect: options?.redirect
1474
+ });
1475
+ }
1469
1476
  function getSubscribeUrl(options) {
1470
1477
  return buildWizardUrl(baseUrl, "new-subscription", {
1471
1478
  service: serviceCode,
@@ -1476,28 +1483,19 @@ function createContractWizardMethods(deps) {
1476
1483
  return performRedirect(getSubscribeUrl(options), logger);
1477
1484
  }
1478
1485
  function getChangePlanUrl(subscriptionId, options) {
1479
- return buildWizardUrl(baseUrl, "change-plan", {
1480
- subscription: subscriptionId,
1481
- redirect: options?.redirect
1482
- });
1486
+ return buildSubscriptionWizardUrl("change-plan", subscriptionId, options);
1483
1487
  }
1484
1488
  function redirectToChangePlan(subscriptionId, options) {
1485
1489
  return performRedirect(getChangePlanUrl(subscriptionId, options), logger);
1486
1490
  }
1487
1491
  function getChangeSeatsUrl(subscriptionId, options) {
1488
- return buildWizardUrl(baseUrl, "change-seats", {
1489
- subscription: subscriptionId,
1490
- redirect: options?.redirect
1491
- });
1492
+ return buildSubscriptionWizardUrl("change-seats", subscriptionId, options);
1492
1493
  }
1493
1494
  function redirectToChangeSeats(subscriptionId, options) {
1494
1495
  return performRedirect(getChangeSeatsUrl(subscriptionId, options), logger);
1495
1496
  }
1496
1497
  function getRecoverPaymentUrl(subscriptionId, options) {
1497
- return buildWizardUrl(baseUrl, "payment-recovery", {
1498
- subscription: subscriptionId,
1499
- redirect: options?.redirect
1500
- });
1498
+ return buildSubscriptionWizardUrl("payment-recovery", subscriptionId, options);
1501
1499
  }
1502
1500
  function redirectToRecoverPayment(subscriptionId, options) {
1503
1501
  return performRedirect(getRecoverPaymentUrl(subscriptionId, options), logger);
@@ -83,6 +83,7 @@ interface FFIDUserCreatedPayload {
83
83
  interface FFIDUserUpdatedPayload {
84
84
  userId: string;
85
85
  displayName?: string;
86
+ avatarUrl?: string | null;
86
87
  updatedFields?: string[];
87
88
  }
88
89
  interface FFIDUserDeletedPayload {
@@ -83,6 +83,7 @@ interface FFIDUserCreatedPayload {
83
83
  interface FFIDUserUpdatedPayload {
84
84
  userId: string;
85
85
  displayName?: string;
86
+ avatarUrl?: string | null;
86
87
  updatedFields?: string[];
87
88
  }
88
89
  interface FFIDUserDeletedPayload {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@feelflow/ffid-sdk",
3
- "version": "2.0.0",
3
+ "version": "2.2.0",
4
4
  "description": "FeelFlow ID Platform SDK for React/Next.js applications",
5
5
  "keywords": [
6
6
  "feelflow",