@feelflow/ffid-sdk 6.0.0 → 7.1.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/README.md +47 -0
- package/dist/{FFIDCookieLink-BJgVcJyw.d.cts → FFIDCookieLink-Bwr0FBrV.d.cts} +13 -46
- package/dist/{FFIDCookieLink-BJgVcJyw.d.ts → FFIDCookieLink-Bwr0FBrV.d.ts} +13 -46
- package/dist/{chunk-CI6RBG77.cjs → chunk-CI4N7KJK.cjs} +350 -61
- package/dist/{chunk-G7VOX64X.js → chunk-RHBZHSRD.js} +4 -30
- package/dist/{chunk-H5O2CCAY.cjs → chunk-XELXXL2F.cjs} +2 -29
- package/dist/{chunk-NBBHMLXO.js → chunk-Y4TUICQZ.js} +345 -62
- package/dist/components/index.cjs +8 -8
- package/dist/components/index.js +1 -1
- package/dist/consent/index.cjs +63 -67
- package/dist/consent/index.d.cts +2 -2
- package/dist/consent/index.d.ts +2 -2
- package/dist/consent/index.js +1 -1
- package/dist/{ffid-client-C8XV7lUt.d.cts → ffid-client-BFgoVPOZ.d.cts} +161 -1
- package/dist/{ffid-client-CpVixUM3.d.ts → ffid-client-QNEFA3mv.d.ts} +161 -1
- package/dist/index.cjs +103 -79
- package/dist/index.d.cts +162 -2
- package/dist/index.d.ts +162 -2
- package/dist/index.js +3 -3
- package/dist/server/index.cjs +350 -61
- package/dist/server/index.d.cts +2 -2
- package/dist/server/index.d.ts +2 -2
- package/dist/server/index.js +345 -62
- package/dist/server/test/index.d.cts +1 -1
- package/dist/server/test/index.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1079,11 +1079,6 @@ var FALLBACK_VALUE = {
|
|
|
1079
1079
|
syncWithUser: defaultAction
|
|
1080
1080
|
};
|
|
1081
1081
|
var FFIDConsentContext = react.createContext(FALLBACK_VALUE);
|
|
1082
|
-
var DEFAULT_MERGE_WARNING_MESSAGES = {
|
|
1083
|
-
local_state_overridden: "\u5225\u306E\u7AEF\u672B\u3067\u4FDD\u5B58\u3055\u308C\u305F Cookie \u540C\u610F\u8A2D\u5B9A\u3067\u66F4\u65B0\u3055\u308C\u307E\u3057\u305F",
|
|
1084
|
-
shared_device_detected: "\u3053\u306E\u7AEF\u672B\u306F\u5225\u306E\u30A2\u30AB\u30A6\u30F3\u30C8\u3067\u3082\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059\u3002Cookie \u8A2D\u5B9A\u306F\u30A2\u30AB\u30A6\u30F3\u30C8\u3054\u3068\u306B\u4FDD\u5B58\u3055\u308C\u3066\u3044\u307E\u3059",
|
|
1085
|
-
drift_detected: "\u4FDD\u5B58\u3055\u308C\u3066\u3044\u305F\u8A2D\u5B9A\u3068\u7570\u306A\u308B\u9805\u76EE\u304C\u3042\u3063\u305F\u305F\u3081\u3001\u65B0\u3057\u304F\u8A18\u9332\u3055\u308C\u307E\u3057\u305F"
|
|
1086
|
-
};
|
|
1087
1082
|
var DEFAULT_DISMISSAL_COOLDOWN_MINUTES = 30;
|
|
1088
1083
|
var MS_PER_MINUTE = 6e4;
|
|
1089
1084
|
function applyChanges(base, changes) {
|
|
@@ -1106,18 +1101,10 @@ function FFIDAnalyticsProvider({
|
|
|
1106
1101
|
onError,
|
|
1107
1102
|
autoShowBanner = true,
|
|
1108
1103
|
dismissalCooldownMinutes = DEFAULT_DISMISSAL_COOLDOWN_MINUTES,
|
|
1109
|
-
mergeWarningMessages,
|
|
1110
1104
|
fetchImpl,
|
|
1111
1105
|
children
|
|
1112
1106
|
}) {
|
|
1113
1107
|
const cooldownMs = Number.isFinite(dismissalCooldownMinutes) && dismissalCooldownMinutes > 0 ? dismissalCooldownMinutes * MS_PER_MINUTE : 0;
|
|
1114
|
-
const resolvedMergeWarningMessages = react.useMemo(
|
|
1115
|
-
() => ({
|
|
1116
|
-
...DEFAULT_MERGE_WARNING_MESSAGES,
|
|
1117
|
-
...mergeWarningMessages
|
|
1118
|
-
}),
|
|
1119
|
-
[mergeWarningMessages]
|
|
1120
|
-
);
|
|
1121
1108
|
const isWithinDismissalCooldown = react.useCallback(() => {
|
|
1122
1109
|
if (cooldownMs <= 0) return false;
|
|
1123
1110
|
const dismissedAt = readConsentDismissalTimestamp();
|
|
@@ -1387,19 +1374,7 @@ function FFIDAnalyticsProvider({
|
|
|
1387
1374
|
setState(result.value.state);
|
|
1388
1375
|
applyCategoriesSideEffects(result.value.state.categories);
|
|
1389
1376
|
persistCategories(result.value.state.categories);
|
|
1390
|
-
const warning = result.value.warning ? {
|
|
1391
|
-
code: result.value.warning,
|
|
1392
|
-
// Belt-and-suspenders fallback per spec §5.3: an empty-string
|
|
1393
|
-
// override (`mergeWarningMessages={{ code: '' }}`) or a future
|
|
1394
|
-
// wire-schema widening that adds a new `FFIDConsentMergeWarning`
|
|
1395
|
-
// literal without a default copy would otherwise leak `''` /
|
|
1396
|
-
// `undefined` into `warning.message`, silently breaking consumers
|
|
1397
|
-
// that render it (`<Toast>{warning.message}</Toast>`,
|
|
1398
|
-
// `Sentry.setContext`). Truthy-fallback preserves visibility of
|
|
1399
|
-
// the JP default; consumers wanting to suppress display should
|
|
1400
|
-
// pattern-match on `code` instead of mutating `message`.
|
|
1401
|
-
message: resolvedMergeWarningMessages[result.value.warning] || DEFAULT_MERGE_WARNING_MESSAGES[result.value.warning]
|
|
1402
|
-
} : null;
|
|
1377
|
+
const warning = result.value.warning ? { code: result.value.warning } : null;
|
|
1403
1378
|
onConsentChange?.(result.value.state, warning);
|
|
1404
1379
|
return result;
|
|
1405
1380
|
}, [
|
|
@@ -1407,8 +1382,7 @@ function FFIDAnalyticsProvider({
|
|
|
1407
1382
|
ensurePolicyVersion,
|
|
1408
1383
|
onConsentChange,
|
|
1409
1384
|
onError,
|
|
1410
|
-
persistCategories
|
|
1411
|
-
resolvedMergeWarningMessages
|
|
1385
|
+
persistCategories
|
|
1412
1386
|
]);
|
|
1413
1387
|
const openBanner = react.useCallback(() => setIsBannerOpen(true), []);
|
|
1414
1388
|
const closeBanner = react.useCallback(() => {
|
|
@@ -2012,7 +1986,6 @@ exports.CONSENT_DISMISSAL_TIMESTAMP_KEY = CONSENT_DISMISSAL_TIMESTAMP_KEY;
|
|
|
2012
1986
|
exports.CONSENT_SESSION_STORAGE_KEY = CONSENT_SESSION_STORAGE_KEY;
|
|
2013
1987
|
exports.COOKIE_VERSION = COOKIE_VERSION;
|
|
2014
1988
|
exports.DEFAULT_CONSENT_ERROR_MESSAGES = DEFAULT_CONSENT_ERROR_MESSAGES;
|
|
2015
|
-
exports.DEFAULT_MERGE_WARNING_MESSAGES = DEFAULT_MERGE_WARNING_MESSAGES;
|
|
2016
1989
|
exports.DEVICE_ID_LOCAL_STORAGE_KEY = DEVICE_ID_LOCAL_STORAGE_KEY;
|
|
2017
1990
|
exports.DEVICE_ID_SESSION_STORAGE_KEY = DEVICE_ID_SESSION_STORAGE_KEY;
|
|
2018
1991
|
exports.DeviceIdSchema = DeviceIdSchema;
|
|
@@ -1301,6 +1301,310 @@ function createMembersMethods(deps) {
|
|
|
1301
1301
|
return { listMembers, addMember, updateMemberRole, removeMember };
|
|
1302
1302
|
}
|
|
1303
1303
|
|
|
1304
|
+
// src/types/organization-profile.ts
|
|
1305
|
+
var FFID_INDUSTRY_CODES = [
|
|
1306
|
+
"agriculture",
|
|
1307
|
+
"construction",
|
|
1308
|
+
"manufacturing",
|
|
1309
|
+
"it-software",
|
|
1310
|
+
"telecom",
|
|
1311
|
+
"media",
|
|
1312
|
+
"retail",
|
|
1313
|
+
"wholesale",
|
|
1314
|
+
"finance-insurance",
|
|
1315
|
+
"real-estate",
|
|
1316
|
+
"transport-logistics",
|
|
1317
|
+
"hospitality-food",
|
|
1318
|
+
"healthcare",
|
|
1319
|
+
"education",
|
|
1320
|
+
"professional-services",
|
|
1321
|
+
"marketing-advertising",
|
|
1322
|
+
"energy-utilities",
|
|
1323
|
+
"public-sector",
|
|
1324
|
+
"nonprofit",
|
|
1325
|
+
"other"
|
|
1326
|
+
];
|
|
1327
|
+
var FFID_COMPANY_SIZE_CODES = [
|
|
1328
|
+
"1-10",
|
|
1329
|
+
"11-50",
|
|
1330
|
+
"51-200",
|
|
1331
|
+
"201-500",
|
|
1332
|
+
"501-1000",
|
|
1333
|
+
"1001+"
|
|
1334
|
+
];
|
|
1335
|
+
var BYTES_PER_KB = 1024;
|
|
1336
|
+
var KB_PER_MB = 1024;
|
|
1337
|
+
var FFID_MAX_ORGANIZATION_LOGO_FILE_SIZE_MB = 2;
|
|
1338
|
+
var FFID_MAX_ORGANIZATION_LOGO_FILE_SIZE_BYTES = FFID_MAX_ORGANIZATION_LOGO_FILE_SIZE_MB * KB_PER_MB * BYTES_PER_KB;
|
|
1339
|
+
var FFID_ALLOWED_ORGANIZATION_LOGO_MIME_TYPES = [
|
|
1340
|
+
"image/png",
|
|
1341
|
+
"image/jpeg",
|
|
1342
|
+
"image/webp"
|
|
1343
|
+
];
|
|
1344
|
+
var FFID_ORGANIZATION_PROFILE_ERROR_CODES = {
|
|
1345
|
+
VALIDATION_ERROR: "VALIDATION_ERROR",
|
|
1346
|
+
ORGANIZATION_NOT_FOUND: "ORGANIZATION_NOT_FOUND",
|
|
1347
|
+
CONSENTED_BY_NOT_MEMBER: "CONSENTED_BY_NOT_MEMBER",
|
|
1348
|
+
MISSING_FILE: "MISSING_FILE",
|
|
1349
|
+
INVALID_FILE_TYPE: "INVALID_FILE_TYPE",
|
|
1350
|
+
FILE_TOO_LARGE: "FILE_TOO_LARGE",
|
|
1351
|
+
INVALID_IMAGE: "INVALID_IMAGE",
|
|
1352
|
+
LOGO_UPLOAD_FAILED: "LOGO_UPLOAD_FAILED"
|
|
1353
|
+
};
|
|
1354
|
+
|
|
1355
|
+
// src/client/version-check.ts
|
|
1356
|
+
var SDK_VERSION = "7.1.0";
|
|
1357
|
+
var SDK_USER_AGENT = `FFID-SDK/${SDK_VERSION} (TypeScript)`;
|
|
1358
|
+
var SDK_VERSION_HEADER = "X-FFID-SDK-Version";
|
|
1359
|
+
function sdkHeaders() {
|
|
1360
|
+
if (typeof window !== "undefined") return {};
|
|
1361
|
+
return {
|
|
1362
|
+
"User-Agent": SDK_USER_AGENT,
|
|
1363
|
+
[SDK_VERSION_HEADER]: SDK_VERSION
|
|
1364
|
+
};
|
|
1365
|
+
}
|
|
1366
|
+
var LATEST_VERSION_HEADER = "X-FFID-SDK-Latest-Version";
|
|
1367
|
+
var SEMVER_PATTERN = /^\d+(\.\d+)*$/;
|
|
1368
|
+
var _versionWarningShown = false;
|
|
1369
|
+
function compareSemver(a, b) {
|
|
1370
|
+
const cleanA = a.replace(/^v/, "");
|
|
1371
|
+
const cleanB = b.replace(/^v/, "");
|
|
1372
|
+
if (!SEMVER_PATTERN.test(cleanA) || !SEMVER_PATTERN.test(cleanB)) return 0;
|
|
1373
|
+
const partsA = cleanA.split(".").map(Number);
|
|
1374
|
+
const partsB = cleanB.split(".").map(Number);
|
|
1375
|
+
const maxLen = Math.max(partsA.length, partsB.length);
|
|
1376
|
+
for (let i = 0; i < maxLen; i++) {
|
|
1377
|
+
const numA = partsA[i] ?? 0;
|
|
1378
|
+
const numB = partsB[i] ?? 0;
|
|
1379
|
+
if (numA < numB) return -1;
|
|
1380
|
+
if (numA > numB) return 1;
|
|
1381
|
+
}
|
|
1382
|
+
return 0;
|
|
1383
|
+
}
|
|
1384
|
+
function checkVersionHeader(response, logger) {
|
|
1385
|
+
if (_versionWarningShown) return;
|
|
1386
|
+
if (typeof process !== "undefined" && process.env?.NODE_ENV === "production") return;
|
|
1387
|
+
if (!response.headers?.get) return;
|
|
1388
|
+
const latestVersion = response.headers.get(LATEST_VERSION_HEADER);
|
|
1389
|
+
if (!latestVersion) return;
|
|
1390
|
+
if (compareSemver(SDK_VERSION, latestVersion) < 0) {
|
|
1391
|
+
_versionWarningShown = true;
|
|
1392
|
+
logger.warn(
|
|
1393
|
+
`\u65B0\u3057\u3044\u30D0\u30FC\u30B8\u30E7\u30F3\u304C\u5229\u7528\u53EF\u80FD\u3067\u3059: v${latestVersion} (\u73FE\u5728: v${SDK_VERSION})
|
|
1394
|
+
npm install @feelflow/ffid-sdk@latest \u3067\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3067\u304D\u307E\u3059`
|
|
1395
|
+
);
|
|
1396
|
+
}
|
|
1397
|
+
}
|
|
1398
|
+
|
|
1399
|
+
// src/client/organization-profile-methods.ts
|
|
1400
|
+
var EXT_PROFILE_ENDPOINT = "/api/v1/organizations/ext/profile";
|
|
1401
|
+
var EXT_PROFILE_LOGO_ENDPOINT = "/api/v1/organizations/ext/profile/logo";
|
|
1402
|
+
var LOGO_WALL_ENDPOINT = "/api/v1/organizations/logo-wall";
|
|
1403
|
+
var DEFAULT_LOGO_UPLOAD_FILENAME = "logo";
|
|
1404
|
+
function isBlank(value) {
|
|
1405
|
+
return !value || !value.trim();
|
|
1406
|
+
}
|
|
1407
|
+
function resolveOrganizationId(organizationIdOrParams) {
|
|
1408
|
+
return typeof organizationIdOrParams === "string" ? organizationIdOrParams : organizationIdOrParams.organizationId;
|
|
1409
|
+
}
|
|
1410
|
+
function resolveUpsertParams(organizationIdOrParams, payload) {
|
|
1411
|
+
if (typeof organizationIdOrParams === "string") {
|
|
1412
|
+
return { ...payload, organizationId: organizationIdOrParams };
|
|
1413
|
+
}
|
|
1414
|
+
return organizationIdOrParams;
|
|
1415
|
+
}
|
|
1416
|
+
function resolveUploadParams(organizationIdOrParams, file) {
|
|
1417
|
+
if (typeof organizationIdOrParams === "string") {
|
|
1418
|
+
return { organizationId: organizationIdOrParams, file };
|
|
1419
|
+
}
|
|
1420
|
+
return organizationIdOrParams;
|
|
1421
|
+
}
|
|
1422
|
+
function buildUpsertBody(params) {
|
|
1423
|
+
const { organizationId, ...body } = params;
|
|
1424
|
+
return body;
|
|
1425
|
+
}
|
|
1426
|
+
function profileQuery(organizationId) {
|
|
1427
|
+
return new URLSearchParams({ organizationId }).toString();
|
|
1428
|
+
}
|
|
1429
|
+
function logoUploadFilename(file) {
|
|
1430
|
+
if (typeof File !== "undefined" && file instanceof File && file.name) {
|
|
1431
|
+
return file.name;
|
|
1432
|
+
}
|
|
1433
|
+
return DEFAULT_LOGO_UPLOAD_FILENAME;
|
|
1434
|
+
}
|
|
1435
|
+
function listingConsentValidationError(listingConsent, createError) {
|
|
1436
|
+
if (!listingConsent || listingConsent.consented !== true) return null;
|
|
1437
|
+
if (isBlank(listingConsent.consentVersion) || isBlank(listingConsent.consentedByUserId)) {
|
|
1438
|
+
return createError(
|
|
1439
|
+
FFID_ORGANIZATION_PROFILE_ERROR_CODES.VALIDATION_ERROR,
|
|
1440
|
+
"\u63B2\u8F09\u540C\u610F\u3092\u8A18\u9332\u3059\u308B\u5834\u5408\u306F consentVersion \u3068 consentedByUserId \u304C\u5FC5\u9808\u3067\u3059"
|
|
1441
|
+
);
|
|
1442
|
+
}
|
|
1443
|
+
return null;
|
|
1444
|
+
}
|
|
1445
|
+
function resolveLogoFile(file, createError) {
|
|
1446
|
+
if (!file) {
|
|
1447
|
+
return {
|
|
1448
|
+
ok: false,
|
|
1449
|
+
error: createError(
|
|
1450
|
+
FFID_ORGANIZATION_PROFILE_ERROR_CODES.MISSING_FILE,
|
|
1451
|
+
"file \u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u30ED\u30B4\u753B\u50CF\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044"
|
|
1452
|
+
)
|
|
1453
|
+
};
|
|
1454
|
+
}
|
|
1455
|
+
if (file.size > FFID_MAX_ORGANIZATION_LOGO_FILE_SIZE_BYTES) {
|
|
1456
|
+
return {
|
|
1457
|
+
ok: false,
|
|
1458
|
+
error: createError(
|
|
1459
|
+
FFID_ORGANIZATION_PROFILE_ERROR_CODES.FILE_TOO_LARGE,
|
|
1460
|
+
`\u30ED\u30B4\u753B\u50CF\u306F${FFID_MAX_ORGANIZATION_LOGO_FILE_SIZE_MB}MB\u4EE5\u4E0B\u306B\u3057\u3066\u304F\u3060\u3055\u3044`
|
|
1461
|
+
)
|
|
1462
|
+
};
|
|
1463
|
+
}
|
|
1464
|
+
if (file.type !== "" && !FFID_ALLOWED_ORGANIZATION_LOGO_MIME_TYPES.includes(file.type)) {
|
|
1465
|
+
return {
|
|
1466
|
+
ok: false,
|
|
1467
|
+
error: createError(
|
|
1468
|
+
FFID_ORGANIZATION_PROFILE_ERROR_CODES.INVALID_FILE_TYPE,
|
|
1469
|
+
"\u30ED\u30B4\u753B\u50CF\u306F PNG / JPEG / WebP \u5F62\u5F0F\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044"
|
|
1470
|
+
)
|
|
1471
|
+
};
|
|
1472
|
+
}
|
|
1473
|
+
return { ok: true, file };
|
|
1474
|
+
}
|
|
1475
|
+
function createOrganizationProfileMethods(deps) {
|
|
1476
|
+
const { fetchWithAuth, createError, authMode, baseUrl, logger, errorCodes } = deps;
|
|
1477
|
+
function serviceKeyModeError() {
|
|
1478
|
+
if (authMode === "service-key") return null;
|
|
1479
|
+
return createError(
|
|
1480
|
+
FFID_ORGANIZATION_PROFILE_ERROR_CODES.VALIDATION_ERROR,
|
|
1481
|
+
"getOrganizationProfile / upsertOrganizationProfile / uploadOrganizationLogo \u306F service-key \u8A8D\u8A3C\uFF08X-Service-Api-Key\uFF09\u3067\u306E\u307F\u5229\u7528\u3067\u304D\u307E\u3059\u3002Bearer / cookie \u30E2\u30FC\u30C9\u3067\u306F\u547C\u3073\u51FA\u305B\u307E\u305B\u3093"
|
|
1482
|
+
);
|
|
1483
|
+
}
|
|
1484
|
+
function requireOrganizationId(organizationId) {
|
|
1485
|
+
if (isBlank(organizationId)) {
|
|
1486
|
+
return createError(
|
|
1487
|
+
FFID_ORGANIZATION_PROFILE_ERROR_CODES.VALIDATION_ERROR,
|
|
1488
|
+
"organizationId \u306F\u5FC5\u9808\u3067\u3059"
|
|
1489
|
+
);
|
|
1490
|
+
}
|
|
1491
|
+
return null;
|
|
1492
|
+
}
|
|
1493
|
+
async function fetchPublic(endpoint, options = {}) {
|
|
1494
|
+
const url = `${baseUrl}${endpoint}`;
|
|
1495
|
+
logger.debug("Fetching (public):", url);
|
|
1496
|
+
let response;
|
|
1497
|
+
try {
|
|
1498
|
+
response = await fetch(url, {
|
|
1499
|
+
...options,
|
|
1500
|
+
credentials: "omit",
|
|
1501
|
+
headers: {
|
|
1502
|
+
...sdkHeaders(),
|
|
1503
|
+
...options.headers
|
|
1504
|
+
}
|
|
1505
|
+
});
|
|
1506
|
+
} catch (error) {
|
|
1507
|
+
logger.error("Network error:", error);
|
|
1508
|
+
return {
|
|
1509
|
+
error: {
|
|
1510
|
+
code: errorCodes.NETWORK_ERROR,
|
|
1511
|
+
message: error instanceof Error ? error.message : "\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F"
|
|
1512
|
+
}
|
|
1513
|
+
};
|
|
1514
|
+
}
|
|
1515
|
+
let parsed;
|
|
1516
|
+
try {
|
|
1517
|
+
parsed = await response.json();
|
|
1518
|
+
} catch (parseError) {
|
|
1519
|
+
logger.error("Parse error:", parseError, "Status:", response.status);
|
|
1520
|
+
return {
|
|
1521
|
+
error: {
|
|
1522
|
+
code: errorCodes.PARSE_ERROR,
|
|
1523
|
+
message: `\u30B5\u30FC\u30D0\u30FC\u304B\u3089\u4E0D\u6B63\u306A\u30EC\u30B9\u30DD\u30F3\u30B9\u3092\u53D7\u4FE1\u3057\u307E\u3057\u305F (status: ${response.status})`
|
|
1524
|
+
}
|
|
1525
|
+
};
|
|
1526
|
+
}
|
|
1527
|
+
if (!parsed || typeof parsed !== "object") {
|
|
1528
|
+
return {
|
|
1529
|
+
error: {
|
|
1530
|
+
code: errorCodes.PARSE_ERROR,
|
|
1531
|
+
message: `\u30B5\u30FC\u30D0\u30FC\u304B\u3089\u4E0D\u6B63\u306A\u30EC\u30B9\u30DD\u30F3\u30B9\u3092\u53D7\u4FE1\u3057\u307E\u3057\u305F (status: ${response.status})`
|
|
1532
|
+
}
|
|
1533
|
+
};
|
|
1534
|
+
}
|
|
1535
|
+
const raw = parsed;
|
|
1536
|
+
logger.debug("Response (public):", response.status, raw);
|
|
1537
|
+
checkVersionHeader(response, logger);
|
|
1538
|
+
if (!response.ok) {
|
|
1539
|
+
return {
|
|
1540
|
+
error: raw.error ?? {
|
|
1541
|
+
code: errorCodes.UNKNOWN_ERROR,
|
|
1542
|
+
message: "\u4E0D\u660E\u306A\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F"
|
|
1543
|
+
}
|
|
1544
|
+
};
|
|
1545
|
+
}
|
|
1546
|
+
if (raw.data === void 0) {
|
|
1547
|
+
return {
|
|
1548
|
+
error: {
|
|
1549
|
+
code: errorCodes.UNKNOWN_ERROR,
|
|
1550
|
+
message: "\u30B5\u30FC\u30D0\u30FC\u304B\u3089\u30C7\u30FC\u30BF\u304C\u8FD4\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F"
|
|
1551
|
+
}
|
|
1552
|
+
};
|
|
1553
|
+
}
|
|
1554
|
+
return { data: raw.data };
|
|
1555
|
+
}
|
|
1556
|
+
async function getOrganizationProfile(organizationIdOrParams) {
|
|
1557
|
+
const modeError = serviceKeyModeError();
|
|
1558
|
+
if (modeError) return { error: modeError };
|
|
1559
|
+
const organizationId = resolveOrganizationId(organizationIdOrParams);
|
|
1560
|
+
const idError = requireOrganizationId(organizationId);
|
|
1561
|
+
if (idError) return { error: idError };
|
|
1562
|
+
return fetchWithAuth(
|
|
1563
|
+
`${EXT_PROFILE_ENDPOINT}?${profileQuery(organizationId)}`
|
|
1564
|
+
);
|
|
1565
|
+
}
|
|
1566
|
+
async function upsertOrganizationProfile(organizationIdOrParams, payload) {
|
|
1567
|
+
const modeError = serviceKeyModeError();
|
|
1568
|
+
if (modeError) return { error: modeError };
|
|
1569
|
+
const params = resolveUpsertParams(organizationIdOrParams, payload);
|
|
1570
|
+
const idError = requireOrganizationId(params.organizationId);
|
|
1571
|
+
if (idError) return { error: idError };
|
|
1572
|
+
const consentError = listingConsentValidationError(params.listingConsent, createError);
|
|
1573
|
+
if (consentError) return { error: consentError };
|
|
1574
|
+
return fetchWithAuth(
|
|
1575
|
+
`${EXT_PROFILE_ENDPOINT}?${profileQuery(params.organizationId)}`,
|
|
1576
|
+
{
|
|
1577
|
+
method: "PUT",
|
|
1578
|
+
body: JSON.stringify(buildUpsertBody(params))
|
|
1579
|
+
}
|
|
1580
|
+
);
|
|
1581
|
+
}
|
|
1582
|
+
async function uploadOrganizationLogo(organizationIdOrParams, file) {
|
|
1583
|
+
const modeError = serviceKeyModeError();
|
|
1584
|
+
if (modeError) return { error: modeError };
|
|
1585
|
+
const params = resolveUploadParams(organizationIdOrParams, file);
|
|
1586
|
+
const idError = requireOrganizationId(params.organizationId);
|
|
1587
|
+
if (idError) return { error: idError };
|
|
1588
|
+
const logoFile = resolveLogoFile(params.file, createError);
|
|
1589
|
+
if (!logoFile.ok) return { error: logoFile.error };
|
|
1590
|
+
const form = new FormData();
|
|
1591
|
+
form.append("file", logoFile.file, logoUploadFilename(logoFile.file));
|
|
1592
|
+
return fetchWithAuth(
|
|
1593
|
+
`${EXT_PROFILE_LOGO_ENDPOINT}?${profileQuery(params.organizationId)}`,
|
|
1594
|
+
{ method: "POST", body: form }
|
|
1595
|
+
);
|
|
1596
|
+
}
|
|
1597
|
+
async function getPublicLogoWall() {
|
|
1598
|
+
return fetchPublic(LOGO_WALL_ENDPOINT);
|
|
1599
|
+
}
|
|
1600
|
+
return {
|
|
1601
|
+
getOrganizationProfile,
|
|
1602
|
+
upsertOrganizationProfile,
|
|
1603
|
+
uploadOrganizationLogo,
|
|
1604
|
+
getPublicLogoWall
|
|
1605
|
+
};
|
|
1606
|
+
}
|
|
1607
|
+
|
|
1304
1608
|
// src/client/provisioning-methods.ts
|
|
1305
1609
|
var USER_PROVISION_ENDPOINT = "/api/v1/ext/users/provision";
|
|
1306
1610
|
var USER_WELCOME_EMAIL_ENDPOINT = "/api/v1/ext/users/welcome-email";
|
|
@@ -1444,7 +1748,7 @@ function createSeatMethods(deps) {
|
|
|
1444
1748
|
}
|
|
1445
1749
|
|
|
1446
1750
|
// src/client/profile-methods.ts
|
|
1447
|
-
var
|
|
1751
|
+
var EXT_PROFILE_ENDPOINT2 = "/api/v1/users/ext/me";
|
|
1448
1752
|
function resolveAuthOverride(options, createError) {
|
|
1449
1753
|
if (!options || options.accessToken === void 0) {
|
|
1450
1754
|
return {};
|
|
@@ -1465,7 +1769,7 @@ function createProfileMethods(deps) {
|
|
|
1465
1769
|
async function getProfile(options) {
|
|
1466
1770
|
const { override, error } = resolveAuthOverride(options, createError);
|
|
1467
1771
|
if (error) return { error };
|
|
1468
|
-
return fetchWithAuth(
|
|
1772
|
+
return fetchWithAuth(EXT_PROFILE_ENDPOINT2, void 0, override);
|
|
1469
1773
|
}
|
|
1470
1774
|
async function updateProfile(data, options) {
|
|
1471
1775
|
if (data === null || typeof data !== "object" || Array.isArray(data)) {
|
|
@@ -1481,7 +1785,7 @@ function createProfileMethods(deps) {
|
|
|
1481
1785
|
const { override, error } = resolveAuthOverride(options, createError);
|
|
1482
1786
|
if (error) return { error };
|
|
1483
1787
|
return fetchWithAuth(
|
|
1484
|
-
|
|
1788
|
+
EXT_PROFILE_ENDPOINT2,
|
|
1485
1789
|
{
|
|
1486
1790
|
method: "PUT",
|
|
1487
1791
|
body: JSON.stringify(data)
|
|
@@ -1674,50 +1978,6 @@ function validateTokenResponse(tokenResponse) {
|
|
|
1674
1978
|
};
|
|
1675
1979
|
}
|
|
1676
1980
|
|
|
1677
|
-
// src/client/version-check.ts
|
|
1678
|
-
var SDK_VERSION = "6.0.0";
|
|
1679
|
-
var SDK_USER_AGENT = `FFID-SDK/${SDK_VERSION} (TypeScript)`;
|
|
1680
|
-
var SDK_VERSION_HEADER = "X-FFID-SDK-Version";
|
|
1681
|
-
function sdkHeaders() {
|
|
1682
|
-
if (typeof window !== "undefined") return {};
|
|
1683
|
-
return {
|
|
1684
|
-
"User-Agent": SDK_USER_AGENT,
|
|
1685
|
-
[SDK_VERSION_HEADER]: SDK_VERSION
|
|
1686
|
-
};
|
|
1687
|
-
}
|
|
1688
|
-
var LATEST_VERSION_HEADER = "X-FFID-SDK-Latest-Version";
|
|
1689
|
-
var SEMVER_PATTERN = /^\d+(\.\d+)*$/;
|
|
1690
|
-
var _versionWarningShown = false;
|
|
1691
|
-
function compareSemver(a, b) {
|
|
1692
|
-
const cleanA = a.replace(/^v/, "");
|
|
1693
|
-
const cleanB = b.replace(/^v/, "");
|
|
1694
|
-
if (!SEMVER_PATTERN.test(cleanA) || !SEMVER_PATTERN.test(cleanB)) return 0;
|
|
1695
|
-
const partsA = cleanA.split(".").map(Number);
|
|
1696
|
-
const partsB = cleanB.split(".").map(Number);
|
|
1697
|
-
const maxLen = Math.max(partsA.length, partsB.length);
|
|
1698
|
-
for (let i = 0; i < maxLen; i++) {
|
|
1699
|
-
const numA = partsA[i] ?? 0;
|
|
1700
|
-
const numB = partsB[i] ?? 0;
|
|
1701
|
-
if (numA < numB) return -1;
|
|
1702
|
-
if (numA > numB) return 1;
|
|
1703
|
-
}
|
|
1704
|
-
return 0;
|
|
1705
|
-
}
|
|
1706
|
-
function checkVersionHeader(response, logger) {
|
|
1707
|
-
if (_versionWarningShown) return;
|
|
1708
|
-
if (typeof process !== "undefined" && process.env?.NODE_ENV === "production") return;
|
|
1709
|
-
if (!response.headers?.get) return;
|
|
1710
|
-
const latestVersion = response.headers.get(LATEST_VERSION_HEADER);
|
|
1711
|
-
if (!latestVersion) return;
|
|
1712
|
-
if (compareSemver(SDK_VERSION, latestVersion) < 0) {
|
|
1713
|
-
_versionWarningShown = true;
|
|
1714
|
-
logger.warn(
|
|
1715
|
-
`\u65B0\u3057\u3044\u30D0\u30FC\u30B8\u30E7\u30F3\u304C\u5229\u7528\u53EF\u80FD\u3067\u3059: v${latestVersion} (\u73FE\u5728: v${SDK_VERSION})
|
|
1716
|
-
npm install @feelflow/ffid-sdk@latest \u3067\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3067\u304D\u307E\u3059`
|
|
1717
|
-
);
|
|
1718
|
-
}
|
|
1719
|
-
}
|
|
1720
|
-
|
|
1721
1981
|
// src/client/oauth-token.ts
|
|
1722
1982
|
var OAUTH_TOKEN_ENDPOINT = "/api/v1/oauth/token";
|
|
1723
1983
|
var OAUTH_REVOKE_ENDPOINT = "/api/v1/oauth/revoke";
|
|
@@ -2633,7 +2893,7 @@ function normalizeRedirectUri(input) {
|
|
|
2633
2893
|
|
|
2634
2894
|
// src/client/password-reset.ts
|
|
2635
2895
|
var RESET_PASSWORD_BASE = "/api/v1/auth/reset-password";
|
|
2636
|
-
function
|
|
2896
|
+
function isBlank2(value) {
|
|
2637
2897
|
return !value || !value.trim();
|
|
2638
2898
|
}
|
|
2639
2899
|
function createPasswordResetMethods(deps) {
|
|
@@ -2694,7 +2954,7 @@ function createPasswordResetMethods(deps) {
|
|
|
2694
2954
|
return { data: raw.data };
|
|
2695
2955
|
}
|
|
2696
2956
|
async function requestPasswordReset(email) {
|
|
2697
|
-
if (
|
|
2957
|
+
if (isBlank2(email)) {
|
|
2698
2958
|
return {
|
|
2699
2959
|
error: createError("VALIDATION_ERROR", "\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u306F\u5FC5\u9808\u3067\u3059")
|
|
2700
2960
|
};
|
|
@@ -2708,7 +2968,7 @@ function createPasswordResetMethods(deps) {
|
|
|
2708
2968
|
);
|
|
2709
2969
|
}
|
|
2710
2970
|
async function verifyPasswordResetToken(accessToken) {
|
|
2711
|
-
if (
|
|
2971
|
+
if (isBlank2(accessToken)) {
|
|
2712
2972
|
return {
|
|
2713
2973
|
error: createError("VALIDATION_ERROR", "\u30A2\u30AF\u30BB\u30B9\u30C8\u30FC\u30AF\u30F3\u306F\u5FC5\u9808\u3067\u3059")
|
|
2714
2974
|
};
|
|
@@ -2722,12 +2982,12 @@ function createPasswordResetMethods(deps) {
|
|
|
2722
2982
|
);
|
|
2723
2983
|
}
|
|
2724
2984
|
async function establishResetSession(accessToken, refreshToken) {
|
|
2725
|
-
if (
|
|
2985
|
+
if (isBlank2(accessToken)) {
|
|
2726
2986
|
return {
|
|
2727
2987
|
error: createError("VALIDATION_ERROR", "\u30A2\u30AF\u30BB\u30B9\u30C8\u30FC\u30AF\u30F3\u306F\u5FC5\u9808\u3067\u3059")
|
|
2728
2988
|
};
|
|
2729
2989
|
}
|
|
2730
|
-
if (
|
|
2990
|
+
if (isBlank2(refreshToken)) {
|
|
2731
2991
|
return {
|
|
2732
2992
|
error: createError("VALIDATION_ERROR", "\u30EA\u30D5\u30EC\u30C3\u30B7\u30E5\u30C8\u30FC\u30AF\u30F3\u306F\u5FC5\u9808\u3067\u3059")
|
|
2733
2993
|
};
|
|
@@ -2741,7 +3001,7 @@ function createPasswordResetMethods(deps) {
|
|
|
2741
3001
|
);
|
|
2742
3002
|
}
|
|
2743
3003
|
async function confirmPasswordReset(password) {
|
|
2744
|
-
if (
|
|
3004
|
+
if (isBlank2(password)) {
|
|
2745
3005
|
return {
|
|
2746
3006
|
error: createError("VALIDATION_ERROR", "\u30D1\u30B9\u30EF\u30FC\u30C9\u306F\u5FC5\u9808\u3067\u3059")
|
|
2747
3007
|
};
|
|
@@ -2764,7 +3024,7 @@ function createPasswordResetMethods(deps) {
|
|
|
2764
3024
|
|
|
2765
3025
|
// src/client/otp.ts
|
|
2766
3026
|
var OTP_BASE = "/api/v1/auth/otp";
|
|
2767
|
-
function
|
|
3027
|
+
function isBlank3(value) {
|
|
2768
3028
|
return !value || !value.trim();
|
|
2769
3029
|
}
|
|
2770
3030
|
function createOtpMethods(deps) {
|
|
@@ -2825,7 +3085,7 @@ function createOtpMethods(deps) {
|
|
|
2825
3085
|
return { data: raw.data };
|
|
2826
3086
|
}
|
|
2827
3087
|
async function sendOtp(email, options) {
|
|
2828
|
-
if (
|
|
3088
|
+
if (isBlank3(email)) {
|
|
2829
3089
|
return {
|
|
2830
3090
|
error: createError("VALIDATION_ERROR", "\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u306F\u5FC5\u9808\u3067\u3059")
|
|
2831
3091
|
};
|
|
@@ -2842,12 +3102,12 @@ function createOtpMethods(deps) {
|
|
|
2842
3102
|
);
|
|
2843
3103
|
}
|
|
2844
3104
|
async function verifyOtp(params) {
|
|
2845
|
-
if (
|
|
3105
|
+
if (isBlank3(params.accessToken)) {
|
|
2846
3106
|
return {
|
|
2847
3107
|
error: createError("VALIDATION_ERROR", "\u30A2\u30AF\u30BB\u30B9\u30C8\u30FC\u30AF\u30F3\u306F\u5FC5\u9808\u3067\u3059")
|
|
2848
3108
|
};
|
|
2849
3109
|
}
|
|
2850
|
-
if (
|
|
3110
|
+
if (isBlank3(params.refreshToken)) {
|
|
2851
3111
|
return {
|
|
2852
3112
|
error: createError("VALIDATION_ERROR", "\u30EA\u30D5\u30EC\u30C3\u30B7\u30E5\u30C8\u30FC\u30AF\u30F3\u306F\u5FC5\u9808\u3067\u3059")
|
|
2853
3113
|
};
|
|
@@ -3413,6 +3673,12 @@ function resolveRedirectUri(raw, logger) {
|
|
|
3413
3673
|
return raw;
|
|
3414
3674
|
}
|
|
3415
3675
|
}
|
|
3676
|
+
function jsonContentTypeHeader(body) {
|
|
3677
|
+
if (typeof FormData !== "undefined" && body instanceof FormData) {
|
|
3678
|
+
return {};
|
|
3679
|
+
}
|
|
3680
|
+
return { "Content-Type": "application/json" };
|
|
3681
|
+
}
|
|
3416
3682
|
function createFFIDClient(config) {
|
|
3417
3683
|
if (!config.serviceCode || !config.serviceCode.trim()) {
|
|
3418
3684
|
throw new Error("FFID Client: serviceCode \u304C\u672A\u8A2D\u5B9A\u3067\u3059");
|
|
@@ -3465,7 +3731,7 @@ function createFFIDClient(config) {
|
|
|
3465
3731
|
...options,
|
|
3466
3732
|
credentials: "omit",
|
|
3467
3733
|
headers: {
|
|
3468
|
-
|
|
3734
|
+
...jsonContentTypeHeader(options.body),
|
|
3469
3735
|
...sdkHeaders(),
|
|
3470
3736
|
...options.headers,
|
|
3471
3737
|
Authorization: `Bearer ${authOverride.accessToken}`
|
|
@@ -3477,7 +3743,7 @@ function createFFIDClient(config) {
|
|
|
3477
3743
|
...options,
|
|
3478
3744
|
credentials: "omit",
|
|
3479
3745
|
headers: {
|
|
3480
|
-
|
|
3746
|
+
...jsonContentTypeHeader(options.body),
|
|
3481
3747
|
...sdkHeaders(),
|
|
3482
3748
|
"X-Service-Api-Key": serviceApiKey,
|
|
3483
3749
|
...options.headers
|
|
@@ -3487,7 +3753,7 @@ function createFFIDClient(config) {
|
|
|
3487
3753
|
if (authMode === "token") {
|
|
3488
3754
|
const tokens = tokenStore.getTokens();
|
|
3489
3755
|
const headers = {
|
|
3490
|
-
|
|
3756
|
+
...jsonContentTypeHeader(options.body),
|
|
3491
3757
|
...sdkHeaders(),
|
|
3492
3758
|
...options.headers
|
|
3493
3759
|
};
|
|
@@ -3504,7 +3770,7 @@ function createFFIDClient(config) {
|
|
|
3504
3770
|
...options,
|
|
3505
3771
|
credentials: "include",
|
|
3506
3772
|
headers: {
|
|
3507
|
-
|
|
3773
|
+
...jsonContentTypeHeader(options.body),
|
|
3508
3774
|
...sdkHeaders(),
|
|
3509
3775
|
...options.headers
|
|
3510
3776
|
}
|
|
@@ -3721,6 +3987,19 @@ function createFFIDClient(config) {
|
|
|
3721
3987
|
createError,
|
|
3722
3988
|
serviceCode: config.serviceCode
|
|
3723
3989
|
});
|
|
3990
|
+
const {
|
|
3991
|
+
getOrganizationProfile,
|
|
3992
|
+
upsertOrganizationProfile,
|
|
3993
|
+
uploadOrganizationLogo,
|
|
3994
|
+
getPublicLogoWall
|
|
3995
|
+
} = createOrganizationProfileMethods({
|
|
3996
|
+
fetchWithAuth,
|
|
3997
|
+
createError,
|
|
3998
|
+
authMode,
|
|
3999
|
+
baseUrl,
|
|
4000
|
+
logger,
|
|
4001
|
+
errorCodes: FFID_ERROR_CODES
|
|
4002
|
+
});
|
|
3724
4003
|
const { provisionUser, sendProvisionWelcomeEmail, provisionOrganization } = createProvisioningMethods({
|
|
3725
4004
|
fetchWithAuth,
|
|
3726
4005
|
createError,
|
|
@@ -3821,6 +4100,10 @@ function createFFIDClient(config) {
|
|
|
3821
4100
|
addMember,
|
|
3822
4101
|
updateMemberRole,
|
|
3823
4102
|
removeMember,
|
|
4103
|
+
getOrganizationProfile,
|
|
4104
|
+
upsertOrganizationProfile,
|
|
4105
|
+
uploadOrganizationLogo,
|
|
4106
|
+
getPublicLogoWall,
|
|
3824
4107
|
provisionUser,
|
|
3825
4108
|
sendProvisionWelcomeEmail,
|
|
3826
4109
|
provisionOrganization,
|
|
@@ -6009,4 +6292,4 @@ function FFIDInquiryForm({
|
|
|
6009
6292
|
);
|
|
6010
6293
|
}
|
|
6011
6294
|
|
|
6012
|
-
export { ACCESS_GRANTING_EFFECTIVE_STATUSES, BLOCKING_EFFECTIVE_STATUSES, CATALOG_HASH_PATTERN, DEFAULT_API_BASE_URL, DEFAULT_OAUTH_SCOPES, EFFECTIVE_SUBSCRIPTION_STATUSES, FFIDAnnouncementBadge, FFIDAnnouncementList, FFIDCatalogHashError, FFIDInquiryForm, FFIDLoginButton, FFIDOrganizationSwitcher, FFIDProvider, FFIDSDKError, FFIDSubscriptionBadge, FFIDUserMenu, FFID_ANNOUNCEMENTS_ERROR_CODES, FFID_CATALOG_ENVIRONMENTS, FFID_CATALOG_PUBLICATION_STATUSES, FFID_ERROR_CODES, FFID_INQUIRY_ACQUISITION_SOURCES, FFID_INQUIRY_CATEGORIES, FFID_INQUIRY_CATEGORIES_SITE_2026, canonicalizeCatalogValue, cleanupStateStorage, computeEffectiveStatusFromSession, computeFFIDCheckoutCopyHash, computeLegalDisclosureHash, computePaymentConfigurationHash, computePraxisCopyHash, computeScopeHash, computeTaxConfigurationHash, createFFIDAnnouncementsClient, createFFIDClient, createTokenStore, generateCodeChallenge, generateCodeVerifier, handleRedirectCallback, hasAccessFromUserinfo, hashCanonicalJson, isBlockedFromUserinfo, isFFIDInquiryAcquisitionSource, isFFIDInquiryCategorySite2026, normalizeRedirectUri, retrieveCodeVerifier, retrieveState, sha256Hex, storeCodeVerifier, storeState, useFFID, useFFIDAnnouncements, useFFIDContext, useSubscription, validatePublishedCatalog, withSubscription };
|
|
6295
|
+
export { ACCESS_GRANTING_EFFECTIVE_STATUSES, BLOCKING_EFFECTIVE_STATUSES, CATALOG_HASH_PATTERN, DEFAULT_API_BASE_URL, DEFAULT_OAUTH_SCOPES, EFFECTIVE_SUBSCRIPTION_STATUSES, FFIDAnnouncementBadge, FFIDAnnouncementList, FFIDCatalogHashError, FFIDInquiryForm, FFIDLoginButton, FFIDOrganizationSwitcher, FFIDProvider, FFIDSDKError, FFIDSubscriptionBadge, FFIDUserMenu, FFID_ALLOWED_ORGANIZATION_LOGO_MIME_TYPES, FFID_ANNOUNCEMENTS_ERROR_CODES, FFID_CATALOG_ENVIRONMENTS, FFID_CATALOG_PUBLICATION_STATUSES, FFID_COMPANY_SIZE_CODES, FFID_ERROR_CODES, FFID_INDUSTRY_CODES, FFID_INQUIRY_ACQUISITION_SOURCES, FFID_INQUIRY_CATEGORIES, FFID_INQUIRY_CATEGORIES_SITE_2026, FFID_MAX_ORGANIZATION_LOGO_FILE_SIZE_BYTES, FFID_MAX_ORGANIZATION_LOGO_FILE_SIZE_MB, FFID_ORGANIZATION_PROFILE_ERROR_CODES, canonicalizeCatalogValue, cleanupStateStorage, computeEffectiveStatusFromSession, computeFFIDCheckoutCopyHash, computeLegalDisclosureHash, computePaymentConfigurationHash, computePraxisCopyHash, computeScopeHash, computeTaxConfigurationHash, createFFIDAnnouncementsClient, createFFIDClient, createTokenStore, generateCodeChallenge, generateCodeVerifier, handleRedirectCallback, hasAccessFromUserinfo, hashCanonicalJson, isBlockedFromUserinfo, isFFIDInquiryAcquisitionSource, isFFIDInquiryCategorySite2026, normalizeRedirectUri, retrieveCodeVerifier, retrieveState, sha256Hex, storeCodeVerifier, storeState, useFFID, useFFIDAnnouncements, useFFIDContext, useSubscription, validatePublishedCatalog, withSubscription };
|
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkCI4N7KJK_cjs = require('../chunk-CI4N7KJK.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
Object.defineProperty(exports, "FFIDAnnouncementBadge", {
|
|
8
8
|
enumerable: true,
|
|
9
|
-
get: function () { return
|
|
9
|
+
get: function () { return chunkCI4N7KJK_cjs.FFIDAnnouncementBadge; }
|
|
10
10
|
});
|
|
11
11
|
Object.defineProperty(exports, "FFIDAnnouncementList", {
|
|
12
12
|
enumerable: true,
|
|
13
|
-
get: function () { return
|
|
13
|
+
get: function () { return chunkCI4N7KJK_cjs.FFIDAnnouncementList; }
|
|
14
14
|
});
|
|
15
15
|
Object.defineProperty(exports, "FFIDInquiryForm", {
|
|
16
16
|
enumerable: true,
|
|
17
|
-
get: function () { return
|
|
17
|
+
get: function () { return chunkCI4N7KJK_cjs.FFIDInquiryForm; }
|
|
18
18
|
});
|
|
19
19
|
Object.defineProperty(exports, "FFIDLoginButton", {
|
|
20
20
|
enumerable: true,
|
|
21
|
-
get: function () { return
|
|
21
|
+
get: function () { return chunkCI4N7KJK_cjs.FFIDLoginButton; }
|
|
22
22
|
});
|
|
23
23
|
Object.defineProperty(exports, "FFIDOrganizationSwitcher", {
|
|
24
24
|
enumerable: true,
|
|
25
|
-
get: function () { return
|
|
25
|
+
get: function () { return chunkCI4N7KJK_cjs.FFIDOrganizationSwitcher; }
|
|
26
26
|
});
|
|
27
27
|
Object.defineProperty(exports, "FFIDSubscriptionBadge", {
|
|
28
28
|
enumerable: true,
|
|
29
|
-
get: function () { return
|
|
29
|
+
get: function () { return chunkCI4N7KJK_cjs.FFIDSubscriptionBadge; }
|
|
30
30
|
});
|
|
31
31
|
Object.defineProperty(exports, "FFIDUserMenu", {
|
|
32
32
|
enumerable: true,
|
|
33
|
-
get: function () { return
|
|
33
|
+
get: function () { return chunkCI4N7KJK_cjs.FFIDUserMenu; }
|
|
34
34
|
});
|
package/dist/components/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { FFIDAnnouncementBadge, FFIDAnnouncementList, FFIDInquiryForm, FFIDLoginButton, FFIDOrganizationSwitcher, FFIDSubscriptionBadge, FFIDUserMenu } from '../chunk-
|
|
1
|
+
export { FFIDAnnouncementBadge, FFIDAnnouncementList, FFIDInquiryForm, FFIDLoginButton, FFIDOrganizationSwitcher, FFIDSubscriptionBadge, FFIDUserMenu } from '../chunk-Y4TUICQZ.js';
|