@feelflow/ffid-sdk 2.9.0 → 2.11.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.
@@ -621,7 +621,7 @@ function createMembersMethods(deps) {
621
621
  }
622
622
 
623
623
  // src/client/version-check.ts
624
- var SDK_VERSION = "2.9.0";
624
+ var SDK_VERSION = "2.11.0";
625
625
  var SDK_USER_AGENT = `FFID-SDK/${SDK_VERSION} (TypeScript)`;
626
626
  var SDK_VERSION_HEADER = "X-FFID-SDK-Version";
627
627
  function sdkHeaders() {
@@ -3422,43 +3422,9 @@ var FFID_INQUIRY_CATEGORIES = [
3422
3422
  "press",
3423
3423
  "other"
3424
3424
  ];
3425
- var DEFAULT_CATEGORY_LABELS_JA = {
3426
- general: "\u4E00\u822C\u7684\u306A\u304A\u554F\u3044\u5408\u308F\u305B",
3427
- sales: "\u3054\u5C0E\u5165\u30FB\u304A\u898B\u7A4D\u3082\u308A",
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
- }
3425
+ var CATEGORY_PLACEHOLDER_LABEL_JA = "\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044";
3426
+ var CATEGORY_REQUIRED_ERROR_JA = "\u304A\u554F\u3044\u5408\u308F\u305B\u7A2E\u5225\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
3427
+ var SUBMIT_BUTTON_OPACITY_PENDING = 0.6;
3462
3428
  var labelStyle = {
3463
3429
  display: "block",
3464
3430
  fontSize: FONT_SIZE_SM,
@@ -3498,7 +3464,58 @@ var submitButtonStyle = {
3498
3464
  borderRadius: BORDER_RADIUS_MD,
3499
3465
  cursor: "pointer"
3500
3466
  };
3501
- var SUBMIT_BUTTON_OPACITY_PENDING = 0.6;
3467
+ var successBlockStyle = {
3468
+ padding: SPACING_LG,
3469
+ border: BORDER_DEFAULT,
3470
+ borderRadius: BORDER_RADIUS_MD,
3471
+ background: "#f0fdf4",
3472
+ color: "#166534",
3473
+ fontSize: FONT_SIZE_SM
3474
+ };
3475
+ function cx(...parts) {
3476
+ const joined = parts.filter((p) => !!p).join(" ");
3477
+ return joined.length > 0 ? joined : void 0;
3478
+ }
3479
+ function styleOrUndefined(style, unstyled) {
3480
+ return unstyled ? void 0 : style;
3481
+ }
3482
+ var DEFAULT_CATEGORY_LABELS_JA = {
3483
+ general: "\u4E00\u822C\u7684\u306A\u304A\u554F\u3044\u5408\u308F\u305B",
3484
+ sales: "\u3054\u5C0E\u5165\u30FB\u304A\u898B\u7A4D\u3082\u308A",
3485
+ support: "\u30B5\u30DD\u30FC\u30C8",
3486
+ partnership: "\u30D1\u30FC\u30C8\u30CA\u30FC\u30B7\u30C3\u30D7",
3487
+ press: "\u53D6\u6750\u30FB\u30D7\u30EC\u30B9",
3488
+ other: "\u305D\u306E\u4ED6"
3489
+ };
3490
+ function defaultCategories() {
3491
+ return FFID_INQUIRY_CATEGORIES.map((value) => ({
3492
+ value,
3493
+ label: DEFAULT_CATEGORY_LABELS_JA[value]
3494
+ }));
3495
+ }
3496
+ function renderCategoryOptions(options) {
3497
+ const hasAnyGroup = options.some((o) => !!o.group);
3498
+ if (!hasAnyGroup) {
3499
+ return options.map((opt) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: opt.value, children: opt.label }, opt.value));
3500
+ }
3501
+ const ungrouped = options.filter((o) => !o.group);
3502
+ const groupKeys = [];
3503
+ const groupLabelByKey = /* @__PURE__ */ new Map();
3504
+ const itemsByKey = /* @__PURE__ */ new Map();
3505
+ for (const opt of options) {
3506
+ if (!opt.group) continue;
3507
+ if (!itemsByKey.has(opt.group)) {
3508
+ groupKeys.push(opt.group);
3509
+ itemsByKey.set(opt.group, []);
3510
+ groupLabelByKey.set(opt.group, opt.groupLabel ?? opt.group);
3511
+ }
3512
+ itemsByKey.get(opt.group).push(opt);
3513
+ }
3514
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3515
+ ungrouped.map((opt) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: opt.value, children: opt.label }, opt.value)),
3516
+ 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))
3517
+ ] });
3518
+ }
3502
3519
  function FFIDInquiryForm({
3503
3520
  mode,
3504
3521
  prefill,
@@ -3514,6 +3531,10 @@ function FFIDInquiryForm({
3514
3531
  onSubmit,
3515
3532
  onChange,
3516
3533
  separateLegalCheckboxes = false,
3534
+ messagePlaceholder,
3535
+ requireCategorySelection = false,
3536
+ unstyled = false,
3537
+ classNames,
3517
3538
  locale = "ja",
3518
3539
  className
3519
3540
  }) {
@@ -3531,11 +3552,20 @@ function FFIDInquiryForm({
3531
3552
  return null;
3532
3553
  }, [isAuth, organizations, preselectedOrganizationId]);
3533
3554
  const initialCategory = react.useMemo(() => {
3534
- const fallback = categoryOptions[0]?.value ?? "general";
3535
3555
  const requested = prefill?.category;
3536
- if (!requested) return fallback;
3537
- return categoryOptions.some((opt) => opt.value === requested) ? requested : fallback;
3538
- }, [categoryOptions, prefill?.category]);
3556
+ if (requested && categoryOptions.some((opt) => opt.value === requested)) {
3557
+ return requested;
3558
+ }
3559
+ if (requireCategorySelection) return "";
3560
+ const first = categoryOptions[0]?.value;
3561
+ if (first === void 0) {
3562
+ console.error(
3563
+ "[FFIDInquiryForm] categoryOptions is empty; set requireCategorySelection=true or provide at least one category. Submits will be blocked until a value is picked."
3564
+ );
3565
+ return "";
3566
+ }
3567
+ return first;
3568
+ }, [categoryOptions, prefill?.category, requireCategorySelection]);
3539
3569
  const [name, setName] = react.useState(prefill?.name ?? "");
3540
3570
  const [email, setEmail] = react.useState(prefill?.email ?? "");
3541
3571
  const [company, setCompany] = react.useState(isAuth ? "" : prefill?.company ?? "");
@@ -3551,6 +3581,11 @@ function FFIDInquiryForm({
3551
3581
  const [submitting, setSubmitting] = react.useState(false);
3552
3582
  const [formError, setFormError] = react.useState(null);
3553
3583
  const [successMessage, setSuccessMessage] = react.useState(null);
3584
+ const resolvedMessagePlaceholder = react.useMemo(() => {
3585
+ if (messagePlaceholder === void 0) return void 0;
3586
+ if (typeof messagePlaceholder === "string") return messagePlaceholder;
3587
+ return messagePlaceholder({ category: category === "" ? null : category });
3588
+ }, [messagePlaceholder, category]);
3554
3589
  const [hydrated, setHydrated] = react.useState(false);
3555
3590
  react.useEffect(() => {
3556
3591
  setHydrated(true);
@@ -3560,6 +3595,7 @@ function FFIDInquiryForm({
3560
3595
  onChangeRef.current = onChange;
3561
3596
  }, [onChange]);
3562
3597
  react.useEffect(() => {
3598
+ if (category === "") return;
3563
3599
  onChangeRef.current?.({
3564
3600
  name: name.trim(),
3565
3601
  email: email.trim(),
@@ -3590,6 +3626,7 @@ function FFIDInquiryForm({
3590
3626
  turnstileToken,
3591
3627
  locale
3592
3628
  ]);
3629
+ const s = (style) => styleOrUndefined(style, unstyled);
3593
3630
  async function handleSubmit(e) {
3594
3631
  e.preventDefault();
3595
3632
  setFormError(null);
@@ -3610,15 +3647,17 @@ function FFIDInquiryForm({
3610
3647
  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");
3611
3648
  return;
3612
3649
  }
3650
+ if (requireCategorySelection && !category) {
3651
+ setFormError(CATEGORY_REQUIRED_ERROR_JA);
3652
+ return;
3653
+ }
3613
3654
  if (!message.trim()) {
3614
3655
  setFormError("\u304A\u554F\u3044\u5408\u308F\u305B\u5185\u5BB9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002");
3615
3656
  return;
3616
3657
  }
3617
- if (!isAuth) {
3618
- if (!name.trim() || !email.trim()) {
3619
- setFormError("\u304A\u540D\u524D\u3068\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002");
3620
- return;
3621
- }
3658
+ if (!isAuth && (!name.trim() || !email.trim())) {
3659
+ setFormError("\u304A\u540D\u524D\u3068\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002");
3660
+ return;
3622
3661
  }
3623
3662
  setSubmitting(true);
3624
3663
  try {
@@ -3643,9 +3682,7 @@ function FFIDInquiryForm({
3643
3682
  );
3644
3683
  setMessage("");
3645
3684
  } else {
3646
- setFormError(
3647
- 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"
3648
- );
3685
+ 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");
3649
3686
  }
3650
3687
  } catch (err) {
3651
3688
  console.error("[FFIDInquiryForm] onSubmit threw", err);
@@ -3659,35 +3696,56 @@ function FFIDInquiryForm({
3659
3696
  "div",
3660
3697
  {
3661
3698
  role: "status",
3662
- className,
3663
- style: {
3664
- padding: SPACING_LG,
3665
- border: BORDER_DEFAULT,
3666
- borderRadius: BORDER_RADIUS_MD,
3667
- background: "#f0fdf4",
3668
- color: "#166534",
3669
- fontSize: FONT_SIZE_SM
3670
- },
3699
+ className: cx(className, classNames?.form, classNames?.successBlock),
3700
+ style: s(successBlockStyle),
3671
3701
  children: successMessage
3672
3702
  }
3673
3703
  );
3674
3704
  }
3675
3705
  const showOrgBlock = isAuth && organizations.length >= 1;
3706
+ const rowStyle = { display: "flex", alignItems: "center", gap: SPACING_SM, marginBottom: SPACING_SM };
3707
+ const rowStyleLast = { display: "flex", alignItems: "center", gap: SPACING_SM };
3708
+ const legalRowFirst = { display: "flex", alignItems: "flex-start", gap: SPACING_SM, marginBottom: SPACING_SM };
3709
+ const legalRowLast = { display: "flex", alignItems: "flex-start", gap: SPACING_SM };
3710
+ const spanStyle = { fontSize: FONT_SIZE_SM };
3711
+ function renderTermsLink() {
3712
+ return termsHref ? /* @__PURE__ */ jsxRuntime.jsxs("a", { href: termsHref, target: "_blank", rel: "noopener noreferrer", className: classNames?.legalLink, children: [
3713
+ "\u5229\u7528\u898F\u7D04 (v",
3714
+ termsVersion,
3715
+ ")"
3716
+ ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3717
+ "\u5229\u7528\u898F\u7D04 (v",
3718
+ termsVersion,
3719
+ ")"
3720
+ ] });
3721
+ }
3722
+ function renderPrivacyLink() {
3723
+ return privacyHref ? /* @__PURE__ */ jsxRuntime.jsxs("a", { href: privacyHref, target: "_blank", rel: "noopener noreferrer", className: classNames?.legalLink, children: [
3724
+ "\u30D7\u30E9\u30A4\u30D0\u30B7\u30FC\u30DD\u30EA\u30B7\u30FC (v",
3725
+ privacyVersion,
3726
+ ")"
3727
+ ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3728
+ "\u30D7\u30E9\u30A4\u30D0\u30B7\u30FC\u30DD\u30EA\u30B7\u30FC (v",
3729
+ privacyVersion,
3730
+ ")"
3731
+ ] });
3732
+ }
3676
3733
  return /* @__PURE__ */ jsxRuntime.jsxs(
3677
3734
  "form",
3678
3735
  {
3679
3736
  onSubmit: handleSubmit,
3680
- className,
3737
+ className: cx(className, classNames?.form),
3681
3738
  noValidate: true,
3682
3739
  "data-hydrated": hydrated ? "true" : void 0,
3683
3740
  children: [
3684
- showOrgBlock && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: fieldsetStyle, children: [
3685
- /* @__PURE__ */ jsxRuntime.jsx("label", { style: labelStyle, htmlFor: "ffid-inquiry-org", children: "\u554F\u3044\u5408\u308F\u305B\u308B\u7ACB\u5834" }),
3741
+ showOrgBlock && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: s(fieldsetStyle), className: cx(classNames?.field, classNames?.orgSelectWrapper), children: [
3742
+ /* @__PURE__ */ jsxRuntime.jsx("label", { style: s(labelStyle), className: classNames?.label, htmlFor: "ffid-inquiry-org", children: "\u554F\u3044\u5408\u308F\u305B\u308B\u7ACB\u5834" }),
3686
3743
  /* @__PURE__ */ jsxRuntime.jsxs(
3687
3744
  "select",
3688
3745
  {
3689
3746
  id: "ffid-inquiry-org",
3690
- style: inputStyle,
3747
+ style: s(inputStyle),
3748
+ className: classNames?.select,
3691
3749
  value: organizationId ?? "",
3692
3750
  onChange: (e) => setOrganizationId(e.target.value || null),
3693
3751
  children: [
@@ -3700,13 +3758,14 @@ function FFIDInquiryForm({
3700
3758
  }
3701
3759
  )
3702
3760
  ] }),
3703
- /* @__PURE__ */ jsxRuntime.jsxs("div", { style: fieldsetStyle, children: [
3704
- /* @__PURE__ */ jsxRuntime.jsx("label", { style: labelStyle, htmlFor: "ffid-inquiry-name", children: "\u304A\u540D\u524D" }),
3761
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { style: s(fieldsetStyle), className: classNames?.field, children: [
3762
+ /* @__PURE__ */ jsxRuntime.jsx("label", { style: s(labelStyle), className: classNames?.label, htmlFor: "ffid-inquiry-name", children: "\u304A\u540D\u524D" }),
3705
3763
  /* @__PURE__ */ jsxRuntime.jsx(
3706
3764
  "input",
3707
3765
  {
3708
3766
  id: "ffid-inquiry-name",
3709
- style: isNameReadOnly ? readOnlyStyle : inputStyle,
3767
+ style: s(isNameReadOnly ? readOnlyStyle : inputStyle),
3768
+ className: cx(classNames?.input, isNameReadOnly ? classNames?.readOnlyInput : void 0),
3710
3769
  type: "text",
3711
3770
  value: name,
3712
3771
  onChange: (e) => setName(e.target.value),
@@ -3715,13 +3774,14 @@ function FFIDInquiryForm({
3715
3774
  }
3716
3775
  )
3717
3776
  ] }),
3718
- /* @__PURE__ */ jsxRuntime.jsxs("div", { style: fieldsetStyle, children: [
3719
- /* @__PURE__ */ jsxRuntime.jsx("label", { style: labelStyle, htmlFor: "ffid-inquiry-email", children: "\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9" }),
3777
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { style: s(fieldsetStyle), className: classNames?.field, children: [
3778
+ /* @__PURE__ */ jsxRuntime.jsx("label", { style: s(labelStyle), className: classNames?.label, htmlFor: "ffid-inquiry-email", children: "\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9" }),
3720
3779
  /* @__PURE__ */ jsxRuntime.jsx(
3721
3780
  "input",
3722
3781
  {
3723
3782
  id: "ffid-inquiry-email",
3724
- style: isEmailReadOnly ? readOnlyStyle : inputStyle,
3783
+ style: s(isEmailReadOnly ? readOnlyStyle : inputStyle),
3784
+ className: cx(classNames?.input, isEmailReadOnly ? classNames?.readOnlyInput : void 0),
3725
3785
  type: "email",
3726
3786
  value: email,
3727
3787
  onChange: (e) => setEmail(e.target.value),
@@ -3731,26 +3791,28 @@ function FFIDInquiryForm({
3731
3791
  )
3732
3792
  ] }),
3733
3793
  !isAuth && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3734
- /* @__PURE__ */ jsxRuntime.jsxs("div", { style: fieldsetStyle, children: [
3735
- /* @__PURE__ */ jsxRuntime.jsx("label", { style: labelStyle, htmlFor: "ffid-inquiry-company", children: "\u4F1A\u793E\u540D (\u4EFB\u610F)" }),
3794
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { style: s(fieldsetStyle), className: classNames?.field, children: [
3795
+ /* @__PURE__ */ jsxRuntime.jsx("label", { style: s(labelStyle), className: classNames?.label, htmlFor: "ffid-inquiry-company", children: "\u4F1A\u793E\u540D (\u4EFB\u610F)" }),
3736
3796
  /* @__PURE__ */ jsxRuntime.jsx(
3737
3797
  "input",
3738
3798
  {
3739
3799
  id: "ffid-inquiry-company",
3740
- style: inputStyle,
3800
+ style: s(inputStyle),
3801
+ className: classNames?.input,
3741
3802
  type: "text",
3742
3803
  value: company,
3743
3804
  onChange: (e) => setCompany(e.target.value)
3744
3805
  }
3745
3806
  )
3746
3807
  ] }),
3747
- /* @__PURE__ */ jsxRuntime.jsxs("div", { style: fieldsetStyle, children: [
3748
- /* @__PURE__ */ jsxRuntime.jsx("label", { style: labelStyle, htmlFor: "ffid-inquiry-phone", children: "\u96FB\u8A71\u756A\u53F7 (\u4EFB\u610F)" }),
3808
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { style: s(fieldsetStyle), className: classNames?.field, children: [
3809
+ /* @__PURE__ */ jsxRuntime.jsx("label", { style: s(labelStyle), className: classNames?.label, htmlFor: "ffid-inquiry-phone", children: "\u96FB\u8A71\u756A\u53F7 (\u4EFB\u610F)" }),
3749
3810
  /* @__PURE__ */ jsxRuntime.jsx(
3750
3811
  "input",
3751
3812
  {
3752
3813
  id: "ffid-inquiry-phone",
3753
- style: inputStyle,
3814
+ style: s(inputStyle),
3815
+ className: classNames?.input,
3754
3816
  type: "tel",
3755
3817
  value: phone,
3756
3818
  onChange: (e) => setPhone(e.target.value)
@@ -3758,165 +3820,152 @@ function FFIDInquiryForm({
3758
3820
  )
3759
3821
  ] })
3760
3822
  ] }),
3761
- /* @__PURE__ */ jsxRuntime.jsxs("div", { style: fieldsetStyle, children: [
3762
- /* @__PURE__ */ jsxRuntime.jsx("label", { style: labelStyle, htmlFor: "ffid-inquiry-category", children: "\u304A\u554F\u3044\u5408\u308F\u305B\u7A2E\u5225" }),
3763
- /* @__PURE__ */ jsxRuntime.jsx(
3823
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { style: s(fieldsetStyle), className: classNames?.field, children: [
3824
+ /* @__PURE__ */ jsxRuntime.jsx("label", { style: s(labelStyle), className: classNames?.label, htmlFor: "ffid-inquiry-category", children: "\u304A\u554F\u3044\u5408\u308F\u305B\u7A2E\u5225" }),
3825
+ /* @__PURE__ */ jsxRuntime.jsxs(
3764
3826
  "select",
3765
3827
  {
3766
3828
  id: "ffid-inquiry-category",
3767
- style: inputStyle,
3829
+ style: s(inputStyle),
3830
+ className: classNames?.select,
3768
3831
  value: category,
3769
3832
  onChange: (e) => setCategory(e.target.value),
3770
- children: renderCategoryOptions(categoryOptions)
3833
+ required: requireCategorySelection,
3834
+ children: [
3835
+ requireCategorySelection && /* @__PURE__ */ jsxRuntime.jsx("option", { value: "", disabled: true, className: classNames?.categoryPlaceholderOption, children: CATEGORY_PLACEHOLDER_LABEL_JA }),
3836
+ renderCategoryOptions(categoryOptions)
3837
+ ]
3771
3838
  }
3772
3839
  )
3773
3840
  ] }),
3774
- /* @__PURE__ */ jsxRuntime.jsxs("div", { style: fieldsetStyle, children: [
3775
- /* @__PURE__ */ jsxRuntime.jsx("label", { style: labelStyle, htmlFor: "ffid-inquiry-message", children: "\u304A\u554F\u3044\u5408\u308F\u305B\u5185\u5BB9" }),
3841
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { style: s(fieldsetStyle), className: classNames?.field, children: [
3842
+ /* @__PURE__ */ jsxRuntime.jsx("label", { style: s(labelStyle), className: classNames?.label, htmlFor: "ffid-inquiry-message", children: "\u304A\u554F\u3044\u5408\u308F\u305B\u5185\u5BB9" }),
3776
3843
  /* @__PURE__ */ jsxRuntime.jsx(
3777
3844
  "textarea",
3778
3845
  {
3779
3846
  id: "ffid-inquiry-message",
3780
- style: { ...inputStyle, minHeight: 180, resize: "vertical" },
3847
+ style: s({ ...inputStyle, minHeight: 180, resize: "vertical" }),
3848
+ className: classNames?.textarea,
3781
3849
  value: message,
3782
3850
  onChange: (e) => setMessage(e.target.value),
3851
+ placeholder: resolvedMessagePlaceholder,
3783
3852
  required: true,
3784
3853
  maxLength: 1e4
3785
3854
  }
3786
3855
  )
3787
3856
  ] }),
3788
- /* @__PURE__ */ jsxRuntime.jsxs("fieldset", { style: { ...fieldsetStyle, border: "none", padding: 0 }, children: [
3789
- /* @__PURE__ */ jsxRuntime.jsx("legend", { style: { ...labelStyle, marginBottom: SPACING_SM }, children: "\u30CB\u30E5\u30FC\u30B9\u30EC\u30BF\u30FC\u8CFC\u8AAD (\u4EFB\u610F)" }),
3790
- /* @__PURE__ */ jsxRuntime.jsxs("label", { style: { display: "flex", alignItems: "center", gap: SPACING_SM, marginBottom: SPACING_SM }, children: [
3857
+ /* @__PURE__ */ jsxRuntime.jsxs(
3858
+ "fieldset",
3859
+ {
3860
+ style: s({ ...fieldsetStyle, border: "none", padding: 0 }),
3861
+ className: classNames?.newsletterFieldset,
3862
+ children: [
3863
+ /* @__PURE__ */ jsxRuntime.jsx(
3864
+ "legend",
3865
+ {
3866
+ style: s({ ...labelStyle, marginBottom: SPACING_SM }),
3867
+ className: cx(classNames?.label, classNames?.newsletterLegend),
3868
+ children: "\u30CB\u30E5\u30FC\u30B9\u30EC\u30BF\u30FC\u8CFC\u8AAD (\u4EFB\u610F)"
3869
+ }
3870
+ ),
3871
+ /* @__PURE__ */ jsxRuntime.jsxs("label", { style: s(rowStyle), className: classNames?.newsletterRow, children: [
3872
+ /* @__PURE__ */ jsxRuntime.jsx(
3873
+ "input",
3874
+ {
3875
+ type: "checkbox",
3876
+ className: classNames?.newsletterCheckbox,
3877
+ checked: inquiryFollowup,
3878
+ onChange: (e) => setInquiryFollowup(e.target.checked)
3879
+ }
3880
+ ),
3881
+ /* @__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" })
3882
+ ] }),
3883
+ /* @__PURE__ */ jsxRuntime.jsxs("label", { style: s(rowStyleLast), className: classNames?.newsletterRow, children: [
3884
+ /* @__PURE__ */ jsxRuntime.jsx(
3885
+ "input",
3886
+ {
3887
+ type: "checkbox",
3888
+ className: classNames?.newsletterCheckbox,
3889
+ checked: general,
3890
+ onChange: (e) => setGeneral(e.target.checked)
3891
+ }
3892
+ ),
3893
+ /* @__PURE__ */ jsxRuntime.jsx("span", { style: s(spanStyle), children: "\u5B9A\u671F\u30CB\u30E5\u30FC\u30B9\u30EC\u30BF\u30FC\u3092\u53D7\u3051\u53D6\u308B" })
3894
+ ] })
3895
+ ]
3896
+ }
3897
+ ),
3898
+ separateLegalCheckboxes ? /* @__PURE__ */ jsxRuntime.jsxs("div", { style: s(fieldsetStyle), className: classNames?.legalBlock, children: [
3899
+ /* @__PURE__ */ jsxRuntime.jsxs("label", { style: s(legalRowFirst), className: classNames?.legalRow, children: [
3791
3900
  /* @__PURE__ */ jsxRuntime.jsx(
3792
3901
  "input",
3793
3902
  {
3794
3903
  type: "checkbox",
3795
- checked: inquiryFollowup,
3796
- onChange: (e) => setInquiryFollowup(e.target.checked)
3904
+ className: classNames?.legalCheckbox,
3905
+ checked: agreedTerms,
3906
+ onChange: (e) => setAgreedTerms(e.target.checked),
3907
+ required: true
3797
3908
  }
3798
3909
  ),
3799
- /* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontSize: FONT_SIZE_SM }, children: "\u304A\u554F\u3044\u5408\u308F\u305B\u306B\u95A2\u9023\u3059\u308B\u6848\u5185\u3092\u53D7\u3051\u53D6\u308B" })
3910
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { style: s(spanStyle), children: [
3911
+ renderTermsLink(),
3912
+ " \u306B\u540C\u610F\u3057\u307E\u3059\u3002"
3913
+ ] })
3800
3914
  ] }),
3801
- /* @__PURE__ */ jsxRuntime.jsxs("label", { style: { display: "flex", alignItems: "center", gap: SPACING_SM }, children: [
3802
- /* @__PURE__ */ jsxRuntime.jsx(
3803
- "input",
3804
- {
3805
- type: "checkbox",
3806
- checked: general,
3807
- onChange: (e) => setGeneral(e.target.checked)
3808
- }
3809
- ),
3810
- /* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontSize: FONT_SIZE_SM }, children: "\u5B9A\u671F\u30CB\u30E5\u30FC\u30B9\u30EC\u30BF\u30FC\u3092\u53D7\u3051\u53D6\u308B" })
3811
- ] })
3812
- ] }),
3813
- separateLegalCheckboxes ? /* @__PURE__ */ jsxRuntime.jsxs("div", { style: fieldsetStyle, children: [
3814
- /* @__PURE__ */ jsxRuntime.jsxs(
3815
- "label",
3816
- {
3817
- style: {
3818
- display: "flex",
3819
- alignItems: "flex-start",
3820
- gap: SPACING_SM,
3821
- marginBottom: SPACING_SM
3822
- },
3823
- children: [
3824
- /* @__PURE__ */ jsxRuntime.jsx(
3825
- "input",
3826
- {
3827
- type: "checkbox",
3828
- checked: agreedTerms,
3829
- onChange: (e) => setAgreedTerms(e.target.checked),
3830
- required: true
3831
- }
3832
- ),
3833
- /* @__PURE__ */ jsxRuntime.jsxs("span", { style: { fontSize: FONT_SIZE_SM }, children: [
3834
- termsHref ? /* @__PURE__ */ jsxRuntime.jsxs("a", { href: termsHref, target: "_blank", rel: "noopener noreferrer", children: [
3835
- "\u5229\u7528\u898F\u7D04 (v",
3836
- termsVersion,
3837
- ")"
3838
- ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3839
- "\u5229\u7528\u898F\u7D04 (v",
3840
- termsVersion,
3841
- ")"
3842
- ] }),
3843
- " ",
3844
- "\u306B\u540C\u610F\u3057\u307E\u3059\u3002"
3845
- ] })
3846
- ]
3847
- }
3848
- ),
3849
- /* @__PURE__ */ jsxRuntime.jsxs("label", { style: { display: "flex", alignItems: "flex-start", gap: SPACING_SM }, children: [
3915
+ /* @__PURE__ */ jsxRuntime.jsxs("label", { style: s(legalRowLast), className: classNames?.legalRow, children: [
3850
3916
  /* @__PURE__ */ jsxRuntime.jsx(
3851
3917
  "input",
3852
3918
  {
3853
3919
  type: "checkbox",
3920
+ className: classNames?.legalCheckbox,
3854
3921
  checked: agreedPrivacy,
3855
3922
  onChange: (e) => setAgreedPrivacy(e.target.checked),
3856
3923
  required: true
3857
3924
  }
3858
3925
  ),
3859
- /* @__PURE__ */ jsxRuntime.jsxs("span", { style: { fontSize: FONT_SIZE_SM }, children: [
3860
- privacyHref ? /* @__PURE__ */ jsxRuntime.jsxs("a", { href: privacyHref, target: "_blank", rel: "noopener noreferrer", children: [
3861
- "\u30D7\u30E9\u30A4\u30D0\u30B7\u30FC\u30DD\u30EA\u30B7\u30FC (v",
3862
- privacyVersion,
3863
- ")"
3864
- ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3865
- "\u30D7\u30E9\u30A4\u30D0\u30B7\u30FC\u30DD\u30EA\u30B7\u30FC (v",
3866
- privacyVersion,
3867
- ")"
3868
- ] }),
3869
- " ",
3870
- "\u306B\u540C\u610F\u3057\u307E\u3059\u3002"
3926
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { style: s(spanStyle), children: [
3927
+ renderPrivacyLink(),
3928
+ " \u306B\u540C\u610F\u3057\u307E\u3059\u3002"
3871
3929
  ] })
3872
3930
  ] })
3873
- ] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { style: fieldsetStyle, children: /* @__PURE__ */ jsxRuntime.jsxs("label", { style: { display: "flex", alignItems: "flex-start", gap: SPACING_SM }, children: [
3931
+ ] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { style: s(fieldsetStyle), className: classNames?.legalBlock, children: /* @__PURE__ */ jsxRuntime.jsxs("label", { style: s(legalRowLast), className: classNames?.legalRow, children: [
3874
3932
  /* @__PURE__ */ jsxRuntime.jsx(
3875
3933
  "input",
3876
3934
  {
3877
3935
  type: "checkbox",
3936
+ className: classNames?.legalCheckbox,
3878
3937
  checked: agreedLegal,
3879
3938
  onChange: (e) => setAgreedLegal(e.target.checked),
3880
3939
  required: true
3881
3940
  }
3882
3941
  ),
3883
- /* @__PURE__ */ jsxRuntime.jsxs("span", { style: { fontSize: FONT_SIZE_SM }, children: [
3884
- termsHref ? /* @__PURE__ */ jsxRuntime.jsxs("a", { href: termsHref, target: "_blank", rel: "noopener noreferrer", children: [
3885
- "\u5229\u7528\u898F\u7D04 (v",
3886
- termsVersion,
3887
- ")"
3888
- ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3889
- "\u5229\u7528\u898F\u7D04 (v",
3890
- termsVersion,
3891
- ")"
3892
- ] }),
3893
- " ",
3894
- "\u3068",
3895
- " ",
3896
- privacyHref ? /* @__PURE__ */ jsxRuntime.jsxs("a", { href: privacyHref, target: "_blank", rel: "noopener noreferrer", children: [
3897
- "\u30D7\u30E9\u30A4\u30D0\u30B7\u30FC\u30DD\u30EA\u30B7\u30FC (v",
3898
- privacyVersion,
3899
- ")"
3900
- ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3901
- "\u30D7\u30E9\u30A4\u30D0\u30B7\u30FC\u30DD\u30EA\u30B7\u30FC (v",
3902
- privacyVersion,
3903
- ")"
3904
- ] }),
3905
- " ",
3906
- "\u306B\u540C\u610F\u3057\u307E\u3059\u3002"
3942
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { style: s(spanStyle), children: [
3943
+ renderTermsLink(),
3944
+ " \u3068 ",
3945
+ renderPrivacyLink(),
3946
+ " \u306B\u540C\u610F\u3057\u307E\u3059\u3002"
3907
3947
  ] })
3908
3948
  ] }) }),
3909
- !isAuth && turnstileSlot && /* @__PURE__ */ jsxRuntime.jsx("div", { style: fieldsetStyle, children: turnstileSlot }),
3910
- formError && /* @__PURE__ */ jsxRuntime.jsx("p", { role: "alert", style: { ...errorTextStyle, marginBottom: SPACING_MD }, children: formError }),
3949
+ !isAuth && turnstileSlot && /* @__PURE__ */ jsxRuntime.jsx("div", { style: s(fieldsetStyle), className: classNames?.field, children: turnstileSlot }),
3950
+ formError && /* @__PURE__ */ jsxRuntime.jsx(
3951
+ "p",
3952
+ {
3953
+ role: "alert",
3954
+ style: s({ ...errorTextStyle, marginBottom: SPACING_MD }),
3955
+ className: classNames?.errorText,
3956
+ children: formError
3957
+ }
3958
+ ),
3911
3959
  /* @__PURE__ */ jsxRuntime.jsx(
3912
3960
  "button",
3913
3961
  {
3914
3962
  type: "submit",
3915
- style: {
3963
+ style: s({
3916
3964
  ...submitButtonStyle,
3917
3965
  opacity: submitting ? SUBMIT_BUTTON_OPACITY_PENDING : 1,
3918
3966
  cursor: submitting ? "not-allowed" : "pointer"
3919
- },
3967
+ }),
3968
+ className: classNames?.submitButton,
3920
3969
  disabled: submitting,
3921
3970
  children: submitting ? "\u9001\u4FE1\u4E2D..." : "\u9001\u4FE1\u3059\u308B"
3922
3971
  }
@@ -1,34 +1,34 @@
1
1
  'use strict';
2
2
 
3
- var chunk2LD6Y65W_cjs = require('../chunk-2LD6Y65W.cjs');
3
+ var chunkBEHDXUB2_cjs = require('../chunk-BEHDXUB2.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, "FFIDAnnouncementBadge", {
8
8
  enumerable: true,
9
- get: function () { return chunk2LD6Y65W_cjs.FFIDAnnouncementBadge; }
9
+ get: function () { return chunkBEHDXUB2_cjs.FFIDAnnouncementBadge; }
10
10
  });
11
11
  Object.defineProperty(exports, "FFIDAnnouncementList", {
12
12
  enumerable: true,
13
- get: function () { return chunk2LD6Y65W_cjs.FFIDAnnouncementList; }
13
+ get: function () { return chunkBEHDXUB2_cjs.FFIDAnnouncementList; }
14
14
  });
15
15
  Object.defineProperty(exports, "FFIDInquiryForm", {
16
16
  enumerable: true,
17
- get: function () { return chunk2LD6Y65W_cjs.FFIDInquiryForm; }
17
+ get: function () { return chunkBEHDXUB2_cjs.FFIDInquiryForm; }
18
18
  });
19
19
  Object.defineProperty(exports, "FFIDLoginButton", {
20
20
  enumerable: true,
21
- get: function () { return chunk2LD6Y65W_cjs.FFIDLoginButton; }
21
+ get: function () { return chunkBEHDXUB2_cjs.FFIDLoginButton; }
22
22
  });
23
23
  Object.defineProperty(exports, "FFIDOrganizationSwitcher", {
24
24
  enumerable: true,
25
- get: function () { return chunk2LD6Y65W_cjs.FFIDOrganizationSwitcher; }
25
+ get: function () { return chunkBEHDXUB2_cjs.FFIDOrganizationSwitcher; }
26
26
  });
27
27
  Object.defineProperty(exports, "FFIDSubscriptionBadge", {
28
28
  enumerable: true,
29
- get: function () { return chunk2LD6Y65W_cjs.FFIDSubscriptionBadge; }
29
+ get: function () { return chunkBEHDXUB2_cjs.FFIDSubscriptionBadge; }
30
30
  });
31
31
  Object.defineProperty(exports, "FFIDUserMenu", {
32
32
  enumerable: true,
33
- get: function () { return chunk2LD6Y65W_cjs.FFIDUserMenu; }
33
+ get: function () { return chunkBEHDXUB2_cjs.FFIDUserMenu; }
34
34
  });
@@ -1,3 +1,3 @@
1
- export { H as FFIDAnnouncementBadge, ab as FFIDAnnouncementBadgeClassNames, ac as FFIDAnnouncementBadgeProps, I as FFIDAnnouncementList, ad as FFIDAnnouncementListClassNames, ae as FFIDAnnouncementListProps, Q as FFIDInquiryForm, R as FFIDInquiryFormCategoryItem, S as FFIDInquiryFormOrganization, T as FFIDInquiryFormPrefill, U as FFIDInquiryFormProps, V as FFIDInquiryFormSubmitData, W as FFIDInquiryFormSubmitResult, Y as FFIDLoginButton, af as FFIDLoginButtonProps, a2 as FFIDOrganizationSwitcher, ag as FFIDOrganizationSwitcherClassNames, ah as FFIDOrganizationSwitcherProps, a4 as FFIDSubscriptionBadge, ai as FFIDSubscriptionBadgeClassNames, aj as FFIDSubscriptionBadgeProps, a6 as FFIDUserMenu, ak as FFIDUserMenuClassNames, al as FFIDUserMenuProps } from '../index-R2ALICqm.cjs';
1
+ export { H as FFIDAnnouncementBadge, ad as FFIDAnnouncementBadgeClassNames, ae as FFIDAnnouncementBadgeProps, I as FFIDAnnouncementList, af as FFIDAnnouncementListClassNames, ag as FFIDAnnouncementListProps, Q as FFIDInquiryForm, R as FFIDInquiryFormCategoryItem, S as FFIDInquiryFormClassNames, T as FFIDInquiryFormOrganization, U as FFIDInquiryFormPlaceholderContext, V as FFIDInquiryFormPrefill, W as FFIDInquiryFormProps, X as FFIDInquiryFormSubmitData, Y as FFIDInquiryFormSubmitResult, _ as FFIDLoginButton, ah as FFIDLoginButtonProps, a4 as FFIDOrganizationSwitcher, ai as FFIDOrganizationSwitcherClassNames, aj as FFIDOrganizationSwitcherProps, a6 as FFIDSubscriptionBadge, ak as FFIDSubscriptionBadgeClassNames, al as FFIDSubscriptionBadgeProps, a8 as FFIDUserMenu, am as FFIDUserMenuClassNames, an as FFIDUserMenuProps } from '../index-BuT9VaRt.cjs';
2
2
  import 'react/jsx-runtime';
3
3
  import 'react';