@octaviaflow/core 3.1.0-beta.70 → 3.1.0-beta.71
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/marketing/components/BetaAccessForm/BetaAccessForm.d.ts +11 -1
- package/dist/marketing/components/BetaAccessForm/BetaAccessForm.d.ts.map +1 -1
- package/dist/marketing/components/MarketingNav/MarketingNav.d.ts.map +1 -1
- package/dist/marketing.cjs +1772 -1681
- package/dist/marketing.cjs.map +1 -1
- package/dist/marketing.js +113 -20
- package/dist/marketing.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/marketing.js
CHANGED
|
@@ -258,6 +258,10 @@ function BetaAccessForm({
|
|
|
258
258
|
teamSizes,
|
|
259
259
|
plans,
|
|
260
260
|
defaultPlan,
|
|
261
|
+
useCases,
|
|
262
|
+
showDetails = false,
|
|
263
|
+
detailsLabel = "Anything else we should know?",
|
|
264
|
+
detailsPlaceholder = "Current stack, timelines, must-have connectors\u2026",
|
|
261
265
|
submitLabel = "Request access \u2192",
|
|
262
266
|
footnote = "NO CREDIT CARD \xB7 SSO & SELF-HOSTING AVAILABLE",
|
|
263
267
|
onSubmit,
|
|
@@ -272,7 +276,9 @@ function BetaAccessForm({
|
|
|
272
276
|
name: "",
|
|
273
277
|
company: "",
|
|
274
278
|
teamSize: "",
|
|
275
|
-
plan: defaultPlan ?? ""
|
|
279
|
+
plan: defaultPlan ?? "",
|
|
280
|
+
useCase: "",
|
|
281
|
+
details: ""
|
|
276
282
|
});
|
|
277
283
|
const [phase, setPhase] = useState("idle");
|
|
278
284
|
const [error, setError] = useState(null);
|
|
@@ -291,6 +297,10 @@ function BetaAccessForm({
|
|
|
291
297
|
setError("Please select your team size.");
|
|
292
298
|
return;
|
|
293
299
|
}
|
|
300
|
+
if (fields === "full" && useCases?.length && !values.useCase) {
|
|
301
|
+
setError("Please select your primary use case.");
|
|
302
|
+
return;
|
|
303
|
+
}
|
|
294
304
|
setError(null);
|
|
295
305
|
setPhase("submitting");
|
|
296
306
|
try {
|
|
@@ -414,6 +424,43 @@ function BetaAccessForm({
|
|
|
414
424
|
}
|
|
415
425
|
)
|
|
416
426
|
] }),
|
|
427
|
+
fields === "full" && useCases && useCases.length > 0 && /* @__PURE__ */ jsxs3("div", { className: "ods-mkt-access__field", children: [
|
|
428
|
+
/* @__PURE__ */ jsx3("span", { className: "ods-mkt-access__label", id: `${uid}-usecase-label`, children: "Primary use case" }),
|
|
429
|
+
/* @__PURE__ */ jsx3(
|
|
430
|
+
Select,
|
|
431
|
+
{
|
|
432
|
+
"aria-labelledby": `${uid}-usecase-label`,
|
|
433
|
+
placeholder: "Select a use case\u2026",
|
|
434
|
+
options: useCases.map((useCase) => ({ value: useCase, label: useCase })),
|
|
435
|
+
value: values.useCase ?? "",
|
|
436
|
+
onChange: (useCase) => setValues((v) => ({ ...v, useCase })),
|
|
437
|
+
disabled: busy
|
|
438
|
+
}
|
|
439
|
+
)
|
|
440
|
+
] }),
|
|
441
|
+
fields === "full" && showDetails && /* @__PURE__ */ jsxs3("div", { className: "ods-mkt-access__field ods-mkt-access__field--wide", children: [
|
|
442
|
+
/* @__PURE__ */ jsx3(
|
|
443
|
+
"label",
|
|
444
|
+
{
|
|
445
|
+
className: "ods-mkt-access__label",
|
|
446
|
+
id: `${uid}-details-label`,
|
|
447
|
+
htmlFor: `${uid}-details`,
|
|
448
|
+
children: detailsLabel
|
|
449
|
+
}
|
|
450
|
+
),
|
|
451
|
+
/* @__PURE__ */ jsx3(
|
|
452
|
+
Textarea,
|
|
453
|
+
{
|
|
454
|
+
id: `${uid}-details`,
|
|
455
|
+
"aria-labelledby": `${uid}-details-label`,
|
|
456
|
+
placeholder: detailsPlaceholder,
|
|
457
|
+
rows: 3,
|
|
458
|
+
value: values.details ?? "",
|
|
459
|
+
onChange: (e) => setValues((v) => ({ ...v, details: e.target.value })),
|
|
460
|
+
disabled: busy
|
|
461
|
+
}
|
|
462
|
+
)
|
|
463
|
+
] }),
|
|
417
464
|
/* @__PURE__ */ jsx3(
|
|
418
465
|
Button,
|
|
419
466
|
{
|
|
@@ -1193,7 +1240,24 @@ function MarketingHero({
|
|
|
1193
1240
|
}
|
|
1194
1241
|
|
|
1195
1242
|
// src/marketing/components/MarketingNav/MarketingNav.tsx
|
|
1243
|
+
import { useState as useState4 } from "react";
|
|
1196
1244
|
import { Fragment as Fragment3, jsx as jsx16, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
1245
|
+
function BurgerGlyph({ open }) {
|
|
1246
|
+
return /* @__PURE__ */ jsx16(
|
|
1247
|
+
"svg",
|
|
1248
|
+
{
|
|
1249
|
+
viewBox: "0 0 24 24",
|
|
1250
|
+
width: "20",
|
|
1251
|
+
height: "20",
|
|
1252
|
+
fill: "none",
|
|
1253
|
+
stroke: "currentColor",
|
|
1254
|
+
strokeWidth: "2",
|
|
1255
|
+
strokeLinecap: "round",
|
|
1256
|
+
"aria-hidden": "true",
|
|
1257
|
+
children: open ? /* @__PURE__ */ jsx16("path", { d: "M6 6l12 12M18 6 6 18" }) : /* @__PURE__ */ jsx16("path", { d: "M4 7h16M4 12h16M4 17h16" })
|
|
1258
|
+
}
|
|
1259
|
+
);
|
|
1260
|
+
}
|
|
1197
1261
|
function MarketingNav({
|
|
1198
1262
|
brand,
|
|
1199
1263
|
brandHref = "/",
|
|
@@ -1203,6 +1267,7 @@ function MarketingNav({
|
|
|
1203
1267
|
className,
|
|
1204
1268
|
...rest
|
|
1205
1269
|
}) {
|
|
1270
|
+
const [mobileOpen, setMobileOpen] = useState4(false);
|
|
1206
1271
|
return /* @__PURE__ */ jsxs15("header", { ...rest, className: cn("ods-mkt-nav", sticky && "ods-mkt-nav--sticky", className), children: [
|
|
1207
1272
|
/* @__PURE__ */ jsx16("a", { className: "ods-mkt-nav__brand", href: brandHref, children: brand ?? /* @__PURE__ */ jsxs15(Fragment3, { children: [
|
|
1208
1273
|
/* @__PURE__ */ jsx16(BrandMark, {}),
|
|
@@ -1218,7 +1283,35 @@ function MarketingNav({
|
|
|
1218
1283
|
},
|
|
1219
1284
|
link.href
|
|
1220
1285
|
)) }),
|
|
1221
|
-
actions && /* @__PURE__ */ jsx16("div", { className: "ods-mkt-nav__actions", children: actions })
|
|
1286
|
+
actions && /* @__PURE__ */ jsx16("div", { className: "ods-mkt-nav__actions", children: actions }),
|
|
1287
|
+
(links.length > 0 || actions) && /* @__PURE__ */ jsx16(
|
|
1288
|
+
"button",
|
|
1289
|
+
{
|
|
1290
|
+
type: "button",
|
|
1291
|
+
className: "ods-mkt-nav__toggle",
|
|
1292
|
+
"aria-expanded": mobileOpen,
|
|
1293
|
+
"aria-label": "Toggle menu",
|
|
1294
|
+
onClick: () => setMobileOpen((open) => !open),
|
|
1295
|
+
children: /* @__PURE__ */ jsx16(BurgerGlyph, { open: mobileOpen })
|
|
1296
|
+
}
|
|
1297
|
+
),
|
|
1298
|
+
mobileOpen && /* @__PURE__ */ jsxs15("nav", { className: "ods-mkt-nav__mobile", "aria-label": "Main", children: [
|
|
1299
|
+
links.map((link) => /* @__PURE__ */ jsx16(
|
|
1300
|
+
"a",
|
|
1301
|
+
{
|
|
1302
|
+
href: link.href,
|
|
1303
|
+
className: cn(
|
|
1304
|
+
"ods-mkt-nav__mobile-link",
|
|
1305
|
+
link.active && "ods-mkt-nav__mobile-link--active"
|
|
1306
|
+
),
|
|
1307
|
+
"aria-current": link.active ? "page" : void 0,
|
|
1308
|
+
onClick: () => setMobileOpen(false),
|
|
1309
|
+
children: link.label
|
|
1310
|
+
},
|
|
1311
|
+
link.href
|
|
1312
|
+
)),
|
|
1313
|
+
actions && /* @__PURE__ */ jsx16("div", { className: "ods-mkt-nav__mobile-actions", children: actions })
|
|
1314
|
+
] })
|
|
1222
1315
|
] });
|
|
1223
1316
|
}
|
|
1224
1317
|
|
|
@@ -1404,11 +1497,11 @@ import {
|
|
|
1404
1497
|
useEffect as useEffect2,
|
|
1405
1498
|
useMemo as useMemo2,
|
|
1406
1499
|
useRef as useRef2,
|
|
1407
|
-
useState as
|
|
1500
|
+
useState as useState7
|
|
1408
1501
|
} from "react";
|
|
1409
1502
|
|
|
1410
1503
|
// src/marketing/components/WorkflowShowcase/ShowcaseScene.tsx
|
|
1411
|
-
import { useEffect, useRef, useState as
|
|
1504
|
+
import { useEffect, useRef, useState as useState5 } from "react";
|
|
1412
1505
|
import { jsx as jsx22, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
1413
1506
|
function slots(n) {
|
|
1414
1507
|
return Array.from({ length: n }, (_, i) => 208 + (i - (n - 1) / 2) * 80);
|
|
@@ -1481,7 +1574,7 @@ function ShowcaseScene({
|
|
|
1481
1574
|
caption,
|
|
1482
1575
|
onCoreClick
|
|
1483
1576
|
}) {
|
|
1484
|
-
const [pulse, setPulse] =
|
|
1577
|
+
const [pulse, setPulse] = useState5(false);
|
|
1485
1578
|
const pulseTimer = useRef(null);
|
|
1486
1579
|
useEffect(
|
|
1487
1580
|
() => () => {
|
|
@@ -1714,7 +1807,7 @@ function ShowcaseScene({
|
|
|
1714
1807
|
|
|
1715
1808
|
// src/marketing/components/WorkflowShowcase/ShowcaseSignup.tsx
|
|
1716
1809
|
import { AnimatePresence, motion as motion2, useReducedMotion as useReducedMotion3 } from "framer-motion";
|
|
1717
|
-
import { useId as useId3, useState as
|
|
1810
|
+
import { useId as useId3, useState as useState6 } from "react";
|
|
1718
1811
|
import { FocusScope } from "react-aria";
|
|
1719
1812
|
import { jsx as jsx23, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
1720
1813
|
var OVERLAY_MOTION = {
|
|
@@ -1736,7 +1829,7 @@ function ShowcaseSignup({
|
|
|
1736
1829
|
const reducedMotion = useReducedMotion3();
|
|
1737
1830
|
const titleId = useId3();
|
|
1738
1831
|
const subtitleId = useId3();
|
|
1739
|
-
const [values, setValues] =
|
|
1832
|
+
const [values, setValues] = useState6({
|
|
1740
1833
|
name: "",
|
|
1741
1834
|
email: "",
|
|
1742
1835
|
company: "",
|
|
@@ -1954,21 +2047,21 @@ function WorkflowShowcase({
|
|
|
1954
2047
|
}) {
|
|
1955
2048
|
const reducedMotion = useReducedMotion4();
|
|
1956
2049
|
const rotationActive = rotatePrompts && !defaultPrompt && examples.length > 0;
|
|
1957
|
-
const [prompt, setPrompt] =
|
|
2050
|
+
const [prompt, setPrompt] = useState7(
|
|
1958
2051
|
defaultPrompt || (rotationActive ? examples[0]?.prompt ?? "" : "")
|
|
1959
2052
|
);
|
|
1960
|
-
const [engagedWithPrompt, setEngagedWithPrompt] =
|
|
1961
|
-
const [promptHovered, setPromptHovered] =
|
|
1962
|
-
const [promptFocused, setPromptFocused] =
|
|
2053
|
+
const [engagedWithPrompt, setEngagedWithPrompt] = useState7(false);
|
|
2054
|
+
const [promptHovered, setPromptHovered] = useState7(false);
|
|
2055
|
+
const [promptFocused, setPromptFocused] = useState7(false);
|
|
1963
2056
|
const rotateIdx = useRef2(0);
|
|
1964
|
-
const [selected, setSelected] =
|
|
1965
|
-
const [phase, setPhase] =
|
|
1966
|
-
const [shown, setShown] =
|
|
1967
|
-
const [status, setStatus] =
|
|
1968
|
-
const [pickerOpen, setPickerOpen] =
|
|
1969
|
-
const [schedIdx, setSchedIdx] =
|
|
1970
|
-
const [swap, setSwap] =
|
|
1971
|
-
const [signupError, setSignupError] =
|
|
2057
|
+
const [selected, setSelected] = useState7([]);
|
|
2058
|
+
const [phase, setPhase] = useState7("idle");
|
|
2059
|
+
const [shown, setShown] = useState7(0);
|
|
2060
|
+
const [status, setStatus] = useState7("");
|
|
2061
|
+
const [pickerOpen, setPickerOpen] = useState7(false);
|
|
2062
|
+
const [schedIdx, setSchedIdx] = useState7(0);
|
|
2063
|
+
const [swap, setSwap] = useState7(null);
|
|
2064
|
+
const [signupError, setSignupError] = useState7(null);
|
|
1972
2065
|
const signupReturnPhase = useRef2("done");
|
|
1973
2066
|
const cardRef = useRef2(null);
|
|
1974
2067
|
const timers = useRef2([]);
|
|
@@ -2009,7 +2102,7 @@ function WorkflowShowcase({
|
|
|
2009
2102
|
const manualSchedule = schedules[schedIdx];
|
|
2010
2103
|
const scheduleShown = inferredSchedule ?? (manualSchedule === "AUTO" ? "HOURLY" : manualSchedule);
|
|
2011
2104
|
const triggers = WORKFLOW_SHOWCASE_TRIGGERS;
|
|
2012
|
-
const [triggerIdx, setTriggerIdx] =
|
|
2105
|
+
const [triggerIdx, setTriggerIdx] = useState7(0);
|
|
2013
2106
|
const manualTrigger = triggers[triggerIdx];
|
|
2014
2107
|
const cadenceShown = manualTrigger === "SCHEDULE" ? scheduleShown : manualTrigger;
|
|
2015
2108
|
useEffect2(() => {
|