@feelflow/ffid-sdk 2.10.0 → 2.12.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/dist/{chunk-55KLWKM7.cjs → chunk-5ZMR3NNO.cjs} +369 -184
- package/dist/{chunk-6DYAJ6IJ.js → chunk-KJUA77BM.js} +369 -185
- package/dist/components/index.cjs +8 -8
- package/dist/components/index.d.cts +1 -1
- package/dist/components/index.d.ts +1 -1
- package/dist/components/index.js +1 -1
- package/dist/{index-BSuGxrqG.d.cts → index-BuT9VaRt.d.cts} +127 -42
- package/dist/{index-BSuGxrqG.d.ts → index-BuT9VaRt.d.ts} +127 -42
- package/dist/index.cjs +28 -24
- package/dist/index.d.cts +72 -3
- package/dist/index.d.ts +72 -3
- package/dist/index.js +2 -2
- package/dist/server/index.cjs +146 -4
- package/dist/server/index.d.cts +57 -0
- package/dist/server/index.d.ts +57 -0
- package/dist/server/index.js +146 -4
- package/package.json +1 -1
|
@@ -457,9 +457,118 @@ function createBillingMethods(deps) {
|
|
|
457
457
|
var EXT_PLANS_ENDPOINT = "/api/v1/subscriptions/ext/plans";
|
|
458
458
|
var EXT_SUBSCRIPTION_ENDPOINT = "/api/v1/subscriptions/ext";
|
|
459
459
|
var EXT_SUBSCRIBE_ENDPOINT = "/api/v1/subscriptions/ext/subscribe";
|
|
460
|
+
var FFIDSDKError = class extends Error {
|
|
461
|
+
code;
|
|
462
|
+
constructor(code, message) {
|
|
463
|
+
super(message);
|
|
464
|
+
this.name = "FFIDSDKError";
|
|
465
|
+
this.code = code;
|
|
466
|
+
}
|
|
467
|
+
};
|
|
460
468
|
function isBlankString(value) {
|
|
461
469
|
return typeof value !== "string" || value.trim() === "";
|
|
462
470
|
}
|
|
471
|
+
var MALFORMED_PREVIEW_CODE = "MALFORMED_PLAN_CHANGE_PREVIEW";
|
|
472
|
+
var MALFORMED_SEAT_PREVIEW_CODE = "MALFORMED_SEAT_CHANGE_PREVIEW";
|
|
473
|
+
var SEAT_ESTIMATE_REASONS = /* @__PURE__ */ new Set(["no_stripe_data", "custom_pricing", "stripe_error"]);
|
|
474
|
+
function validatePlanChangePreview(preview) {
|
|
475
|
+
if (preview === null || typeof preview !== "object") {
|
|
476
|
+
throw new FFIDSDKError(
|
|
477
|
+
MALFORMED_PREVIEW_CODE,
|
|
478
|
+
"SDK: server returned malformed PlanChangePreview \u2014 expected object, got " + (preview === null ? "null" : typeof preview)
|
|
479
|
+
);
|
|
480
|
+
}
|
|
481
|
+
const p = preview;
|
|
482
|
+
const flag = p.willApplyAtPeriodEnd;
|
|
483
|
+
if (typeof flag !== "boolean") {
|
|
484
|
+
throw new FFIDSDKError(
|
|
485
|
+
MALFORMED_PREVIEW_CODE,
|
|
486
|
+
`SDK: server returned malformed PlanChangePreview \u2014 willApplyAtPeriodEnd must be boolean (got ${typeof flag})`
|
|
487
|
+
);
|
|
488
|
+
}
|
|
489
|
+
const { proratedAmount, effectiveDate } = p;
|
|
490
|
+
if (flag === true) {
|
|
491
|
+
if (proratedAmount !== 0) {
|
|
492
|
+
throw new FFIDSDKError(
|
|
493
|
+
MALFORMED_PREVIEW_CODE,
|
|
494
|
+
`SDK: server returned malformed PlanChangePreview \u2014 willApplyAtPeriodEnd=true requires proratedAmount=0 (got ${JSON.stringify(proratedAmount)})`
|
|
495
|
+
);
|
|
496
|
+
}
|
|
497
|
+
if (effectiveDate !== null && typeof effectiveDate !== "string") {
|
|
498
|
+
throw new FFIDSDKError(
|
|
499
|
+
MALFORMED_PREVIEW_CODE,
|
|
500
|
+
`SDK: server returned malformed PlanChangePreview \u2014 willApplyAtPeriodEnd=true requires effectiveDate to be string or null (got ${typeof effectiveDate})`
|
|
501
|
+
);
|
|
502
|
+
}
|
|
503
|
+
return;
|
|
504
|
+
}
|
|
505
|
+
if (effectiveDate !== null) {
|
|
506
|
+
throw new FFIDSDKError(
|
|
507
|
+
MALFORMED_PREVIEW_CODE,
|
|
508
|
+
`SDK: server returned malformed PlanChangePreview \u2014 willApplyAtPeriodEnd=false requires effectiveDate=null (got ${JSON.stringify(effectiveDate)})`
|
|
509
|
+
);
|
|
510
|
+
}
|
|
511
|
+
if (typeof proratedAmount !== "number") {
|
|
512
|
+
throw new FFIDSDKError(
|
|
513
|
+
MALFORMED_PREVIEW_CODE,
|
|
514
|
+
`SDK: server returned malformed PlanChangePreview \u2014 willApplyAtPeriodEnd=false requires proratedAmount to be a number (got ${typeof proratedAmount})`
|
|
515
|
+
);
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
function validateSeatChangePreview(preview) {
|
|
519
|
+
if (preview === null || typeof preview !== "object") {
|
|
520
|
+
throw new FFIDSDKError(
|
|
521
|
+
MALFORMED_SEAT_PREVIEW_CODE,
|
|
522
|
+
"SDK: server returned malformed SeatChangePreview \u2014 expected object, got " + (preview === null ? "null" : typeof preview)
|
|
523
|
+
);
|
|
524
|
+
}
|
|
525
|
+
const p = preview;
|
|
526
|
+
if (p.type !== "seat-change") {
|
|
527
|
+
throw new FFIDSDKError(
|
|
528
|
+
MALFORMED_SEAT_PREVIEW_CODE,
|
|
529
|
+
`SDK: server returned malformed SeatChangePreview \u2014 type must be 'seat-change' (got ${JSON.stringify(p.type)})`
|
|
530
|
+
);
|
|
531
|
+
}
|
|
532
|
+
const numericFields = [
|
|
533
|
+
"currentQuantity",
|
|
534
|
+
"newQuantity",
|
|
535
|
+
"unitPrice",
|
|
536
|
+
"proratedAmount",
|
|
537
|
+
"nextInvoiceAmount"
|
|
538
|
+
];
|
|
539
|
+
for (const key of numericFields) {
|
|
540
|
+
if (typeof p[key] !== "number") {
|
|
541
|
+
throw new FFIDSDKError(
|
|
542
|
+
MALFORMED_SEAT_PREVIEW_CODE,
|
|
543
|
+
`SDK: server returned malformed SeatChangePreview \u2014 ${key} must be a number (got ${typeof p[key]})`
|
|
544
|
+
);
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
if (p.nextInvoiceDate !== null && typeof p.nextInvoiceDate !== "string") {
|
|
548
|
+
throw new FFIDSDKError(
|
|
549
|
+
MALFORMED_SEAT_PREVIEW_CODE,
|
|
550
|
+
`SDK: server returned malformed SeatChangePreview \u2014 nextInvoiceDate must be string or null (got ${typeof p.nextInvoiceDate})`
|
|
551
|
+
);
|
|
552
|
+
}
|
|
553
|
+
if (typeof p.isEstimate !== "boolean") {
|
|
554
|
+
throw new FFIDSDKError(
|
|
555
|
+
MALFORMED_SEAT_PREVIEW_CODE,
|
|
556
|
+
`SDK: server returned malformed SeatChangePreview \u2014 isEstimate must be boolean (got ${typeof p.isEstimate})`
|
|
557
|
+
);
|
|
558
|
+
}
|
|
559
|
+
if (p.estimateReason !== void 0 && !SEAT_ESTIMATE_REASONS.has(p.estimateReason)) {
|
|
560
|
+
throw new FFIDSDKError(
|
|
561
|
+
MALFORMED_SEAT_PREVIEW_CODE,
|
|
562
|
+
`SDK: server returned malformed SeatChangePreview \u2014 estimateReason must be one of 'no_stripe_data' | 'custom_pricing' | 'stripe_error' (got ${JSON.stringify(p.estimateReason)})`
|
|
563
|
+
);
|
|
564
|
+
}
|
|
565
|
+
if (!Array.isArray(p.lineItems)) {
|
|
566
|
+
throw new FFIDSDKError(
|
|
567
|
+
MALFORMED_SEAT_PREVIEW_CODE,
|
|
568
|
+
`SDK: server returned malformed SeatChangePreview \u2014 lineItems must be an array (got ${typeof p.lineItems})`
|
|
569
|
+
);
|
|
570
|
+
}
|
|
571
|
+
}
|
|
463
572
|
function createSubscriptionMethods(deps) {
|
|
464
573
|
const { fetchWithAuth, createError } = deps;
|
|
465
574
|
async function listPlans() {
|
|
@@ -546,7 +655,7 @@ function createSubscriptionMethods(deps) {
|
|
|
546
655
|
error: createError("VALIDATION_ERROR", "subscriptionId \u3068 planCode \u306F\u5FC5\u9808\u3067\u3059")
|
|
547
656
|
};
|
|
548
657
|
}
|
|
549
|
-
|
|
658
|
+
const response = await fetchWithAuth(
|
|
550
659
|
`${EXT_SUBSCRIPTION_ENDPOINT}/${encodeURIComponent(params.subscriptionId)}/plan/preview`,
|
|
551
660
|
{
|
|
552
661
|
method: "POST",
|
|
@@ -556,6 +665,36 @@ function createSubscriptionMethods(deps) {
|
|
|
556
665
|
})
|
|
557
666
|
}
|
|
558
667
|
);
|
|
668
|
+
if (response.data !== void 0) {
|
|
669
|
+
validatePlanChangePreview(response.data.preview);
|
|
670
|
+
}
|
|
671
|
+
return response;
|
|
672
|
+
}
|
|
673
|
+
async function previewSeatChange(params) {
|
|
674
|
+
if (isBlankString(params.subscriptionId)) {
|
|
675
|
+
return {
|
|
676
|
+
error: createError("VALIDATION_ERROR", "subscriptionId \u306F\u5FC5\u9808\u3067\u3059")
|
|
677
|
+
};
|
|
678
|
+
}
|
|
679
|
+
if (typeof params.quantity !== "number" || !Number.isInteger(params.quantity) || params.quantity < 1) {
|
|
680
|
+
return {
|
|
681
|
+
error: createError(
|
|
682
|
+
"VALIDATION_ERROR",
|
|
683
|
+
`quantity \u306F 1 \u4EE5\u4E0A\u306E\u6574\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059 (received: ${String(params.quantity)})`
|
|
684
|
+
)
|
|
685
|
+
};
|
|
686
|
+
}
|
|
687
|
+
const response = await fetchWithAuth(
|
|
688
|
+
`${EXT_SUBSCRIPTION_ENDPOINT}/${encodeURIComponent(params.subscriptionId)}/seats/preview`,
|
|
689
|
+
{
|
|
690
|
+
method: "POST",
|
|
691
|
+
body: JSON.stringify({ quantity: params.quantity })
|
|
692
|
+
}
|
|
693
|
+
);
|
|
694
|
+
if (response.data !== void 0) {
|
|
695
|
+
validateSeatChangePreview(response.data.preview);
|
|
696
|
+
}
|
|
697
|
+
return response;
|
|
559
698
|
}
|
|
560
699
|
return {
|
|
561
700
|
listPlans,
|
|
@@ -564,7 +703,8 @@ function createSubscriptionMethods(deps) {
|
|
|
564
703
|
changePlan,
|
|
565
704
|
cancelSubscription,
|
|
566
705
|
cancelPendingDowngrade,
|
|
567
|
-
previewPlanChange
|
|
706
|
+
previewPlanChange,
|
|
707
|
+
previewSeatChange
|
|
568
708
|
};
|
|
569
709
|
}
|
|
570
710
|
|
|
@@ -621,7 +761,7 @@ function createMembersMethods(deps) {
|
|
|
621
761
|
}
|
|
622
762
|
|
|
623
763
|
// src/client/version-check.ts
|
|
624
|
-
var SDK_VERSION = "2.
|
|
764
|
+
var SDK_VERSION = "2.12.0";
|
|
625
765
|
var SDK_USER_AGENT = `FFID-SDK/${SDK_VERSION} (TypeScript)`;
|
|
626
766
|
var SDK_VERSION_HEADER = "X-FFID-SDK-Version";
|
|
627
767
|
function sdkHeaders() {
|
|
@@ -1958,7 +2098,8 @@ function createFFIDClient(config) {
|
|
|
1958
2098
|
changePlan,
|
|
1959
2099
|
cancelSubscription,
|
|
1960
2100
|
cancelPendingDowngrade,
|
|
1961
|
-
previewPlanChange
|
|
2101
|
+
previewPlanChange,
|
|
2102
|
+
previewSeatChange
|
|
1962
2103
|
} = createSubscriptionMethods({
|
|
1963
2104
|
fetchWithAuth,
|
|
1964
2105
|
createError
|
|
@@ -2048,6 +2189,7 @@ function createFFIDClient(config) {
|
|
|
2048
2189
|
cancelSubscription,
|
|
2049
2190
|
cancelPendingDowngrade,
|
|
2050
2191
|
previewPlanChange,
|
|
2192
|
+
previewSeatChange,
|
|
2051
2193
|
verifyAccessToken,
|
|
2052
2194
|
getSubscribeUrl,
|
|
2053
2195
|
redirectToSubscribe,
|
|
@@ -3422,43 +3564,9 @@ var FFID_INQUIRY_CATEGORIES = [
|
|
|
3422
3564
|
"press",
|
|
3423
3565
|
"other"
|
|
3424
3566
|
];
|
|
3425
|
-
var
|
|
3426
|
-
|
|
3427
|
-
|
|
3428
|
-
support: "\u30B5\u30DD\u30FC\u30C8",
|
|
3429
|
-
partnership: "\u30D1\u30FC\u30C8\u30CA\u30FC\u30B7\u30C3\u30D7",
|
|
3430
|
-
press: "\u53D6\u6750\u30FB\u30D7\u30EC\u30B9",
|
|
3431
|
-
other: "\u305D\u306E\u4ED6"
|
|
3432
|
-
};
|
|
3433
|
-
function defaultCategories() {
|
|
3434
|
-
return FFID_INQUIRY_CATEGORIES.map((value) => ({
|
|
3435
|
-
value,
|
|
3436
|
-
label: DEFAULT_CATEGORY_LABELS_JA[value]
|
|
3437
|
-
}));
|
|
3438
|
-
}
|
|
3439
|
-
function renderCategoryOptions(options) {
|
|
3440
|
-
const hasAnyGroup = options.some((o) => !!o.group);
|
|
3441
|
-
if (!hasAnyGroup) {
|
|
3442
|
-
return options.map((opt) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: opt.value, children: opt.label }, opt.value));
|
|
3443
|
-
}
|
|
3444
|
-
const ungrouped = options.filter((o) => !o.group);
|
|
3445
|
-
const groupKeys = [];
|
|
3446
|
-
const groupLabelByKey = /* @__PURE__ */ new Map();
|
|
3447
|
-
const itemsByKey = /* @__PURE__ */ new Map();
|
|
3448
|
-
for (const opt of options) {
|
|
3449
|
-
if (!opt.group) continue;
|
|
3450
|
-
if (!itemsByKey.has(opt.group)) {
|
|
3451
|
-
groupKeys.push(opt.group);
|
|
3452
|
-
itemsByKey.set(opt.group, []);
|
|
3453
|
-
groupLabelByKey.set(opt.group, opt.groupLabel ?? opt.group);
|
|
3454
|
-
}
|
|
3455
|
-
itemsByKey.get(opt.group).push(opt);
|
|
3456
|
-
}
|
|
3457
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
3458
|
-
ungrouped.map((opt) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: opt.value, children: opt.label }, opt.value)),
|
|
3459
|
-
groupKeys.map((key) => /* @__PURE__ */ jsxRuntime.jsx("optgroup", { label: groupLabelByKey.get(key) ?? key, children: itemsByKey.get(key).map((opt) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: opt.value, children: opt.label }, opt.value)) }, key))
|
|
3460
|
-
] });
|
|
3461
|
-
}
|
|
3567
|
+
var CATEGORY_PLACEHOLDER_LABEL_JA = "\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044";
|
|
3568
|
+
var CATEGORY_REQUIRED_ERROR_JA = "\u304A\u554F\u3044\u5408\u308F\u305B\u7A2E\u5225\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
|
|
3569
|
+
var SUBMIT_BUTTON_OPACITY_PENDING = 0.6;
|
|
3462
3570
|
var labelStyle = {
|
|
3463
3571
|
display: "block",
|
|
3464
3572
|
fontSize: FONT_SIZE_SM,
|
|
@@ -3498,7 +3606,58 @@ var submitButtonStyle = {
|
|
|
3498
3606
|
borderRadius: BORDER_RADIUS_MD,
|
|
3499
3607
|
cursor: "pointer"
|
|
3500
3608
|
};
|
|
3501
|
-
var
|
|
3609
|
+
var successBlockStyle = {
|
|
3610
|
+
padding: SPACING_LG,
|
|
3611
|
+
border: BORDER_DEFAULT,
|
|
3612
|
+
borderRadius: BORDER_RADIUS_MD,
|
|
3613
|
+
background: "#f0fdf4",
|
|
3614
|
+
color: "#166534",
|
|
3615
|
+
fontSize: FONT_SIZE_SM
|
|
3616
|
+
};
|
|
3617
|
+
function cx(...parts) {
|
|
3618
|
+
const joined = parts.filter((p) => !!p).join(" ");
|
|
3619
|
+
return joined.length > 0 ? joined : void 0;
|
|
3620
|
+
}
|
|
3621
|
+
function styleOrUndefined(style, unstyled) {
|
|
3622
|
+
return unstyled ? void 0 : style;
|
|
3623
|
+
}
|
|
3624
|
+
var DEFAULT_CATEGORY_LABELS_JA = {
|
|
3625
|
+
general: "\u4E00\u822C\u7684\u306A\u304A\u554F\u3044\u5408\u308F\u305B",
|
|
3626
|
+
sales: "\u3054\u5C0E\u5165\u30FB\u304A\u898B\u7A4D\u3082\u308A",
|
|
3627
|
+
support: "\u30B5\u30DD\u30FC\u30C8",
|
|
3628
|
+
partnership: "\u30D1\u30FC\u30C8\u30CA\u30FC\u30B7\u30C3\u30D7",
|
|
3629
|
+
press: "\u53D6\u6750\u30FB\u30D7\u30EC\u30B9",
|
|
3630
|
+
other: "\u305D\u306E\u4ED6"
|
|
3631
|
+
};
|
|
3632
|
+
function defaultCategories() {
|
|
3633
|
+
return FFID_INQUIRY_CATEGORIES.map((value) => ({
|
|
3634
|
+
value,
|
|
3635
|
+
label: DEFAULT_CATEGORY_LABELS_JA[value]
|
|
3636
|
+
}));
|
|
3637
|
+
}
|
|
3638
|
+
function renderCategoryOptions(options) {
|
|
3639
|
+
const hasAnyGroup = options.some((o) => !!o.group);
|
|
3640
|
+
if (!hasAnyGroup) {
|
|
3641
|
+
return options.map((opt) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: opt.value, children: opt.label }, opt.value));
|
|
3642
|
+
}
|
|
3643
|
+
const ungrouped = options.filter((o) => !o.group);
|
|
3644
|
+
const groupKeys = [];
|
|
3645
|
+
const groupLabelByKey = /* @__PURE__ */ new Map();
|
|
3646
|
+
const itemsByKey = /* @__PURE__ */ new Map();
|
|
3647
|
+
for (const opt of options) {
|
|
3648
|
+
if (!opt.group) continue;
|
|
3649
|
+
if (!itemsByKey.has(opt.group)) {
|
|
3650
|
+
groupKeys.push(opt.group);
|
|
3651
|
+
itemsByKey.set(opt.group, []);
|
|
3652
|
+
groupLabelByKey.set(opt.group, opt.groupLabel ?? opt.group);
|
|
3653
|
+
}
|
|
3654
|
+
itemsByKey.get(opt.group).push(opt);
|
|
3655
|
+
}
|
|
3656
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
3657
|
+
ungrouped.map((opt) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: opt.value, children: opt.label }, opt.value)),
|
|
3658
|
+
groupKeys.map((key) => /* @__PURE__ */ jsxRuntime.jsx("optgroup", { label: groupLabelByKey.get(key) ?? key, children: itemsByKey.get(key).map((opt) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: opt.value, children: opt.label }, opt.value)) }, key))
|
|
3659
|
+
] });
|
|
3660
|
+
}
|
|
3502
3661
|
function FFIDInquiryForm({
|
|
3503
3662
|
mode,
|
|
3504
3663
|
prefill,
|
|
@@ -3515,6 +3674,9 @@ function FFIDInquiryForm({
|
|
|
3515
3674
|
onChange,
|
|
3516
3675
|
separateLegalCheckboxes = false,
|
|
3517
3676
|
messagePlaceholder,
|
|
3677
|
+
requireCategorySelection = false,
|
|
3678
|
+
unstyled = false,
|
|
3679
|
+
classNames,
|
|
3518
3680
|
locale = "ja",
|
|
3519
3681
|
className
|
|
3520
3682
|
}) {
|
|
@@ -3532,11 +3694,20 @@ function FFIDInquiryForm({
|
|
|
3532
3694
|
return null;
|
|
3533
3695
|
}, [isAuth, organizations, preselectedOrganizationId]);
|
|
3534
3696
|
const initialCategory = react.useMemo(() => {
|
|
3535
|
-
const fallback = categoryOptions[0]?.value ?? "general";
|
|
3536
3697
|
const requested = prefill?.category;
|
|
3537
|
-
if (
|
|
3538
|
-
|
|
3539
|
-
|
|
3698
|
+
if (requested && categoryOptions.some((opt) => opt.value === requested)) {
|
|
3699
|
+
return requested;
|
|
3700
|
+
}
|
|
3701
|
+
if (requireCategorySelection) return "";
|
|
3702
|
+
const first = categoryOptions[0]?.value;
|
|
3703
|
+
if (first === void 0) {
|
|
3704
|
+
console.error(
|
|
3705
|
+
"[FFIDInquiryForm] categoryOptions is empty; set requireCategorySelection=true or provide at least one category. Submits will be blocked until a value is picked."
|
|
3706
|
+
);
|
|
3707
|
+
return "";
|
|
3708
|
+
}
|
|
3709
|
+
return first;
|
|
3710
|
+
}, [categoryOptions, prefill?.category, requireCategorySelection]);
|
|
3540
3711
|
const [name, setName] = react.useState(prefill?.name ?? "");
|
|
3541
3712
|
const [email, setEmail] = react.useState(prefill?.email ?? "");
|
|
3542
3713
|
const [company, setCompany] = react.useState(isAuth ? "" : prefill?.company ?? "");
|
|
@@ -3555,7 +3726,7 @@ function FFIDInquiryForm({
|
|
|
3555
3726
|
const resolvedMessagePlaceholder = react.useMemo(() => {
|
|
3556
3727
|
if (messagePlaceholder === void 0) return void 0;
|
|
3557
3728
|
if (typeof messagePlaceholder === "string") return messagePlaceholder;
|
|
3558
|
-
return messagePlaceholder({ category });
|
|
3729
|
+
return messagePlaceholder({ category: category === "" ? null : category });
|
|
3559
3730
|
}, [messagePlaceholder, category]);
|
|
3560
3731
|
const [hydrated, setHydrated] = react.useState(false);
|
|
3561
3732
|
react.useEffect(() => {
|
|
@@ -3566,6 +3737,7 @@ function FFIDInquiryForm({
|
|
|
3566
3737
|
onChangeRef.current = onChange;
|
|
3567
3738
|
}, [onChange]);
|
|
3568
3739
|
react.useEffect(() => {
|
|
3740
|
+
if (category === "") return;
|
|
3569
3741
|
onChangeRef.current?.({
|
|
3570
3742
|
name: name.trim(),
|
|
3571
3743
|
email: email.trim(),
|
|
@@ -3596,6 +3768,7 @@ function FFIDInquiryForm({
|
|
|
3596
3768
|
turnstileToken,
|
|
3597
3769
|
locale
|
|
3598
3770
|
]);
|
|
3771
|
+
const s = (style) => styleOrUndefined(style, unstyled);
|
|
3599
3772
|
async function handleSubmit(e) {
|
|
3600
3773
|
e.preventDefault();
|
|
3601
3774
|
setFormError(null);
|
|
@@ -3616,15 +3789,17 @@ function FFIDInquiryForm({
|
|
|
3616
3789
|
setFormError("\u5229\u7528\u898F\u7D04\u3068\u30D7\u30E9\u30A4\u30D0\u30B7\u30FC\u30DD\u30EA\u30B7\u30FC\u3078\u306E\u540C\u610F\u304C\u5FC5\u8981\u3067\u3059\u3002");
|
|
3617
3790
|
return;
|
|
3618
3791
|
}
|
|
3792
|
+
if (requireCategorySelection && !category) {
|
|
3793
|
+
setFormError(CATEGORY_REQUIRED_ERROR_JA);
|
|
3794
|
+
return;
|
|
3795
|
+
}
|
|
3619
3796
|
if (!message.trim()) {
|
|
3620
3797
|
setFormError("\u304A\u554F\u3044\u5408\u308F\u305B\u5185\u5BB9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002");
|
|
3621
3798
|
return;
|
|
3622
3799
|
}
|
|
3623
|
-
if (!isAuth) {
|
|
3624
|
-
|
|
3625
|
-
|
|
3626
|
-
return;
|
|
3627
|
-
}
|
|
3800
|
+
if (!isAuth && (!name.trim() || !email.trim())) {
|
|
3801
|
+
setFormError("\u304A\u540D\u524D\u3068\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002");
|
|
3802
|
+
return;
|
|
3628
3803
|
}
|
|
3629
3804
|
setSubmitting(true);
|
|
3630
3805
|
try {
|
|
@@ -3649,9 +3824,7 @@ function FFIDInquiryForm({
|
|
|
3649
3824
|
);
|
|
3650
3825
|
setMessage("");
|
|
3651
3826
|
} else {
|
|
3652
|
-
setFormError(
|
|
3653
|
-
result.message ?? "\u9001\u4FE1\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u6642\u9593\u3092\u304A\u3044\u3066\u518D\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002"
|
|
3654
|
-
);
|
|
3827
|
+
setFormError(result.message ?? "\u9001\u4FE1\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u6642\u9593\u3092\u304A\u3044\u3066\u518D\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002");
|
|
3655
3828
|
}
|
|
3656
3829
|
} catch (err) {
|
|
3657
3830
|
console.error("[FFIDInquiryForm] onSubmit threw", err);
|
|
@@ -3665,35 +3838,56 @@ function FFIDInquiryForm({
|
|
|
3665
3838
|
"div",
|
|
3666
3839
|
{
|
|
3667
3840
|
role: "status",
|
|
3668
|
-
className,
|
|
3669
|
-
style:
|
|
3670
|
-
padding: SPACING_LG,
|
|
3671
|
-
border: BORDER_DEFAULT,
|
|
3672
|
-
borderRadius: BORDER_RADIUS_MD,
|
|
3673
|
-
background: "#f0fdf4",
|
|
3674
|
-
color: "#166534",
|
|
3675
|
-
fontSize: FONT_SIZE_SM
|
|
3676
|
-
},
|
|
3841
|
+
className: cx(className, classNames?.form, classNames?.successBlock),
|
|
3842
|
+
style: s(successBlockStyle),
|
|
3677
3843
|
children: successMessage
|
|
3678
3844
|
}
|
|
3679
3845
|
);
|
|
3680
3846
|
}
|
|
3681
3847
|
const showOrgBlock = isAuth && organizations.length >= 1;
|
|
3848
|
+
const rowStyle = { display: "flex", alignItems: "center", gap: SPACING_SM, marginBottom: SPACING_SM };
|
|
3849
|
+
const rowStyleLast = { display: "flex", alignItems: "center", gap: SPACING_SM };
|
|
3850
|
+
const legalRowFirst = { display: "flex", alignItems: "flex-start", gap: SPACING_SM, marginBottom: SPACING_SM };
|
|
3851
|
+
const legalRowLast = { display: "flex", alignItems: "flex-start", gap: SPACING_SM };
|
|
3852
|
+
const spanStyle = { fontSize: FONT_SIZE_SM };
|
|
3853
|
+
function renderTermsLink() {
|
|
3854
|
+
return termsHref ? /* @__PURE__ */ jsxRuntime.jsxs("a", { href: termsHref, target: "_blank", rel: "noopener noreferrer", className: classNames?.legalLink, children: [
|
|
3855
|
+
"\u5229\u7528\u898F\u7D04 (v",
|
|
3856
|
+
termsVersion,
|
|
3857
|
+
")"
|
|
3858
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
3859
|
+
"\u5229\u7528\u898F\u7D04 (v",
|
|
3860
|
+
termsVersion,
|
|
3861
|
+
")"
|
|
3862
|
+
] });
|
|
3863
|
+
}
|
|
3864
|
+
function renderPrivacyLink() {
|
|
3865
|
+
return privacyHref ? /* @__PURE__ */ jsxRuntime.jsxs("a", { href: privacyHref, target: "_blank", rel: "noopener noreferrer", className: classNames?.legalLink, children: [
|
|
3866
|
+
"\u30D7\u30E9\u30A4\u30D0\u30B7\u30FC\u30DD\u30EA\u30B7\u30FC (v",
|
|
3867
|
+
privacyVersion,
|
|
3868
|
+
")"
|
|
3869
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
3870
|
+
"\u30D7\u30E9\u30A4\u30D0\u30B7\u30FC\u30DD\u30EA\u30B7\u30FC (v",
|
|
3871
|
+
privacyVersion,
|
|
3872
|
+
")"
|
|
3873
|
+
] });
|
|
3874
|
+
}
|
|
3682
3875
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3683
3876
|
"form",
|
|
3684
3877
|
{
|
|
3685
3878
|
onSubmit: handleSubmit,
|
|
3686
|
-
className,
|
|
3879
|
+
className: cx(className, classNames?.form),
|
|
3687
3880
|
noValidate: true,
|
|
3688
3881
|
"data-hydrated": hydrated ? "true" : void 0,
|
|
3689
3882
|
children: [
|
|
3690
|
-
showOrgBlock && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: fieldsetStyle, children: [
|
|
3691
|
-
/* @__PURE__ */ jsxRuntime.jsx("label", { style: labelStyle, htmlFor: "ffid-inquiry-org", children: "\u554F\u3044\u5408\u308F\u305B\u308B\u7ACB\u5834" }),
|
|
3883
|
+
showOrgBlock && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: s(fieldsetStyle), className: cx(classNames?.field, classNames?.orgSelectWrapper), children: [
|
|
3884
|
+
/* @__PURE__ */ jsxRuntime.jsx("label", { style: s(labelStyle), className: classNames?.label, htmlFor: "ffid-inquiry-org", children: "\u554F\u3044\u5408\u308F\u305B\u308B\u7ACB\u5834" }),
|
|
3692
3885
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3693
3886
|
"select",
|
|
3694
3887
|
{
|
|
3695
3888
|
id: "ffid-inquiry-org",
|
|
3696
|
-
style: inputStyle,
|
|
3889
|
+
style: s(inputStyle),
|
|
3890
|
+
className: classNames?.select,
|
|
3697
3891
|
value: organizationId ?? "",
|
|
3698
3892
|
onChange: (e) => setOrganizationId(e.target.value || null),
|
|
3699
3893
|
children: [
|
|
@@ -3706,13 +3900,14 @@ function FFIDInquiryForm({
|
|
|
3706
3900
|
}
|
|
3707
3901
|
)
|
|
3708
3902
|
] }),
|
|
3709
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: fieldsetStyle, children: [
|
|
3710
|
-
/* @__PURE__ */ jsxRuntime.jsx("label", { style: labelStyle, htmlFor: "ffid-inquiry-name", children: "\u304A\u540D\u524D" }),
|
|
3903
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: s(fieldsetStyle), className: classNames?.field, children: [
|
|
3904
|
+
/* @__PURE__ */ jsxRuntime.jsx("label", { style: s(labelStyle), className: classNames?.label, htmlFor: "ffid-inquiry-name", children: "\u304A\u540D\u524D" }),
|
|
3711
3905
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3712
3906
|
"input",
|
|
3713
3907
|
{
|
|
3714
3908
|
id: "ffid-inquiry-name",
|
|
3715
|
-
style: isNameReadOnly ? readOnlyStyle : inputStyle,
|
|
3909
|
+
style: s(isNameReadOnly ? readOnlyStyle : inputStyle),
|
|
3910
|
+
className: cx(classNames?.input, isNameReadOnly ? classNames?.readOnlyInput : void 0),
|
|
3716
3911
|
type: "text",
|
|
3717
3912
|
value: name,
|
|
3718
3913
|
onChange: (e) => setName(e.target.value),
|
|
@@ -3721,13 +3916,14 @@ function FFIDInquiryForm({
|
|
|
3721
3916
|
}
|
|
3722
3917
|
)
|
|
3723
3918
|
] }),
|
|
3724
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: fieldsetStyle, children: [
|
|
3725
|
-
/* @__PURE__ */ jsxRuntime.jsx("label", { style: labelStyle, htmlFor: "ffid-inquiry-email", children: "\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9" }),
|
|
3919
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: s(fieldsetStyle), className: classNames?.field, children: [
|
|
3920
|
+
/* @__PURE__ */ jsxRuntime.jsx("label", { style: s(labelStyle), className: classNames?.label, htmlFor: "ffid-inquiry-email", children: "\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9" }),
|
|
3726
3921
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3727
3922
|
"input",
|
|
3728
3923
|
{
|
|
3729
3924
|
id: "ffid-inquiry-email",
|
|
3730
|
-
style: isEmailReadOnly ? readOnlyStyle : inputStyle,
|
|
3925
|
+
style: s(isEmailReadOnly ? readOnlyStyle : inputStyle),
|
|
3926
|
+
className: cx(classNames?.input, isEmailReadOnly ? classNames?.readOnlyInput : void 0),
|
|
3731
3927
|
type: "email",
|
|
3732
3928
|
value: email,
|
|
3733
3929
|
onChange: (e) => setEmail(e.target.value),
|
|
@@ -3737,26 +3933,28 @@ function FFIDInquiryForm({
|
|
|
3737
3933
|
)
|
|
3738
3934
|
] }),
|
|
3739
3935
|
!isAuth && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
3740
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: fieldsetStyle, children: [
|
|
3741
|
-
/* @__PURE__ */ jsxRuntime.jsx("label", { style: labelStyle, htmlFor: "ffid-inquiry-company", children: "\u4F1A\u793E\u540D (\u4EFB\u610F)" }),
|
|
3936
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: s(fieldsetStyle), className: classNames?.field, children: [
|
|
3937
|
+
/* @__PURE__ */ jsxRuntime.jsx("label", { style: s(labelStyle), className: classNames?.label, htmlFor: "ffid-inquiry-company", children: "\u4F1A\u793E\u540D (\u4EFB\u610F)" }),
|
|
3742
3938
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3743
3939
|
"input",
|
|
3744
3940
|
{
|
|
3745
3941
|
id: "ffid-inquiry-company",
|
|
3746
|
-
style: inputStyle,
|
|
3942
|
+
style: s(inputStyle),
|
|
3943
|
+
className: classNames?.input,
|
|
3747
3944
|
type: "text",
|
|
3748
3945
|
value: company,
|
|
3749
3946
|
onChange: (e) => setCompany(e.target.value)
|
|
3750
3947
|
}
|
|
3751
3948
|
)
|
|
3752
3949
|
] }),
|
|
3753
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: fieldsetStyle, children: [
|
|
3754
|
-
/* @__PURE__ */ jsxRuntime.jsx("label", { style: labelStyle, htmlFor: "ffid-inquiry-phone", children: "\u96FB\u8A71\u756A\u53F7 (\u4EFB\u610F)" }),
|
|
3950
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: s(fieldsetStyle), className: classNames?.field, children: [
|
|
3951
|
+
/* @__PURE__ */ jsxRuntime.jsx("label", { style: s(labelStyle), className: classNames?.label, htmlFor: "ffid-inquiry-phone", children: "\u96FB\u8A71\u756A\u53F7 (\u4EFB\u610F)" }),
|
|
3755
3952
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3756
3953
|
"input",
|
|
3757
3954
|
{
|
|
3758
3955
|
id: "ffid-inquiry-phone",
|
|
3759
|
-
style: inputStyle,
|
|
3956
|
+
style: s(inputStyle),
|
|
3957
|
+
className: classNames?.input,
|
|
3760
3958
|
type: "tel",
|
|
3761
3959
|
value: phone,
|
|
3762
3960
|
onChange: (e) => setPhone(e.target.value)
|
|
@@ -3764,26 +3962,32 @@ function FFIDInquiryForm({
|
|
|
3764
3962
|
)
|
|
3765
3963
|
] })
|
|
3766
3964
|
] }),
|
|
3767
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: fieldsetStyle, children: [
|
|
3768
|
-
/* @__PURE__ */ jsxRuntime.jsx("label", { style: labelStyle, htmlFor: "ffid-inquiry-category", children: "\u304A\u554F\u3044\u5408\u308F\u305B\u7A2E\u5225" }),
|
|
3769
|
-
/* @__PURE__ */ jsxRuntime.
|
|
3965
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: s(fieldsetStyle), className: classNames?.field, children: [
|
|
3966
|
+
/* @__PURE__ */ jsxRuntime.jsx("label", { style: s(labelStyle), className: classNames?.label, htmlFor: "ffid-inquiry-category", children: "\u304A\u554F\u3044\u5408\u308F\u305B\u7A2E\u5225" }),
|
|
3967
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3770
3968
|
"select",
|
|
3771
3969
|
{
|
|
3772
3970
|
id: "ffid-inquiry-category",
|
|
3773
|
-
style: inputStyle,
|
|
3971
|
+
style: s(inputStyle),
|
|
3972
|
+
className: classNames?.select,
|
|
3774
3973
|
value: category,
|
|
3775
3974
|
onChange: (e) => setCategory(e.target.value),
|
|
3776
|
-
|
|
3975
|
+
required: requireCategorySelection,
|
|
3976
|
+
children: [
|
|
3977
|
+
requireCategorySelection && /* @__PURE__ */ jsxRuntime.jsx("option", { value: "", disabled: true, className: classNames?.categoryPlaceholderOption, children: CATEGORY_PLACEHOLDER_LABEL_JA }),
|
|
3978
|
+
renderCategoryOptions(categoryOptions)
|
|
3979
|
+
]
|
|
3777
3980
|
}
|
|
3778
3981
|
)
|
|
3779
3982
|
] }),
|
|
3780
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: fieldsetStyle, children: [
|
|
3781
|
-
/* @__PURE__ */ jsxRuntime.jsx("label", { style: labelStyle, htmlFor: "ffid-inquiry-message", children: "\u304A\u554F\u3044\u5408\u308F\u305B\u5185\u5BB9" }),
|
|
3983
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: s(fieldsetStyle), className: classNames?.field, children: [
|
|
3984
|
+
/* @__PURE__ */ jsxRuntime.jsx("label", { style: s(labelStyle), className: classNames?.label, htmlFor: "ffid-inquiry-message", children: "\u304A\u554F\u3044\u5408\u308F\u305B\u5185\u5BB9" }),
|
|
3782
3985
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3783
3986
|
"textarea",
|
|
3784
3987
|
{
|
|
3785
3988
|
id: "ffid-inquiry-message",
|
|
3786
|
-
style: { ...inputStyle, minHeight: 180, resize: "vertical" },
|
|
3989
|
+
style: s({ ...inputStyle, minHeight: 180, resize: "vertical" }),
|
|
3990
|
+
className: classNames?.textarea,
|
|
3787
3991
|
value: message,
|
|
3788
3992
|
onChange: (e) => setMessage(e.target.value),
|
|
3789
3993
|
placeholder: resolvedMessagePlaceholder,
|
|
@@ -3792,138 +3996,118 @@ function FFIDInquiryForm({
|
|
|
3792
3996
|
}
|
|
3793
3997
|
)
|
|
3794
3998
|
] }),
|
|
3795
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3796
|
-
|
|
3797
|
-
|
|
3999
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4000
|
+
"fieldset",
|
|
4001
|
+
{
|
|
4002
|
+
style: s({ ...fieldsetStyle, border: "none", padding: 0 }),
|
|
4003
|
+
className: classNames?.newsletterFieldset,
|
|
4004
|
+
children: [
|
|
4005
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4006
|
+
"legend",
|
|
4007
|
+
{
|
|
4008
|
+
style: s({ ...labelStyle, marginBottom: SPACING_SM }),
|
|
4009
|
+
className: cx(classNames?.label, classNames?.newsletterLegend),
|
|
4010
|
+
children: "\u30CB\u30E5\u30FC\u30B9\u30EC\u30BF\u30FC\u8CFC\u8AAD (\u4EFB\u610F)"
|
|
4011
|
+
}
|
|
4012
|
+
),
|
|
4013
|
+
/* @__PURE__ */ jsxRuntime.jsxs("label", { style: s(rowStyle), className: classNames?.newsletterRow, children: [
|
|
4014
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4015
|
+
"input",
|
|
4016
|
+
{
|
|
4017
|
+
type: "checkbox",
|
|
4018
|
+
className: classNames?.newsletterCheckbox,
|
|
4019
|
+
checked: inquiryFollowup,
|
|
4020
|
+
onChange: (e) => setInquiryFollowup(e.target.checked)
|
|
4021
|
+
}
|
|
4022
|
+
),
|
|
4023
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { style: s(spanStyle), children: "\u304A\u554F\u3044\u5408\u308F\u305B\u306B\u95A2\u9023\u3059\u308B\u6848\u5185\u3092\u53D7\u3051\u53D6\u308B" })
|
|
4024
|
+
] }),
|
|
4025
|
+
/* @__PURE__ */ jsxRuntime.jsxs("label", { style: s(rowStyleLast), className: classNames?.newsletterRow, children: [
|
|
4026
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4027
|
+
"input",
|
|
4028
|
+
{
|
|
4029
|
+
type: "checkbox",
|
|
4030
|
+
className: classNames?.newsletterCheckbox,
|
|
4031
|
+
checked: general,
|
|
4032
|
+
onChange: (e) => setGeneral(e.target.checked)
|
|
4033
|
+
}
|
|
4034
|
+
),
|
|
4035
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { style: s(spanStyle), children: "\u5B9A\u671F\u30CB\u30E5\u30FC\u30B9\u30EC\u30BF\u30FC\u3092\u53D7\u3051\u53D6\u308B" })
|
|
4036
|
+
] })
|
|
4037
|
+
]
|
|
4038
|
+
}
|
|
4039
|
+
),
|
|
4040
|
+
separateLegalCheckboxes ? /* @__PURE__ */ jsxRuntime.jsxs("div", { style: s(fieldsetStyle), className: classNames?.legalBlock, children: [
|
|
4041
|
+
/* @__PURE__ */ jsxRuntime.jsxs("label", { style: s(legalRowFirst), className: classNames?.legalRow, children: [
|
|
3798
4042
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3799
4043
|
"input",
|
|
3800
4044
|
{
|
|
3801
4045
|
type: "checkbox",
|
|
3802
|
-
|
|
3803
|
-
|
|
4046
|
+
className: classNames?.legalCheckbox,
|
|
4047
|
+
checked: agreedTerms,
|
|
4048
|
+
onChange: (e) => setAgreedTerms(e.target.checked),
|
|
4049
|
+
required: true
|
|
3804
4050
|
}
|
|
3805
4051
|
),
|
|
3806
|
-
/* @__PURE__ */ jsxRuntime.
|
|
4052
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { style: s(spanStyle), children: [
|
|
4053
|
+
renderTermsLink(),
|
|
4054
|
+
" \u306B\u540C\u610F\u3057\u307E\u3059\u3002"
|
|
4055
|
+
] })
|
|
3807
4056
|
] }),
|
|
3808
|
-
/* @__PURE__ */ jsxRuntime.jsxs("label", { style:
|
|
3809
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3810
|
-
"input",
|
|
3811
|
-
{
|
|
3812
|
-
type: "checkbox",
|
|
3813
|
-
checked: general,
|
|
3814
|
-
onChange: (e) => setGeneral(e.target.checked)
|
|
3815
|
-
}
|
|
3816
|
-
),
|
|
3817
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontSize: FONT_SIZE_SM }, children: "\u5B9A\u671F\u30CB\u30E5\u30FC\u30B9\u30EC\u30BF\u30FC\u3092\u53D7\u3051\u53D6\u308B" })
|
|
3818
|
-
] })
|
|
3819
|
-
] }),
|
|
3820
|
-
separateLegalCheckboxes ? /* @__PURE__ */ jsxRuntime.jsxs("div", { style: fieldsetStyle, children: [
|
|
3821
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3822
|
-
"label",
|
|
3823
|
-
{
|
|
3824
|
-
style: {
|
|
3825
|
-
display: "flex",
|
|
3826
|
-
alignItems: "flex-start",
|
|
3827
|
-
gap: SPACING_SM,
|
|
3828
|
-
marginBottom: SPACING_SM
|
|
3829
|
-
},
|
|
3830
|
-
children: [
|
|
3831
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3832
|
-
"input",
|
|
3833
|
-
{
|
|
3834
|
-
type: "checkbox",
|
|
3835
|
-
checked: agreedTerms,
|
|
3836
|
-
onChange: (e) => setAgreedTerms(e.target.checked),
|
|
3837
|
-
required: true
|
|
3838
|
-
}
|
|
3839
|
-
),
|
|
3840
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { style: { fontSize: FONT_SIZE_SM }, children: [
|
|
3841
|
-
termsHref ? /* @__PURE__ */ jsxRuntime.jsxs("a", { href: termsHref, target: "_blank", rel: "noopener noreferrer", children: [
|
|
3842
|
-
"\u5229\u7528\u898F\u7D04 (v",
|
|
3843
|
-
termsVersion,
|
|
3844
|
-
")"
|
|
3845
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
3846
|
-
"\u5229\u7528\u898F\u7D04 (v",
|
|
3847
|
-
termsVersion,
|
|
3848
|
-
")"
|
|
3849
|
-
] }),
|
|
3850
|
-
" ",
|
|
3851
|
-
"\u306B\u540C\u610F\u3057\u307E\u3059\u3002"
|
|
3852
|
-
] })
|
|
3853
|
-
]
|
|
3854
|
-
}
|
|
3855
|
-
),
|
|
3856
|
-
/* @__PURE__ */ jsxRuntime.jsxs("label", { style: { display: "flex", alignItems: "flex-start", gap: SPACING_SM }, children: [
|
|
4057
|
+
/* @__PURE__ */ jsxRuntime.jsxs("label", { style: s(legalRowLast), className: classNames?.legalRow, children: [
|
|
3857
4058
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3858
4059
|
"input",
|
|
3859
4060
|
{
|
|
3860
4061
|
type: "checkbox",
|
|
4062
|
+
className: classNames?.legalCheckbox,
|
|
3861
4063
|
checked: agreedPrivacy,
|
|
3862
4064
|
onChange: (e) => setAgreedPrivacy(e.target.checked),
|
|
3863
4065
|
required: true
|
|
3864
4066
|
}
|
|
3865
4067
|
),
|
|
3866
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { style:
|
|
3867
|
-
|
|
3868
|
-
|
|
3869
|
-
privacyVersion,
|
|
3870
|
-
")"
|
|
3871
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
3872
|
-
"\u30D7\u30E9\u30A4\u30D0\u30B7\u30FC\u30DD\u30EA\u30B7\u30FC (v",
|
|
3873
|
-
privacyVersion,
|
|
3874
|
-
")"
|
|
3875
|
-
] }),
|
|
3876
|
-
" ",
|
|
3877
|
-
"\u306B\u540C\u610F\u3057\u307E\u3059\u3002"
|
|
4068
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { style: s(spanStyle), children: [
|
|
4069
|
+
renderPrivacyLink(),
|
|
4070
|
+
" \u306B\u540C\u610F\u3057\u307E\u3059\u3002"
|
|
3878
4071
|
] })
|
|
3879
4072
|
] })
|
|
3880
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { style: fieldsetStyle, children: /* @__PURE__ */ jsxRuntime.jsxs("label", { style:
|
|
4073
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { style: s(fieldsetStyle), className: classNames?.legalBlock, children: /* @__PURE__ */ jsxRuntime.jsxs("label", { style: s(legalRowLast), className: classNames?.legalRow, children: [
|
|
3881
4074
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3882
4075
|
"input",
|
|
3883
4076
|
{
|
|
3884
4077
|
type: "checkbox",
|
|
4078
|
+
className: classNames?.legalCheckbox,
|
|
3885
4079
|
checked: agreedLegal,
|
|
3886
4080
|
onChange: (e) => setAgreedLegal(e.target.checked),
|
|
3887
4081
|
required: true
|
|
3888
4082
|
}
|
|
3889
4083
|
),
|
|
3890
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { style:
|
|
3891
|
-
|
|
3892
|
-
|
|
3893
|
-
|
|
3894
|
-
|
|
3895
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
3896
|
-
"\u5229\u7528\u898F\u7D04 (v",
|
|
3897
|
-
termsVersion,
|
|
3898
|
-
")"
|
|
3899
|
-
] }),
|
|
3900
|
-
" ",
|
|
3901
|
-
"\u3068",
|
|
3902
|
-
" ",
|
|
3903
|
-
privacyHref ? /* @__PURE__ */ jsxRuntime.jsxs("a", { href: privacyHref, target: "_blank", rel: "noopener noreferrer", children: [
|
|
3904
|
-
"\u30D7\u30E9\u30A4\u30D0\u30B7\u30FC\u30DD\u30EA\u30B7\u30FC (v",
|
|
3905
|
-
privacyVersion,
|
|
3906
|
-
")"
|
|
3907
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
3908
|
-
"\u30D7\u30E9\u30A4\u30D0\u30B7\u30FC\u30DD\u30EA\u30B7\u30FC (v",
|
|
3909
|
-
privacyVersion,
|
|
3910
|
-
")"
|
|
3911
|
-
] }),
|
|
3912
|
-
" ",
|
|
3913
|
-
"\u306B\u540C\u610F\u3057\u307E\u3059\u3002"
|
|
4084
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { style: s(spanStyle), children: [
|
|
4085
|
+
renderTermsLink(),
|
|
4086
|
+
" \u3068 ",
|
|
4087
|
+
renderPrivacyLink(),
|
|
4088
|
+
" \u306B\u540C\u610F\u3057\u307E\u3059\u3002"
|
|
3914
4089
|
] })
|
|
3915
4090
|
] }) }),
|
|
3916
|
-
!isAuth && turnstileSlot && /* @__PURE__ */ jsxRuntime.jsx("div", { style: fieldsetStyle, children: turnstileSlot }),
|
|
3917
|
-
formError && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4091
|
+
!isAuth && turnstileSlot && /* @__PURE__ */ jsxRuntime.jsx("div", { style: s(fieldsetStyle), className: classNames?.field, children: turnstileSlot }),
|
|
4092
|
+
formError && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4093
|
+
"p",
|
|
4094
|
+
{
|
|
4095
|
+
role: "alert",
|
|
4096
|
+
style: s({ ...errorTextStyle, marginBottom: SPACING_MD }),
|
|
4097
|
+
className: classNames?.errorText,
|
|
4098
|
+
children: formError
|
|
4099
|
+
}
|
|
4100
|
+
),
|
|
3918
4101
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3919
4102
|
"button",
|
|
3920
4103
|
{
|
|
3921
4104
|
type: "submit",
|
|
3922
|
-
style: {
|
|
4105
|
+
style: s({
|
|
3923
4106
|
...submitButtonStyle,
|
|
3924
4107
|
opacity: submitting ? SUBMIT_BUTTON_OPACITY_PENDING : 1,
|
|
3925
4108
|
cursor: submitting ? "not-allowed" : "pointer"
|
|
3926
|
-
},
|
|
4109
|
+
}),
|
|
4110
|
+
className: classNames?.submitButton,
|
|
3927
4111
|
disabled: submitting,
|
|
3928
4112
|
children: submitting ? "\u9001\u4FE1\u4E2D..." : "\u9001\u4FE1\u3059\u308B"
|
|
3929
4113
|
}
|
|
@@ -3940,6 +4124,7 @@ exports.FFIDInquiryForm = FFIDInquiryForm;
|
|
|
3940
4124
|
exports.FFIDLoginButton = FFIDLoginButton;
|
|
3941
4125
|
exports.FFIDOrganizationSwitcher = FFIDOrganizationSwitcher;
|
|
3942
4126
|
exports.FFIDProvider = FFIDProvider;
|
|
4127
|
+
exports.FFIDSDKError = FFIDSDKError;
|
|
3943
4128
|
exports.FFIDSubscriptionBadge = FFIDSubscriptionBadge;
|
|
3944
4129
|
exports.FFIDUserMenu = FFIDUserMenu;
|
|
3945
4130
|
exports.FFID_ANNOUNCEMENTS_ERROR_CODES = FFID_ANNOUNCEMENTS_ERROR_CODES;
|