@octaviaflow/core 3.1.0-beta.71 → 3.1.0-beta.72

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.
@@ -2,6 +2,10 @@ import { type ReactNode } from "react";
2
2
  export interface BetaAccessValues {
3
3
  email: string;
4
4
  name?: string;
5
+ /** Present when `nameLayout="split"`. */
6
+ firstName?: string;
7
+ /** Present when `nameLayout="split"`. */
8
+ lastName?: string;
5
9
  company?: string;
6
10
  /** Present when `teamSizes` are configured. */
7
11
  teamSize?: string;
@@ -18,6 +22,8 @@ export interface BetaAccessFormProps {
18
22
  subtitle?: ReactNode;
19
23
  /** "email" = single-field band (default). "full" = name + email + company. */
20
24
  fields?: "email" | "full";
25
+ /** "single" (default) = one Full-name field; "split" = First + Last name. */
26
+ nameLayout?: "single" | "split";
21
27
  /** "card" (default) = bordered band. "inline" = chromeless, for footers. */
22
28
  appearance?: "card" | "inline";
23
29
  /** Team-size choices (full mode). Required when provided. */
@@ -42,5 +48,5 @@ export interface BetaAccessFormProps {
42
48
  disabled?: boolean;
43
49
  className?: string;
44
50
  }
45
- export declare function BetaAccessForm({ title, subtitle, fields, appearance, teamSizes, plans, defaultPlan, useCases, showDetails, detailsLabel, detailsPlaceholder, submitLabel, footnote, onSubmit, successTitle, successBody, disabled, className, }: BetaAccessFormProps): import("react/jsx-runtime").JSX.Element;
51
+ export declare function BetaAccessForm({ title, subtitle, fields, nameLayout, appearance, teamSizes, plans, defaultPlan, useCases, showDetails, detailsLabel, detailsPlaceholder, submitLabel, footnote, onSubmit, successTitle, successBody, disabled, className, }: BetaAccessFormProps): import("react/jsx-runtime").JSX.Element;
46
52
  //# sourceMappingURL=BetaAccessForm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BetaAccessForm.d.ts","sourceRoot":"","sources":["../../../../src/marketing/components/BetaAccessForm/BetaAccessForm.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,SAAS,EAAmB,MAAM,OAAO,CAAC;AAgBxE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC1B,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC/B,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC9D,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,wBAAgB,cAAc,CAAC,EAC7B,KAA8B,EAC9B,QAAyE,EACzE,MAAgB,EAChB,UAAmB,EACnB,SAAS,EACT,KAAK,EACL,WAAW,EACX,QAAQ,EACR,WAAmB,EACnB,YAA8C,EAC9C,kBAAsE,EACtE,WAAgC,EAChC,QAA0D,EAC1D,QAAQ,EACR,YAAkC,EAClC,WAAgF,EAChF,QAAgB,EAChB,SAAS,GACV,EAAE,mBAAmB,2CAiNrB"}
1
+ {"version":3,"file":"BetaAccessForm.d.ts","sourceRoot":"","sources":["../../../../src/marketing/components/BetaAccessForm/BetaAccessForm.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,SAAS,EAAmB,MAAM,OAAO,CAAC;AAgBxE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC1B,6EAA6E;IAC7E,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAChC,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC/B,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC9D,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,wBAAgB,cAAc,CAAC,EAC7B,KAA8B,EAC9B,QAAyE,EACzE,MAAgB,EAChB,UAAqB,EACrB,UAAmB,EACnB,SAAS,EACT,KAAK,EACL,WAAW,EACX,QAAQ,EACR,WAAmB,EACnB,YAA8C,EAC9C,kBAAsE,EACtE,WAAgC,EAChC,QAA0D,EAC1D,QAAQ,EACR,YAAkC,EAClC,WAAgF,EAChF,QAAgB,EAChB,SAAS,GACV,EAAE,mBAAmB,2CAqPrB"}
@@ -12,6 +12,8 @@ export interface ContactFormTopic {
12
12
  label: string;
13
13
  /** Contextual hint shown under the select when this topic is chosen. */
14
14
  hint?: ReactNode;
15
+ /** Message-textarea placeholder while this topic is selected. */
16
+ messagePlaceholder?: string;
15
17
  }
16
18
  export interface ContactFormProps {
17
19
  title?: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"ContactForm.d.ts","sourceRoot":"","sources":["../../../../src/marketing/components/ContactForm/ContactForm.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,SAAS,EAAmB,MAAM,OAAO,CAAC;AAcxE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC/D,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,wBAAgB,WAAW,CAAC,EAC1B,KAAoB,EACpB,QAAsE,EACtE,MAAM,EACN,WAA8B,EAC9B,QAAqD,EACrD,QAAQ,EACR,YAA8B,EAC9B,WAAyE,EACzE,QAAgB,EAChB,SAAS,GACV,EAAE,gBAAgB,2CAiKlB"}
1
+ {"version":3,"file":"ContactForm.d.ts","sourceRoot":"","sources":["../../../../src/marketing/components/ContactForm/ContactForm.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,SAAS,EAAmB,MAAM,OAAO,CAAC;AAcxE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,iEAAiE;IACjE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC/D,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,wBAAgB,WAAW,CAAC,EAC1B,KAAoB,EACpB,QAAsE,EACtE,MAAM,EACN,WAA8B,EAC9B,QAAqD,EACrD,QAAQ,EACR,YAA8B,EAC9B,WAAyE,EACzE,QAAgB,EAChB,SAAS,GACV,EAAE,gBAAgB,2CAiKlB"}
@@ -3372,6 +3372,7 @@ function BetaAccessForm({
3372
3372
  title = "Request early access",
3373
3373
  subtitle = "CURRENTLY IN PRIVATE BETA \u2014 WE REVIEW ACCESS REQUESTS WEEKLY",
3374
3374
  fields = "email",
3375
+ nameLayout = "single",
3375
3376
  appearance = "card",
3376
3377
  teamSizes,
3377
3378
  plans,
@@ -3392,6 +3393,8 @@ function BetaAccessForm({
3392
3393
  const [values, setValues] = (0, import_react21.useState)({
3393
3394
  email: "",
3394
3395
  name: "",
3396
+ firstName: "",
3397
+ lastName: "",
3395
3398
  company: "",
3396
3399
  teamSize: "",
3397
3400
  plan: defaultPlan ?? "",
@@ -3407,10 +3410,14 @@ function BetaAccessForm({
3407
3410
  setError("Please enter a valid work email.");
3408
3411
  return;
3409
3412
  }
3410
- if (fields === "full" && !values.name?.trim()) {
3413
+ if (fields === "full" && nameLayout === "single" && !values.name?.trim()) {
3411
3414
  setError("Please enter your name.");
3412
3415
  return;
3413
3416
  }
3417
+ if (fields === "full" && nameLayout === "split" && !values.firstName?.trim()) {
3418
+ setError("Please enter your first name.");
3419
+ return;
3420
+ }
3414
3421
  if (fields === "full" && teamSizes?.length && !values.teamSize) {
3415
3422
  setError("Please select your team size.");
3416
3423
  return;
@@ -3471,7 +3478,7 @@ function BetaAccessForm({
3471
3478
  fields === "full" && "ods-mkt-access__fields--full"
3472
3479
  ),
3473
3480
  children: [
3474
- fields === "full" && /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: "ods-mkt-access__field", children: [
3481
+ fields === "full" && nameLayout === "single" && /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: "ods-mkt-access__field", children: [
3475
3482
  /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("label", { className: "ods-mkt-access__label", htmlFor: `${uid}-name`, children: "Full name" }),
3476
3483
  /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
3477
3484
  Input,
@@ -3485,6 +3492,36 @@ function BetaAccessForm({
3485
3492
  }
3486
3493
  )
3487
3494
  ] }),
3495
+ fields === "full" && nameLayout === "split" && /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_jsx_runtime9.Fragment, { children: [
3496
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: "ods-mkt-access__field", children: [
3497
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("label", { className: "ods-mkt-access__label", htmlFor: `${uid}-firstname`, children: "First name" }),
3498
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
3499
+ Input,
3500
+ {
3501
+ id: `${uid}-firstname`,
3502
+ autoComplete: "given-name",
3503
+ placeholder: "Ada",
3504
+ value: values.firstName ?? "",
3505
+ onChange: (e) => setValues((v) => ({ ...v, firstName: e.target.value })),
3506
+ disabled: busy
3507
+ }
3508
+ )
3509
+ ] }),
3510
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: "ods-mkt-access__field", children: [
3511
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("label", { className: "ods-mkt-access__label", htmlFor: `${uid}-lastname`, children: "Last name" }),
3512
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
3513
+ Input,
3514
+ {
3515
+ id: `${uid}-lastname`,
3516
+ autoComplete: "family-name",
3517
+ placeholder: "Lovelace",
3518
+ value: values.lastName ?? "",
3519
+ onChange: (e) => setValues((v) => ({ ...v, lastName: e.target.value })),
3520
+ disabled: busy
3521
+ }
3522
+ )
3523
+ ] })
3524
+ ] }),
3488
3525
  /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: "ods-mkt-access__field", children: [
3489
3526
  /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("label", { className: "ods-mkt-access__label", htmlFor: `${uid}-email`, children: "Work email" }),
3490
3527
  /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
@@ -4203,7 +4240,7 @@ function ContactForm({
4203
4240
  {
4204
4241
  id: `${uid}-message`,
4205
4242
  "aria-labelledby": `${uid}-message-label`,
4206
- placeholder: "What are you trying to build?",
4243
+ placeholder: selectedTopic?.messagePlaceholder ?? "What are you trying to build?",
4207
4244
  rows: 4,
4208
4245
  value: values.message,
4209
4246
  onChange: (e) => setValues((v) => ({ ...v, message: e.target.value })),