@octaviaflow/core 3.1.0-beta.115 → 3.1.0-beta.116

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.
Files changed (92) hide show
  1. package/dist/chunk-23K2RF7Z.js +2694 -0
  2. package/dist/chunk-23K2RF7Z.js.map +1 -0
  3. package/dist/chunk-H3FCGN4P.js +6628 -0
  4. package/dist/chunk-H3FCGN4P.js.map +1 -0
  5. package/dist/chunk-ISJSOF3Z.js +3646 -0
  6. package/dist/chunk-ISJSOF3Z.js.map +1 -0
  7. package/dist/chunk-KSIZ7DLS.js +3582 -0
  8. package/dist/chunk-KSIZ7DLS.js.map +1 -0
  9. package/dist/chunk-NAG3EFQ6.js +6789 -0
  10. package/dist/chunk-NAG3EFQ6.js.map +1 -0
  11. package/dist/chunk-NMZWNZV7.js +1547 -0
  12. package/dist/chunk-NMZWNZV7.js.map +1 -0
  13. package/dist/chunk-QWOH2E3F.js +3189 -0
  14. package/dist/chunk-QWOH2E3F.js.map +1 -0
  15. package/dist/chunk-V22HCPVO.js +2856 -0
  16. package/dist/chunk-V22HCPVO.js.map +1 -0
  17. package/dist/chunk-VGAUSBP4.js +3181 -0
  18. package/dist/chunk-VGAUSBP4.js.map +1 -0
  19. package/dist/chunk-WTIM6E4X.js +3677 -0
  20. package/dist/chunk-WTIM6E4X.js.map +1 -0
  21. package/dist/chunk-XUBJHPJT.js +3680 -0
  22. package/dist/chunk-XUBJHPJT.js.map +1 -0
  23. package/dist/components/AgentCard/AgentCard.d.ts.map +1 -1
  24. package/dist/components/AssistantAura/AssistantAura.d.ts +21 -0
  25. package/dist/components/AssistantAura/AssistantAura.d.ts.map +1 -0
  26. package/dist/components/AssistantAura/index.d.ts +2 -0
  27. package/dist/components/AssistantAura/index.d.ts.map +1 -0
  28. package/dist/components/AssistantConversation/AssistantConversation.d.ts +112 -0
  29. package/dist/components/AssistantConversation/AssistantConversation.d.ts.map +1 -0
  30. package/dist/components/AssistantConversation/assistant.fixtures.d.ts +29 -0
  31. package/dist/components/AssistantConversation/assistant.fixtures.d.ts.map +1 -0
  32. package/dist/components/AssistantConversation/assistantGlyphs.d.ts +13 -0
  33. package/dist/components/AssistantConversation/assistantGlyphs.d.ts.map +1 -0
  34. package/dist/components/AssistantConversation/index.d.ts +2 -0
  35. package/dist/components/AssistantConversation/index.d.ts.map +1 -0
  36. package/dist/components/AssistantDock/AssistantDock.d.ts +25 -0
  37. package/dist/components/AssistantDock/AssistantDock.d.ts.map +1 -0
  38. package/dist/components/AssistantDock/index.d.ts +2 -0
  39. package/dist/components/AssistantDock/index.d.ts.map +1 -0
  40. package/dist/components/AssistantOrb/AssistantOrb.d.ts +14 -0
  41. package/dist/components/AssistantOrb/AssistantOrb.d.ts.map +1 -0
  42. package/dist/components/AssistantOrb/explorations/OvaIconConcepts.d.ts +22 -0
  43. package/dist/components/AssistantOrb/explorations/OvaIconConcepts.d.ts.map +1 -0
  44. package/dist/components/AssistantOrb/index.d.ts +2 -0
  45. package/dist/components/AssistantOrb/index.d.ts.map +1 -0
  46. package/dist/components/AssistantTrigger/AssistantTrigger.d.ts +17 -0
  47. package/dist/components/AssistantTrigger/AssistantTrigger.d.ts.map +1 -0
  48. package/dist/components/AssistantTrigger/index.d.ts +2 -0
  49. package/dist/components/AssistantTrigger/index.d.ts.map +1 -0
  50. package/dist/components/ChatComposer/ChatComposer.d.ts +8 -0
  51. package/dist/components/ChatComposer/ChatComposer.d.ts.map +1 -1
  52. package/dist/components/ChatDocPreview/ChatDocPreview.d.ts +20 -0
  53. package/dist/components/ChatDocPreview/ChatDocPreview.d.ts.map +1 -0
  54. package/dist/components/ChatDocPreview/index.d.ts +2 -0
  55. package/dist/components/ChatDocPreview/index.d.ts.map +1 -0
  56. package/dist/components/ChatInputRequest/ChatInputRequest.d.ts +68 -0
  57. package/dist/components/ChatInputRequest/ChatInputRequest.d.ts.map +1 -0
  58. package/dist/components/ChatInputRequest/index.d.ts +2 -0
  59. package/dist/components/ChatInputRequest/index.d.ts.map +1 -0
  60. package/dist/components/ChatLinkPreview/ChatLinkPreview.d.ts +33 -0
  61. package/dist/components/ChatLinkPreview/ChatLinkPreview.d.ts.map +1 -0
  62. package/dist/components/ChatLinkPreview/index.d.ts +2 -0
  63. package/dist/components/ChatLinkPreview/index.d.ts.map +1 -0
  64. package/dist/components/ChatSources/ChatSources.d.ts +10 -1
  65. package/dist/components/ChatSources/ChatSources.d.ts.map +1 -1
  66. package/dist/components/ChatSources/index.d.ts +1 -1
  67. package/dist/components/ChatSources/index.d.ts.map +1 -1
  68. package/dist/components/ChatVideoPreview/ChatVideoPreview.d.ts +37 -0
  69. package/dist/components/ChatVideoPreview/ChatVideoPreview.d.ts.map +1 -0
  70. package/dist/components/ChatVideoPreview/index.d.ts +2 -0
  71. package/dist/components/ChatVideoPreview/index.d.ts.map +1 -0
  72. package/dist/components/TruncatedText/TruncatedText.d.ts +15 -0
  73. package/dist/components/TruncatedText/TruncatedText.d.ts.map +1 -0
  74. package/dist/components/TruncatedText/index.d.ts +2 -0
  75. package/dist/components/TruncatedText/index.d.ts.map +1 -0
  76. package/dist/index.cjs +7716 -6548
  77. package/dist/index.cjs.map +1 -1
  78. package/dist/index.d.ts +10 -1
  79. package/dist/index.d.ts.map +1 -1
  80. package/dist/index.js +4742 -5654
  81. package/dist/index.js.map +1 -1
  82. package/dist/marketing/components/AssistantWidget/AssistantWidget.d.ts +60 -0
  83. package/dist/marketing/components/AssistantWidget/AssistantWidget.d.ts.map +1 -0
  84. package/dist/marketing/index.d.ts +1 -0
  85. package/dist/marketing/index.d.ts.map +1 -1
  86. package/dist/marketing.cjs +3709 -1196
  87. package/dist/marketing.cjs.map +1 -1
  88. package/dist/marketing.js +737 -482
  89. package/dist/marketing.js.map +1 -1
  90. package/dist/styles.css +1 -1
  91. package/dist/workflow.js +2 -2
  92. package/package.json +1 -1
package/dist/marketing.js CHANGED
@@ -1,16 +1,24 @@
1
1
  import {
2
+ AssistantAura,
3
+ AssistantConversation,
4
+ AssistantHeaderButton,
5
+ AssistantOrb,
2
6
  BlogCard,
7
+ ChatSuggestions,
8
+ CloseGlyph,
3
9
  CountUp,
10
+ NewChatGlyph,
4
11
  TestimonialCard,
5
- Textarea
6
- } from "./chunk-ZALBYWCU.js";
12
+ Textarea,
13
+ assistantStateOf
14
+ } from "./chunk-WTIM6E4X.js";
7
15
  import {
8
16
  Accordion,
9
17
  Button,
10
18
  Input,
11
19
  Select,
12
20
  Spinner
13
- } from "./chunk-75JAQ4ZG.js";
21
+ } from "./chunk-V22HCPVO.js";
14
22
  import {
15
23
  cn
16
24
  } from "./chunk-ZAUUGK2Y.js";
@@ -47,8 +55,254 @@ function AssistantTranscript({
47
55
  ] });
48
56
  }
49
57
 
58
+ // src/marketing/components/AssistantWidget/AssistantWidget.tsx
59
+ import {
60
+ useCallback,
61
+ useEffect,
62
+ useId,
63
+ useRef,
64
+ useState
65
+ } from "react";
66
+ import { Fragment, jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
67
+ function AssistantWidget({
68
+ variant = "floating",
69
+ position = "right",
70
+ frame = false,
71
+ device = "desktop",
72
+ open: openProp,
73
+ defaultOpen = false,
74
+ onOpenChange,
75
+ name = "Ova",
76
+ subtitle = "Octaviaflow assistant",
77
+ avatar,
78
+ launcherLabel = "Ask Ova",
79
+ teaser,
80
+ onTeaserDismiss,
81
+ aura = "normal",
82
+ greeting,
83
+ suggestions,
84
+ messages,
85
+ busy = false,
86
+ onSend,
87
+ onStop,
88
+ onRate,
89
+ onAnswer,
90
+ onSkipAsk,
91
+ onReset,
92
+ offline = false,
93
+ fallback,
94
+ placeholder = "Ask about Octaviaflow\u2026",
95
+ maxLength,
96
+ composerDisabled = false,
97
+ error,
98
+ notice,
99
+ className,
100
+ ...rest
101
+ }) {
102
+ const [openState, setOpenState] = useState(defaultOpen);
103
+ const open = variant === "embed" ? true : openProp ?? openState;
104
+ const setOpen = useCallback(
105
+ (next) => {
106
+ if (openProp === void 0) setOpenState(next);
107
+ onOpenChange?.(next);
108
+ },
109
+ [openProp, onOpenChange]
110
+ );
111
+ const [teaserHidden, setTeaserHidden] = useState(false);
112
+ const panelId = useId();
113
+ const nameId = useId();
114
+ const launcherRef = useRef(null);
115
+ const panelRef = useRef(null);
116
+ const overlay = variant !== "embed";
117
+ const state = assistantStateOf(messages, busy, false, { offline, error: Boolean(error) });
118
+ const nameText = typeof name === "string" ? name : "chat";
119
+ useEffect(() => {
120
+ if (overlay && open) panelRef.current?.querySelector("textarea")?.focus();
121
+ }, [open, overlay]);
122
+ useEffect(() => {
123
+ if (!overlay || !open) return;
124
+ const onKey = (e) => {
125
+ if (e.key !== "Escape") return;
126
+ setOpen(false);
127
+ launcherRef.current?.focus();
128
+ };
129
+ document.addEventListener("keydown", onKey);
130
+ return () => document.removeEventListener("keydown", onKey);
131
+ }, [open, overlay, setOpen]);
132
+ const close = () => {
133
+ setOpen(false);
134
+ launcherRef.current?.focus();
135
+ };
136
+ const actions = /* @__PURE__ */ jsxs2(Fragment, { children: [
137
+ onReset && !offline && /* @__PURE__ */ jsx2(AssistantHeaderButton, { label: "Start a new chat", onClick: onReset, disabled: busy, children: /* @__PURE__ */ jsx2(NewChatGlyph, {}) }),
138
+ overlay && /* @__PURE__ */ jsx2(AssistantHeaderButton, { label: `Close ${nameText}`, onClick: close, children: /* @__PURE__ */ jsx2(CloseGlyph, {}) })
139
+ ] });
140
+ const conversation = /* @__PURE__ */ jsx2(
141
+ AssistantConversation,
142
+ {
143
+ name,
144
+ subtitle,
145
+ avatar,
146
+ nameId,
147
+ actions,
148
+ aura,
149
+ greeting,
150
+ suggestions,
151
+ messages,
152
+ replacement: offline ? fallback : void 0,
153
+ ...offline ? { state: "offline" } : {},
154
+ busy,
155
+ onSend,
156
+ onStop,
157
+ onRate,
158
+ onAnswer,
159
+ onSkipAsk,
160
+ placeholder,
161
+ maxLength,
162
+ composerDisabled,
163
+ error,
164
+ notice
165
+ }
166
+ );
167
+ const rootClass = cn(
168
+ "ods-mkt-assistant",
169
+ `ods-mkt-assistant--${variant}`,
170
+ `ods-mkt-assistant--${position}`,
171
+ frame && "ods-mkt-assistant--framed",
172
+ frame && device === "mobile" && "ods-mkt-assistant--phone",
173
+ open && "ods-mkt-assistant--open",
174
+ className
175
+ );
176
+ if (variant === "embed") {
177
+ const started = messages.length > 0 || offline;
178
+ return /* @__PURE__ */ jsx2("div", { ...rest, className: rootClass, children: started ? /* @__PURE__ */ jsx2("section", { "aria-labelledby": nameId, className: "ods-mkt-assistant__embed", children: conversation }) : /* @__PURE__ */ jsxs2(AssistantAura, { state, intensity: aura, className: "ods-mkt-assistant__ask", children: [
179
+ /* @__PURE__ */ jsxs2("div", { className: "ods-mkt-assistant__ask-head", children: [
180
+ /* @__PURE__ */ jsx2(AssistantOrb, { state, size: "lg", children: avatar }),
181
+ /* @__PURE__ */ jsxs2("div", { children: [
182
+ /* @__PURE__ */ jsx2("div", { id: nameId, className: "ods-mkt-assistant__ask-title", children: greeting ?? `Ask ${nameText} anything` }),
183
+ /* @__PURE__ */ jsx2("div", { className: "ods-mkt-assistant__ask-sub", children: subtitle })
184
+ ] })
185
+ ] }),
186
+ /* @__PURE__ */ jsxs2(
187
+ "form",
188
+ {
189
+ className: "ods-mkt-assistant__ask-form",
190
+ onSubmit: (e) => {
191
+ e.preventDefault();
192
+ const field = e.currentTarget.elements.namedItem("q");
193
+ if (field.value.trim()) onSend?.(field.value.trim());
194
+ field.value = "";
195
+ },
196
+ children: [
197
+ /* @__PURE__ */ jsx2(
198
+ "input",
199
+ {
200
+ name: "q",
201
+ className: "ods-mkt-assistant__ask-input",
202
+ placeholder,
203
+ "aria-label": placeholder,
204
+ maxLength,
205
+ autoComplete: "off"
206
+ }
207
+ ),
208
+ /* @__PURE__ */ jsx2("button", { type: "submit", className: "ods-mkt-assistant__ask-send", children: launcherLabel })
209
+ ]
210
+ }
211
+ ),
212
+ (suggestions?.length ?? 0) > 0 && /* @__PURE__ */ jsx2(
213
+ ChatSuggestions,
214
+ {
215
+ items: suggestions ?? [],
216
+ onSelect: (v) => onSend?.(v),
217
+ size: "sm",
218
+ layout: "wrap"
219
+ }
220
+ ),
221
+ notice && /* @__PURE__ */ jsx2("div", { className: "ods-mkt-assistant__ask-notice", children: notice })
222
+ ] }) });
223
+ }
224
+ const panel = open && /* @__PURE__ */ jsx2(
225
+ "div",
226
+ {
227
+ ref: panelRef,
228
+ id: panelId,
229
+ role: "dialog",
230
+ "aria-labelledby": nameId,
231
+ className: "ods-mkt-assistant__panel",
232
+ children: conversation
233
+ }
234
+ );
235
+ const showTeaser = !open && teaser && !teaserHidden && variant !== "bar";
236
+ const barLauncher = !open && /* @__PURE__ */ jsx2(AssistantAura, { state, intensity: aura, className: "ods-mkt-assistant__bar", children: /* @__PURE__ */ jsxs2(
237
+ "button",
238
+ {
239
+ ref: launcherRef,
240
+ type: "button",
241
+ className: "ods-mkt-assistant__bar-button",
242
+ "aria-expanded": false,
243
+ onClick: () => setOpen(true),
244
+ children: [
245
+ /* @__PURE__ */ jsx2(AssistantOrb, { state, size: "sm", children: avatar }),
246
+ /* @__PURE__ */ jsx2("span", { className: "ods-mkt-assistant__bar-text", children: placeholder }),
247
+ /* @__PURE__ */ jsx2("span", { className: "ods-mkt-assistant__bar-cta", children: launcherLabel })
248
+ ]
249
+ }
250
+ ) });
251
+ const cornerLauncher = /* @__PURE__ */ jsx2(
252
+ AssistantAura,
253
+ {
254
+ state,
255
+ intensity: open ? "off" : aura,
256
+ className: "ods-mkt-assistant__launcher-aura",
257
+ children: /* @__PURE__ */ jsxs2(
258
+ "button",
259
+ {
260
+ ref: launcherRef,
261
+ type: "button",
262
+ className: "ods-mkt-assistant__launcher",
263
+ "aria-expanded": open,
264
+ "aria-controls": open ? panelId : void 0,
265
+ onClick: () => setOpen(!open),
266
+ children: [
267
+ open ? /* @__PURE__ */ jsx2("span", { className: "ods-mkt-assistant__launcher-icon", children: /* @__PURE__ */ jsx2(CloseGlyph, {}) }) : /* @__PURE__ */ jsx2(AssistantOrb, { state, size: "sm", children: avatar }),
268
+ /* @__PURE__ */ jsx2("span", { className: "ods-mkt-assistant__launcher-label", children: open ? "Close" : launcherLabel })
269
+ ]
270
+ }
271
+ )
272
+ }
273
+ );
274
+ return /* @__PURE__ */ jsxs2("div", { ...rest, className: rootClass, children: [
275
+ panel,
276
+ showTeaser && /* @__PURE__ */ jsxs2("div", { className: "ods-mkt-assistant__teaser", children: [
277
+ /* @__PURE__ */ jsx2(
278
+ "button",
279
+ {
280
+ type: "button",
281
+ className: "ods-mkt-assistant__teaser-text",
282
+ onClick: () => setOpen(true),
283
+ children: teaser
284
+ }
285
+ ),
286
+ /* @__PURE__ */ jsx2(
287
+ "button",
288
+ {
289
+ type: "button",
290
+ className: "ods-mkt-assistant__teaser-close",
291
+ "aria-label": "Dismiss",
292
+ onClick: () => {
293
+ setTeaserHidden(true);
294
+ onTeaserDismiss?.();
295
+ },
296
+ children: /* @__PURE__ */ jsx2(CloseGlyph, {})
297
+ }
298
+ )
299
+ ] }),
300
+ variant === "bar" ? barLauncher : cornerLauncher
301
+ ] });
302
+ }
303
+
50
304
  // src/marketing/components/BackedBy/BackedBy.tsx
51
- import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
305
+ import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
52
306
  function BackedBy({
53
307
  items,
54
308
  label = "Backed by",
@@ -57,22 +311,22 @@ function BackedBy({
57
311
  className,
58
312
  ...rest
59
313
  }) {
60
- return /* @__PURE__ */ jsxs2(
314
+ return /* @__PURE__ */ jsxs3(
61
315
  "div",
62
316
  {
63
317
  ...rest,
64
318
  className: cn("ods-mkt-backedby", align === "start" && "ods-mkt-backedby--start", className),
65
319
  children: [
66
- label && /* @__PURE__ */ jsx2("p", { className: "ods-mkt-backedby__label", children: label }),
67
- /* @__PURE__ */ jsx2("div", { className: "ods-mkt-backedby__row", children: items.map((item) => /* @__PURE__ */ jsx2("span", { className: "ods-mkt-backedby__mark", title: item.name, children: item.icon ?? /* @__PURE__ */ jsx2("span", { className: "ods-mkt-backedby__wordmark", children: item.name }) }, item.id)) }),
68
- note && /* @__PURE__ */ jsx2("p", { className: "ods-mkt-backedby__note", children: note })
320
+ label && /* @__PURE__ */ jsx3("p", { className: "ods-mkt-backedby__label", children: label }),
321
+ /* @__PURE__ */ jsx3("div", { className: "ods-mkt-backedby__row", children: items.map((item) => /* @__PURE__ */ jsx3("span", { className: "ods-mkt-backedby__mark", title: item.name, children: item.icon ?? /* @__PURE__ */ jsx3("span", { className: "ods-mkt-backedby__wordmark", children: item.name }) }, item.id)) }),
322
+ note && /* @__PURE__ */ jsx3("p", { className: "ods-mkt-backedby__note", children: note })
69
323
  ]
70
324
  }
71
325
  );
72
326
  }
73
327
 
74
328
  // src/marketing/components/BetaAccessForm/BetaAccessForm.tsx
75
- import { useId, useState } from "react";
329
+ import { useId as useId2, useState as useState2 } from "react";
76
330
 
77
331
  // src/marketing/components/WorkflowShowcase/showcaseEngine.ts
78
332
  var SETTLED_PHASES = [
@@ -249,7 +503,7 @@ function isValidEmail(value) {
249
503
  }
250
504
 
251
505
  // src/marketing/components/BetaAccessForm/BetaAccessForm.tsx
252
- import { Fragment, jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
506
+ import { Fragment as Fragment2, jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
253
507
  function BetaAccessForm({
254
508
  title = "Request early access",
255
509
  subtitle = "CURRENTLY IN PRIVATE BETA \u2014 WE REVIEW ACCESS REQUESTS WEEKLY",
@@ -271,8 +525,8 @@ function BetaAccessForm({
271
525
  disabled = false,
272
526
  className
273
527
  }) {
274
- const uid = useId();
275
- const [values, setValues] = useState({
528
+ const uid = useId2();
529
+ const [values, setValues] = useState2({
276
530
  email: "",
277
531
  name: "",
278
532
  firstName: "",
@@ -283,8 +537,8 @@ function BetaAccessForm({
283
537
  useCase: "",
284
538
  details: ""
285
539
  });
286
- const [phase, setPhase] = useState("idle");
287
- const [error, setError] = useState(null);
540
+ const [phase, setPhase] = useState2("idle");
541
+ const [error, setError] = useState2(null);
288
542
  const handleSubmit = async (event) => {
289
543
  event.preventDefault();
290
544
  if (phase === "submitting") return;
@@ -320,7 +574,7 @@ function BetaAccessForm({
320
574
  };
321
575
  const inline = appearance === "inline";
322
576
  if (phase === "success") {
323
- return /* @__PURE__ */ jsxs3(
577
+ return /* @__PURE__ */ jsxs4(
324
578
  "div",
325
579
  {
326
580
  className: cn(
@@ -331,28 +585,28 @@ function BetaAccessForm({
331
585
  ),
332
586
  role: "status",
333
587
  children: [
334
- /* @__PURE__ */ jsxs3("p", { className: "ods-mkt-access__success-mark", children: [
588
+ /* @__PURE__ */ jsxs4("p", { className: "ods-mkt-access__success-mark", children: [
335
589
  "\u2713 ",
336
590
  successTitle
337
591
  ] }),
338
- /* @__PURE__ */ jsx3("p", { className: "ods-mkt-access__success-body", children: successBody })
592
+ /* @__PURE__ */ jsx4("p", { className: "ods-mkt-access__success-body", children: successBody })
339
593
  ]
340
594
  }
341
595
  );
342
596
  }
343
597
  const busy = disabled || phase === "submitting";
344
- return /* @__PURE__ */ jsxs3(
598
+ return /* @__PURE__ */ jsxs4(
345
599
  "form",
346
600
  {
347
601
  className: cn("ods-mkt-access", inline && "ods-mkt-access--inline", className),
348
602
  onSubmit: handleSubmit,
349
603
  noValidate: true,
350
604
  children: [
351
- /* @__PURE__ */ jsxs3("div", { className: "ods-mkt-access__head", children: [
352
- /* @__PURE__ */ jsx3("h3", { className: "ods-mkt-access__title", children: title }),
353
- subtitle && /* @__PURE__ */ jsx3("p", { className: "ods-mkt-access__subtitle", children: subtitle })
605
+ /* @__PURE__ */ jsxs4("div", { className: "ods-mkt-access__head", children: [
606
+ /* @__PURE__ */ jsx4("h3", { className: "ods-mkt-access__title", children: title }),
607
+ subtitle && /* @__PURE__ */ jsx4("p", { className: "ods-mkt-access__subtitle", children: subtitle })
354
608
  ] }),
355
- /* @__PURE__ */ jsxs3(
609
+ /* @__PURE__ */ jsxs4(
356
610
  "div",
357
611
  {
358
612
  className: cn(
@@ -360,9 +614,9 @@ function BetaAccessForm({
360
614
  fields === "full" && "ods-mkt-access__fields--full"
361
615
  ),
362
616
  children: [
363
- fields === "full" && nameLayout === "single" && /* @__PURE__ */ jsxs3("div", { className: "ods-mkt-access__field", children: [
364
- /* @__PURE__ */ jsx3("label", { className: "ods-mkt-access__label", htmlFor: `${uid}-name`, children: "Full name" }),
365
- /* @__PURE__ */ jsx3(
617
+ fields === "full" && nameLayout === "single" && /* @__PURE__ */ jsxs4("div", { className: "ods-mkt-access__field", children: [
618
+ /* @__PURE__ */ jsx4("label", { className: "ods-mkt-access__label", htmlFor: `${uid}-name`, children: "Full name" }),
619
+ /* @__PURE__ */ jsx4(
366
620
  Input,
367
621
  {
368
622
  id: `${uid}-name`,
@@ -374,10 +628,10 @@ function BetaAccessForm({
374
628
  }
375
629
  )
376
630
  ] }),
377
- fields === "full" && nameLayout === "split" && /* @__PURE__ */ jsxs3(Fragment, { children: [
378
- /* @__PURE__ */ jsxs3("div", { className: "ods-mkt-access__field", children: [
379
- /* @__PURE__ */ jsx3("label", { className: "ods-mkt-access__label", htmlFor: `${uid}-firstname`, children: "First name" }),
380
- /* @__PURE__ */ jsx3(
631
+ fields === "full" && nameLayout === "split" && /* @__PURE__ */ jsxs4(Fragment2, { children: [
632
+ /* @__PURE__ */ jsxs4("div", { className: "ods-mkt-access__field", children: [
633
+ /* @__PURE__ */ jsx4("label", { className: "ods-mkt-access__label", htmlFor: `${uid}-firstname`, children: "First name" }),
634
+ /* @__PURE__ */ jsx4(
381
635
  Input,
382
636
  {
383
637
  id: `${uid}-firstname`,
@@ -389,9 +643,9 @@ function BetaAccessForm({
389
643
  }
390
644
  )
391
645
  ] }),
392
- /* @__PURE__ */ jsxs3("div", { className: "ods-mkt-access__field", children: [
393
- /* @__PURE__ */ jsx3("label", { className: "ods-mkt-access__label", htmlFor: `${uid}-lastname`, children: "Last name" }),
394
- /* @__PURE__ */ jsx3(
646
+ /* @__PURE__ */ jsxs4("div", { className: "ods-mkt-access__field", children: [
647
+ /* @__PURE__ */ jsx4("label", { className: "ods-mkt-access__label", htmlFor: `${uid}-lastname`, children: "Last name" }),
648
+ /* @__PURE__ */ jsx4(
395
649
  Input,
396
650
  {
397
651
  id: `${uid}-lastname`,
@@ -404,9 +658,9 @@ function BetaAccessForm({
404
658
  )
405
659
  ] })
406
660
  ] }),
407
- /* @__PURE__ */ jsxs3("div", { className: "ods-mkt-access__field", children: [
408
- /* @__PURE__ */ jsx3("label", { className: "ods-mkt-access__label", htmlFor: `${uid}-email`, children: "Work email" }),
409
- /* @__PURE__ */ jsx3(
661
+ /* @__PURE__ */ jsxs4("div", { className: "ods-mkt-access__field", children: [
662
+ /* @__PURE__ */ jsx4("label", { className: "ods-mkt-access__label", htmlFor: `${uid}-email`, children: "Work email" }),
663
+ /* @__PURE__ */ jsx4(
410
664
  Input,
411
665
  {
412
666
  id: `${uid}-email`,
@@ -419,9 +673,9 @@ function BetaAccessForm({
419
673
  }
420
674
  )
421
675
  ] }),
422
- fields === "full" && /* @__PURE__ */ jsxs3("div", { className: "ods-mkt-access__field", children: [
423
- /* @__PURE__ */ jsx3("label", { className: "ods-mkt-access__label", htmlFor: `${uid}-company`, children: "Company" }),
424
- /* @__PURE__ */ jsx3(
676
+ fields === "full" && /* @__PURE__ */ jsxs4("div", { className: "ods-mkt-access__field", children: [
677
+ /* @__PURE__ */ jsx4("label", { className: "ods-mkt-access__label", htmlFor: `${uid}-company`, children: "Company" }),
678
+ /* @__PURE__ */ jsx4(
425
679
  Input,
426
680
  {
427
681
  id: `${uid}-company`,
@@ -433,9 +687,9 @@ function BetaAccessForm({
433
687
  }
434
688
  )
435
689
  ] }),
436
- fields === "full" && teamSizes && teamSizes.length > 0 && /* @__PURE__ */ jsxs3("div", { className: "ods-mkt-access__field", children: [
437
- /* @__PURE__ */ jsx3("span", { className: "ods-mkt-access__label", id: `${uid}-teamsize-label`, children: "Team size" }),
438
- /* @__PURE__ */ jsx3(
690
+ fields === "full" && teamSizes && teamSizes.length > 0 && /* @__PURE__ */ jsxs4("div", { className: "ods-mkt-access__field", children: [
691
+ /* @__PURE__ */ jsx4("span", { className: "ods-mkt-access__label", id: `${uid}-teamsize-label`, children: "Team size" }),
692
+ /* @__PURE__ */ jsx4(
439
693
  Select,
440
694
  {
441
695
  "aria-labelledby": `${uid}-teamsize-label`,
@@ -447,9 +701,9 @@ function BetaAccessForm({
447
701
  }
448
702
  )
449
703
  ] }),
450
- fields === "full" && plans && plans.length > 0 && /* @__PURE__ */ jsxs3("div", { className: "ods-mkt-access__field", children: [
451
- /* @__PURE__ */ jsx3("span", { className: "ods-mkt-access__label", id: `${uid}-plan-label`, children: "Plan (optional)" }),
452
- /* @__PURE__ */ jsx3(
704
+ fields === "full" && plans && plans.length > 0 && /* @__PURE__ */ jsxs4("div", { className: "ods-mkt-access__field", children: [
705
+ /* @__PURE__ */ jsx4("span", { className: "ods-mkt-access__label", id: `${uid}-plan-label`, children: "Plan (optional)" }),
706
+ /* @__PURE__ */ jsx4(
453
707
  Select,
454
708
  {
455
709
  "aria-labelledby": `${uid}-plan-label`,
@@ -461,9 +715,9 @@ function BetaAccessForm({
461
715
  }
462
716
  )
463
717
  ] }),
464
- fields === "full" && useCases && useCases.length > 0 && /* @__PURE__ */ jsxs3("div", { className: "ods-mkt-access__field", children: [
465
- /* @__PURE__ */ jsx3("span", { className: "ods-mkt-access__label", id: `${uid}-usecase-label`, children: "Primary use case" }),
466
- /* @__PURE__ */ jsx3(
718
+ fields === "full" && useCases && useCases.length > 0 && /* @__PURE__ */ jsxs4("div", { className: "ods-mkt-access__field", children: [
719
+ /* @__PURE__ */ jsx4("span", { className: "ods-mkt-access__label", id: `${uid}-usecase-label`, children: "Primary use case" }),
720
+ /* @__PURE__ */ jsx4(
467
721
  Select,
468
722
  {
469
723
  "aria-labelledby": `${uid}-usecase-label`,
@@ -475,8 +729,8 @@ function BetaAccessForm({
475
729
  }
476
730
  )
477
731
  ] }),
478
- fields === "full" && showDetails && /* @__PURE__ */ jsxs3("div", { className: "ods-mkt-access__field ods-mkt-access__field--wide", children: [
479
- /* @__PURE__ */ jsx3(
732
+ fields === "full" && showDetails && /* @__PURE__ */ jsxs4("div", { className: "ods-mkt-access__field ods-mkt-access__field--wide", children: [
733
+ /* @__PURE__ */ jsx4(
480
734
  "label",
481
735
  {
482
736
  className: "ods-mkt-access__label",
@@ -485,7 +739,7 @@ function BetaAccessForm({
485
739
  children: detailsLabel
486
740
  }
487
741
  ),
488
- /* @__PURE__ */ jsx3(
742
+ /* @__PURE__ */ jsx4(
489
743
  Textarea,
490
744
  {
491
745
  id: `${uid}-details`,
@@ -498,7 +752,7 @@ function BetaAccessForm({
498
752
  }
499
753
  )
500
754
  ] }),
501
- /* @__PURE__ */ jsx3(
755
+ /* @__PURE__ */ jsx4(
502
756
  Button,
503
757
  {
504
758
  type: "submit",
@@ -511,15 +765,15 @@ function BetaAccessForm({
511
765
  ]
512
766
  }
513
767
  ),
514
- error && /* @__PURE__ */ jsx3("p", { className: "ods-mkt-access__error", role: "alert", children: error }),
515
- footnote && /* @__PURE__ */ jsx3("p", { className: "ods-mkt-access__footnote", children: footnote })
768
+ error && /* @__PURE__ */ jsx4("p", { className: "ods-mkt-access__error", role: "alert", children: error }),
769
+ footnote && /* @__PURE__ */ jsx4("p", { className: "ods-mkt-access__footnote", children: footnote })
516
770
  ]
517
771
  }
518
772
  );
519
773
  }
520
774
 
521
775
  // src/marketing/components/BlogGrid/BlogGrid.tsx
522
- import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
776
+ import { jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
523
777
  function BlogGrid({
524
778
  posts,
525
779
  columns = 3,
@@ -528,8 +782,8 @@ function BlogGrid({
528
782
  className,
529
783
  ...rest
530
784
  }) {
531
- return /* @__PURE__ */ jsxs4("div", { ...rest, className: cn("ods-mkt-blog", className), children: [
532
- /* @__PURE__ */ jsx4("div", { className: cn("ods-mkt-blog__grid", `ods-mkt-blog__grid--${columns}`), children: posts.map((post) => /* @__PURE__ */ jsx4(
785
+ return /* @__PURE__ */ jsxs5("div", { ...rest, className: cn("ods-mkt-blog", className), children: [
786
+ /* @__PURE__ */ jsx5("div", { className: cn("ods-mkt-blog__grid", `ods-mkt-blog__grid--${columns}`), children: posts.map((post) => /* @__PURE__ */ jsx5(
533
787
  BlogCard,
534
788
  {
535
789
  title: post.title,
@@ -543,13 +797,13 @@ function BlogGrid({
543
797
  },
544
798
  post.id
545
799
  )) }),
546
- viewAllHref && /* @__PURE__ */ jsx4("div", { className: "ods-mkt-blog__more", children: /* @__PURE__ */ jsx4("a", { className: "ods-mkt-blog__more-link", href: viewAllHref, children: viewAllLabel }) })
800
+ viewAllHref && /* @__PURE__ */ jsx5("div", { className: "ods-mkt-blog__more", children: /* @__PURE__ */ jsx5("a", { className: "ods-mkt-blog__more-link", href: viewAllHref, children: viewAllLabel }) })
547
801
  ] });
548
802
  }
549
803
 
550
804
  // src/marketing/components/ContactForm/ContactForm.tsx
551
- import { useId as useId2, useState as useState2 } from "react";
552
- import { jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
805
+ import { useId as useId3, useState as useState3 } from "react";
806
+ import { jsx as jsx6, jsxs as jsxs6 } from "react/jsx-runtime";
553
807
  function ContactForm({
554
808
  title = "Talk to us",
555
809
  subtitle = "SALES \xB7 PARTNERSHIPS \xB7 ANYTHING ELSE \u2014 WE READ EVERYTHING",
@@ -562,8 +816,8 @@ function ContactForm({
562
816
  disabled = false,
563
817
  className
564
818
  }) {
565
- const uid = useId2();
566
- const [values, setValues] = useState2({
819
+ const uid = useId3();
820
+ const [values, setValues] = useState3({
567
821
  name: "",
568
822
  email: "",
569
823
  company: "",
@@ -571,8 +825,8 @@ function ContactForm({
571
825
  message: ""
572
826
  });
573
827
  const selectedTopic = topics?.find((t) => t.value === values.topic);
574
- const [phase, setPhase] = useState2("idle");
575
- const [error, setError] = useState2(null);
828
+ const [phase, setPhase] = useState3("idle");
829
+ const [error, setError] = useState3(null);
576
830
  const handleSubmit = async (event) => {
577
831
  event.preventDefault();
578
832
  if (phase === "submitting") return;
@@ -603,24 +857,24 @@ function ContactForm({
603
857
  }
604
858
  };
605
859
  if (phase === "success") {
606
- return /* @__PURE__ */ jsxs5("div", { className: cn("ods-mkt-contact", "ods-mkt-contact--success", className), role: "status", children: [
607
- /* @__PURE__ */ jsxs5("p", { className: "ods-mkt-contact__success-mark", children: [
860
+ return /* @__PURE__ */ jsxs6("div", { className: cn("ods-mkt-contact", "ods-mkt-contact--success", className), role: "status", children: [
861
+ /* @__PURE__ */ jsxs6("p", { className: "ods-mkt-contact__success-mark", children: [
608
862
  "\u2713 ",
609
863
  successTitle
610
864
  ] }),
611
- /* @__PURE__ */ jsx5("p", { className: "ods-mkt-contact__success-body", children: successBody })
865
+ /* @__PURE__ */ jsx6("p", { className: "ods-mkt-contact__success-body", children: successBody })
612
866
  ] });
613
867
  }
614
868
  const busy = disabled || phase === "submitting";
615
- return /* @__PURE__ */ jsxs5("form", { className: cn("ods-mkt-contact", className), onSubmit: handleSubmit, noValidate: true, children: [
616
- /* @__PURE__ */ jsxs5("div", { className: "ods-mkt-contact__head", children: [
617
- /* @__PURE__ */ jsx5("h3", { className: "ods-mkt-contact__title", children: title }),
618
- subtitle && /* @__PURE__ */ jsx5("p", { className: "ods-mkt-contact__subtitle", children: subtitle })
869
+ return /* @__PURE__ */ jsxs6("form", { className: cn("ods-mkt-contact", className), onSubmit: handleSubmit, noValidate: true, children: [
870
+ /* @__PURE__ */ jsxs6("div", { className: "ods-mkt-contact__head", children: [
871
+ /* @__PURE__ */ jsx6("h3", { className: "ods-mkt-contact__title", children: title }),
872
+ subtitle && /* @__PURE__ */ jsx6("p", { className: "ods-mkt-contact__subtitle", children: subtitle })
619
873
  ] }),
620
- /* @__PURE__ */ jsxs5("div", { className: "ods-mkt-contact__grid", children: [
621
- /* @__PURE__ */ jsxs5("div", { className: "ods-mkt-contact__field", children: [
622
- /* @__PURE__ */ jsx5("label", { className: "ods-mkt-contact__label", htmlFor: `${uid}-name`, children: "Full name" }),
623
- /* @__PURE__ */ jsx5(
874
+ /* @__PURE__ */ jsxs6("div", { className: "ods-mkt-contact__grid", children: [
875
+ /* @__PURE__ */ jsxs6("div", { className: "ods-mkt-contact__field", children: [
876
+ /* @__PURE__ */ jsx6("label", { className: "ods-mkt-contact__label", htmlFor: `${uid}-name`, children: "Full name" }),
877
+ /* @__PURE__ */ jsx6(
624
878
  Input,
625
879
  {
626
880
  id: `${uid}-name`,
@@ -632,9 +886,9 @@ function ContactForm({
632
886
  }
633
887
  )
634
888
  ] }),
635
- /* @__PURE__ */ jsxs5("div", { className: "ods-mkt-contact__field", children: [
636
- /* @__PURE__ */ jsx5("label", { className: "ods-mkt-contact__label", htmlFor: `${uid}-email`, children: "Work email" }),
637
- /* @__PURE__ */ jsx5(
889
+ /* @__PURE__ */ jsxs6("div", { className: "ods-mkt-contact__field", children: [
890
+ /* @__PURE__ */ jsx6("label", { className: "ods-mkt-contact__label", htmlFor: `${uid}-email`, children: "Work email" }),
891
+ /* @__PURE__ */ jsx6(
638
892
  Input,
639
893
  {
640
894
  id: `${uid}-email`,
@@ -647,12 +901,12 @@ function ContactForm({
647
901
  }
648
902
  )
649
903
  ] }),
650
- /* @__PURE__ */ jsxs5("div", { className: "ods-mkt-contact__field ods-mkt-contact__field--wide", children: [
651
- /* @__PURE__ */ jsxs5("label", { className: "ods-mkt-contact__label", htmlFor: `${uid}-company`, children: [
904
+ /* @__PURE__ */ jsxs6("div", { className: "ods-mkt-contact__field ods-mkt-contact__field--wide", children: [
905
+ /* @__PURE__ */ jsxs6("label", { className: "ods-mkt-contact__label", htmlFor: `${uid}-company`, children: [
652
906
  "Company ",
653
- /* @__PURE__ */ jsx5("span", { className: "ods-mkt-contact__optional", children: "(optional)" })
907
+ /* @__PURE__ */ jsx6("span", { className: "ods-mkt-contact__optional", children: "(optional)" })
654
908
  ] }),
655
- /* @__PURE__ */ jsx5(
909
+ /* @__PURE__ */ jsx6(
656
910
  Input,
657
911
  {
658
912
  id: `${uid}-company`,
@@ -664,9 +918,9 @@ function ContactForm({
664
918
  }
665
919
  )
666
920
  ] }),
667
- topics && topics.length > 0 && /* @__PURE__ */ jsxs5("div", { className: "ods-mkt-contact__field ods-mkt-contact__field--wide", children: [
668
- /* @__PURE__ */ jsx5("span", { className: "ods-mkt-contact__label", id: `${uid}-topic-label`, children: "Topic" }),
669
- /* @__PURE__ */ jsx5(
921
+ topics && topics.length > 0 && /* @__PURE__ */ jsxs6("div", { className: "ods-mkt-contact__field ods-mkt-contact__field--wide", children: [
922
+ /* @__PURE__ */ jsx6("span", { className: "ods-mkt-contact__label", id: `${uid}-topic-label`, children: "Topic" }),
923
+ /* @__PURE__ */ jsx6(
670
924
  Select,
671
925
  {
672
926
  "aria-labelledby": `${uid}-topic-label`,
@@ -677,10 +931,10 @@ function ContactForm({
677
931
  disabled: busy
678
932
  }
679
933
  ),
680
- selectedTopic?.hint && /* @__PURE__ */ jsx5("p", { className: "ods-mkt-contact__topic-hint", children: selectedTopic.hint })
934
+ selectedTopic?.hint && /* @__PURE__ */ jsx6("p", { className: "ods-mkt-contact__topic-hint", children: selectedTopic.hint })
681
935
  ] }),
682
- /* @__PURE__ */ jsxs5("div", { className: "ods-mkt-contact__field ods-mkt-contact__field--wide", children: [
683
- /* @__PURE__ */ jsx5(
936
+ /* @__PURE__ */ jsxs6("div", { className: "ods-mkt-contact__field ods-mkt-contact__field--wide", children: [
937
+ /* @__PURE__ */ jsx6(
684
938
  "label",
685
939
  {
686
940
  className: "ods-mkt-contact__label",
@@ -689,7 +943,7 @@ function ContactForm({
689
943
  children: "Message"
690
944
  }
691
945
  ),
692
- /* @__PURE__ */ jsx5(
946
+ /* @__PURE__ */ jsx6(
693
947
  Textarea,
694
948
  {
695
949
  id: `${uid}-message`,
@@ -703,10 +957,10 @@ function ContactForm({
703
957
  )
704
958
  ] })
705
959
  ] }),
706
- error && /* @__PURE__ */ jsx5("p", { className: "ods-mkt-contact__error", role: "alert", children: error }),
707
- /* @__PURE__ */ jsxs5("div", { className: "ods-mkt-contact__foot", children: [
708
- footnote && /* @__PURE__ */ jsx5("p", { className: "ods-mkt-contact__footnote", children: footnote }),
709
- /* @__PURE__ */ jsx5(
960
+ error && /* @__PURE__ */ jsx6("p", { className: "ods-mkt-contact__error", role: "alert", children: error }),
961
+ /* @__PURE__ */ jsxs6("div", { className: "ods-mkt-contact__foot", children: [
962
+ footnote && /* @__PURE__ */ jsx6("p", { className: "ods-mkt-contact__footnote", children: footnote }),
963
+ /* @__PURE__ */ jsx6(
710
964
  Button,
711
965
  {
712
966
  type: "submit",
@@ -721,13 +975,13 @@ function ContactForm({
721
975
  }
722
976
 
723
977
  // src/marketing/components/CtaBanner/CtaBanner.tsx
724
- import { jsx as jsx6, jsxs as jsxs6 } from "react/jsx-runtime";
978
+ import { jsx as jsx7, jsxs as jsxs7 } from "react/jsx-runtime";
725
979
  function Action({
726
980
  action,
727
981
  variant
728
982
  }) {
729
983
  if (action.href) {
730
- return /* @__PURE__ */ jsx6(
984
+ return /* @__PURE__ */ jsx7(
731
985
  "a",
732
986
  {
733
987
  className: cn("ods-mkt-cta__link", `ods-mkt-cta__link--${variant}`),
@@ -737,7 +991,7 @@ function Action({
737
991
  }
738
992
  );
739
993
  }
740
- return /* @__PURE__ */ jsx6(Button, { variant, onClick: action.onClick, children: action.label });
994
+ return /* @__PURE__ */ jsx7(Button, { variant, onClick: action.onClick, children: action.label });
741
995
  }
742
996
  function CtaBanner({
743
997
  title,
@@ -748,19 +1002,19 @@ function CtaBanner({
748
1002
  className,
749
1003
  ...rest
750
1004
  }) {
751
- return /* @__PURE__ */ jsxs6("section", { ...rest, className: cn("ods-mkt-cta", className), children: [
752
- /* @__PURE__ */ jsx6("h2", { className: "ods-mkt-cta__title", children: title }),
753
- lede && /* @__PURE__ */ jsx6("p", { className: "ods-mkt-cta__lede", children: lede }),
754
- /* @__PURE__ */ jsxs6("div", { className: "ods-mkt-cta__actions", children: [
755
- /* @__PURE__ */ jsx6(Action, { action: primary, variant: "primary" }),
756
- secondary && /* @__PURE__ */ jsx6(Action, { action: secondary, variant: "secondary" })
1005
+ return /* @__PURE__ */ jsxs7("section", { ...rest, className: cn("ods-mkt-cta", className), children: [
1006
+ /* @__PURE__ */ jsx7("h2", { className: "ods-mkt-cta__title", children: title }),
1007
+ lede && /* @__PURE__ */ jsx7("p", { className: "ods-mkt-cta__lede", children: lede }),
1008
+ /* @__PURE__ */ jsxs7("div", { className: "ods-mkt-cta__actions", children: [
1009
+ /* @__PURE__ */ jsx7(Action, { action: primary, variant: "primary" }),
1010
+ secondary && /* @__PURE__ */ jsx7(Action, { action: secondary, variant: "secondary" })
757
1011
  ] }),
758
- footnote && /* @__PURE__ */ jsx6("p", { className: "ods-mkt-cta__footnote", children: footnote })
1012
+ footnote && /* @__PURE__ */ jsx7("p", { className: "ods-mkt-cta__footnote", children: footnote })
759
1013
  ] });
760
1014
  }
761
1015
 
762
1016
  // src/marketing/components/FaqSection/FaqSection.tsx
763
- import { jsx as jsx7 } from "react/jsx-runtime";
1017
+ import { jsx as jsx8 } from "react/jsx-runtime";
764
1018
  function FaqSection({
765
1019
  items,
766
1020
  columns = 1,
@@ -770,7 +1024,7 @@ function FaqSection({
770
1024
  }) {
771
1025
  const half = Math.ceil(items.length / 2);
772
1026
  const columnItems = columns === 2 ? [items.slice(0, half), items.slice(half)] : [items];
773
- return /* @__PURE__ */ jsx7("div", { ...rest, className: cn("ods-mkt-faq", columns === 2 && "ods-mkt-faq--2", className), children: columnItems.map((column, i) => /* @__PURE__ */ jsx7(
1027
+ return /* @__PURE__ */ jsx8("div", { ...rest, className: cn("ods-mkt-faq", columns === 2 && "ods-mkt-faq--2", className), children: columnItems.map((column, i) => /* @__PURE__ */ jsx8(
774
1028
  Accordion,
775
1029
  {
776
1030
  mode: "multiple",
@@ -778,7 +1032,7 @@ function FaqSection({
778
1032
  items: column.map((item) => ({
779
1033
  id: item.id,
780
1034
  label: item.question,
781
- content: /* @__PURE__ */ jsx7("div", { className: "ods-mkt-faq__answer", children: item.answer })
1035
+ content: /* @__PURE__ */ jsx8("div", { className: "ods-mkt-faq__answer", children: item.answer })
782
1036
  }))
783
1037
  },
784
1038
  i
@@ -786,7 +1040,7 @@ function FaqSection({
786
1040
  }
787
1041
 
788
1042
  // src/marketing/components/FeatureGrid/FeatureGrid.tsx
789
- import { jsx as jsx8, jsxs as jsxs7 } from "react/jsx-runtime";
1043
+ import { jsx as jsx9, jsxs as jsxs8 } from "react/jsx-runtime";
790
1044
  function FeatureGrid({
791
1045
  items,
792
1046
  columns = 3,
@@ -794,7 +1048,7 @@ function FeatureGrid({
794
1048
  className,
795
1049
  ...rest
796
1050
  }) {
797
- return /* @__PURE__ */ jsx8(
1051
+ return /* @__PURE__ */ jsx9(
798
1052
  "div",
799
1053
  {
800
1054
  ...rest,
@@ -804,10 +1058,10 @@ function FeatureGrid({
804
1058
  dense && "ods-mkt-features--dense",
805
1059
  className
806
1060
  ),
807
- children: items.map((item) => /* @__PURE__ */ jsxs7("article", { className: "ods-mkt-features__cell", children: [
808
- item.icon && /* @__PURE__ */ jsx8("span", { className: "ods-mkt-features__icon", "aria-hidden": "true", children: item.icon }),
809
- /* @__PURE__ */ jsx8("h3", { className: "ods-mkt-features__title", children: item.title }),
810
- /* @__PURE__ */ jsx8("p", { className: "ods-mkt-features__body", children: item.body })
1061
+ children: items.map((item) => /* @__PURE__ */ jsxs8("article", { className: "ods-mkt-features__cell", children: [
1062
+ item.icon && /* @__PURE__ */ jsx9("span", { className: "ods-mkt-features__icon", "aria-hidden": "true", children: item.icon }),
1063
+ /* @__PURE__ */ jsx9("h3", { className: "ods-mkt-features__title", children: item.title }),
1064
+ /* @__PURE__ */ jsx9("p", { className: "ods-mkt-features__body", children: item.body })
811
1065
  ] }, item.id))
812
1066
  }
813
1067
  );
@@ -815,10 +1069,10 @@ function FeatureGrid({
815
1069
 
816
1070
  // src/marketing/components/IntegrationsFinder/IntegrationsFinder.tsx
817
1071
  import { CheckmarkIcon, SearchIcon } from "@octaviaflow/icons";
818
- import { useMemo, useState as useState3 } from "react";
819
- import { Fragment as Fragment2, jsx as jsx9, jsxs as jsxs8 } from "react/jsx-runtime";
1072
+ import { useMemo, useState as useState4 } from "react";
1073
+ import { Fragment as Fragment3, jsx as jsx10, jsxs as jsxs9 } from "react/jsx-runtime";
820
1074
  function LetterTile({ name }) {
821
- return /* @__PURE__ */ jsx9("span", { className: "ods-mkt-finder__letter", "aria-hidden": "true", children: name.trim().charAt(0).toUpperCase() });
1075
+ return /* @__PURE__ */ jsx10("span", { className: "ods-mkt-finder__letter", "aria-hidden": "true", children: name.trim().charAt(0).toUpperCase() });
822
1076
  }
823
1077
  function IntegrationsFinder({
824
1078
  items,
@@ -829,11 +1083,11 @@ function IntegrationsFinder({
829
1083
  requestErrorHint = "Couldn't send right now \u2014 please try again in a moment.",
830
1084
  className
831
1085
  }) {
832
- const [query, setQuery] = useState3("");
833
- const [activeCategory, setActiveCategory] = useState3(null);
834
- const [email, setEmail] = useState3("");
835
- const [requestState, setRequestState] = useState3("idle");
836
- const [emailError, setEmailError] = useState3(false);
1086
+ const [query, setQuery] = useState4("");
1087
+ const [activeCategory, setActiveCategory] = useState4(null);
1088
+ const [email, setEmail] = useState4("");
1089
+ const [requestState, setRequestState] = useState4("idle");
1090
+ const [emailError, setEmailError] = useState4(false);
837
1091
  const pillCategories = useMemo(() => {
838
1092
  if (categories?.length) return categories;
839
1093
  const seen = [];
@@ -879,14 +1133,14 @@ function IntegrationsFinder({
879
1133
  setRequestState("error");
880
1134
  }
881
1135
  };
882
- return /* @__PURE__ */ jsxs8("div", { className: cn("ods-mkt-finder", className), children: [
883
- /* @__PURE__ */ jsx9("div", { className: "ods-mkt-finder__search", children: /* @__PURE__ */ jsx9(
1136
+ return /* @__PURE__ */ jsxs9("div", { className: cn("ods-mkt-finder", className), children: [
1137
+ /* @__PURE__ */ jsx10("div", { className: "ods-mkt-finder__search", children: /* @__PURE__ */ jsx10(
884
1138
  Input,
885
1139
  {
886
1140
  type: "search",
887
1141
  "aria-label": "Search connectors",
888
1142
  placeholder: searchPlaceholder,
889
- leftIcon: /* @__PURE__ */ jsx9(SearchIcon, { size: "sm" }),
1143
+ leftIcon: /* @__PURE__ */ jsx10(SearchIcon, { size: "sm" }),
890
1144
  value: query,
891
1145
  onChange: (e) => {
892
1146
  setQuery(e.target.value);
@@ -894,8 +1148,8 @@ function IntegrationsFinder({
894
1148
  }
895
1149
  }
896
1150
  ) }),
897
- /* @__PURE__ */ jsxs8("fieldset", { className: "ods-mkt-finder__pills", "aria-label": "Connector categories", children: [
898
- /* @__PURE__ */ jsxs8(
1151
+ /* @__PURE__ */ jsxs9("fieldset", { className: "ods-mkt-finder__pills", "aria-label": "Connector categories", children: [
1152
+ /* @__PURE__ */ jsxs9(
899
1153
  "button",
900
1154
  {
901
1155
  type: "button",
@@ -906,11 +1160,11 @@ function IntegrationsFinder({
906
1160
  onClick: () => setActiveCategory(null),
907
1161
  children: [
908
1162
  "All ",
909
- /* @__PURE__ */ jsx9("span", { className: "ods-mkt-finder__count", children: items.length })
1163
+ /* @__PURE__ */ jsx10("span", { className: "ods-mkt-finder__count", children: items.length })
910
1164
  ]
911
1165
  }
912
1166
  ),
913
- pillCategories.map((category) => /* @__PURE__ */ jsxs8(
1167
+ pillCategories.map((category) => /* @__PURE__ */ jsxs9(
914
1168
  "button",
915
1169
  {
916
1170
  type: "button",
@@ -922,34 +1176,34 @@ function IntegrationsFinder({
922
1176
  children: [
923
1177
  category,
924
1178
  " ",
925
- /* @__PURE__ */ jsx9("span", { className: "ods-mkt-finder__count", children: counts.get(category) ?? 0 })
1179
+ /* @__PURE__ */ jsx10("span", { className: "ods-mkt-finder__count", children: counts.get(category) ?? 0 })
926
1180
  ]
927
1181
  },
928
1182
  category
929
1183
  ))
930
1184
  ] }),
931
- results.length > 0 ? /* @__PURE__ */ jsx9("div", { className: "ods-mkt-finder__grid", children: results.map((item) => /* @__PURE__ */ jsxs8("div", { className: "ods-mkt-finder__card", children: [
932
- /* @__PURE__ */ jsx9("span", { className: "ods-mkt-finder__card-icon", "aria-hidden": "true", children: item.icon ?? /* @__PURE__ */ jsx9(LetterTile, { name: item.name }) }),
933
- /* @__PURE__ */ jsx9("span", { className: "ods-mkt-finder__card-name", children: item.name }),
934
- (item.kind ?? "native") === "universal" && /* @__PURE__ */ jsx9("span", { className: "ods-mkt-finder__badge", children: universalBadgeLabel })
935
- ] }, item.name)) }) : /* @__PURE__ */ jsx9("div", { className: "ods-mkt-finder__miss", children: requestState === "sent" ? /* @__PURE__ */ jsxs8("p", { className: "ods-mkt-finder__sent", role: "status", children: [
936
- /* @__PURE__ */ jsx9(CheckmarkIcon, { size: "sm", "aria-hidden": "true" }),
1185
+ results.length > 0 ? /* @__PURE__ */ jsx10("div", { className: "ods-mkt-finder__grid", children: results.map((item) => /* @__PURE__ */ jsxs9("div", { className: "ods-mkt-finder__card", children: [
1186
+ /* @__PURE__ */ jsx10("span", { className: "ods-mkt-finder__card-icon", "aria-hidden": "true", children: item.icon ?? /* @__PURE__ */ jsx10(LetterTile, { name: item.name }) }),
1187
+ /* @__PURE__ */ jsx10("span", { className: "ods-mkt-finder__card-name", children: item.name }),
1188
+ (item.kind ?? "native") === "universal" && /* @__PURE__ */ jsx10("span", { className: "ods-mkt-finder__badge", children: universalBadgeLabel })
1189
+ ] }, item.name)) }) : /* @__PURE__ */ jsx10("div", { className: "ods-mkt-finder__miss", children: requestState === "sent" ? /* @__PURE__ */ jsxs9("p", { className: "ods-mkt-finder__sent", role: "status", children: [
1190
+ /* @__PURE__ */ jsx10(CheckmarkIcon, { size: "sm", "aria-hidden": "true" }),
937
1191
  " Got it \u2014 we'll let you know when a",
938
1192
  " ",
939
- /* @__PURE__ */ jsx9("strong", { children: query.trim() }),
1193
+ /* @__PURE__ */ jsx10("strong", { children: query.trim() }),
940
1194
  " connector is available."
941
- ] }) : /* @__PURE__ */ jsxs8(Fragment2, { children: [
942
- /* @__PURE__ */ jsxs8("h3", { className: "ods-mkt-finder__miss-title", children: [
1195
+ ] }) : /* @__PURE__ */ jsxs9(Fragment3, { children: [
1196
+ /* @__PURE__ */ jsxs9("h3", { className: "ods-mkt-finder__miss-title", children: [
943
1197
  "No native ",
944
- /* @__PURE__ */ jsx9("strong", { children: query.trim() }),
1198
+ /* @__PURE__ */ jsx10("strong", { children: query.trim() }),
945
1199
  " connector yet"
946
1200
  ] }),
947
- /* @__PURE__ */ jsxs8("p", { className: "ods-mkt-finder__miss-body", children: [
1201
+ /* @__PURE__ */ jsxs9("p", { className: "ods-mkt-finder__miss-body", children: [
948
1202
  "Our universal open connectors likely cover it today \u2014 and we build native connectors on request. ",
949
1203
  onRequestConnector && "Leave your email and we'll notify you."
950
1204
  ] }),
951
- onRequestConnector && /* @__PURE__ */ jsxs8("form", { className: "ods-mkt-finder__miss-form", onSubmit: handleRequest, noValidate: true, children: [
952
- /* @__PURE__ */ jsx9(
1205
+ onRequestConnector && /* @__PURE__ */ jsxs9("form", { className: "ods-mkt-finder__miss-form", onSubmit: handleRequest, noValidate: true, children: [
1206
+ /* @__PURE__ */ jsx10(
953
1207
  Input,
954
1208
  {
955
1209
  type: "email",
@@ -964,15 +1218,15 @@ function IntegrationsFinder({
964
1218
  }
965
1219
  }
966
1220
  ),
967
- /* @__PURE__ */ jsx9(Button, { type: "submit", variant: "primary", loading: requestState === "sending", children: "Request connector" })
1221
+ /* @__PURE__ */ jsx10(Button, { type: "submit", variant: "primary", loading: requestState === "sending", children: "Request connector" })
968
1222
  ] }),
969
- requestState === "error" && /* @__PURE__ */ jsx9("p", { className: "ods-mkt-finder__miss-error", role: "alert", children: requestErrorHint })
1223
+ requestState === "error" && /* @__PURE__ */ jsx10("p", { className: "ods-mkt-finder__miss-error", role: "alert", children: requestErrorHint })
970
1224
  ] }) })
971
1225
  ] });
972
1226
  }
973
1227
 
974
1228
  // src/marketing/components/IntegrationsWall/IntegrationsWall.tsx
975
- import { jsx as jsx10, jsxs as jsxs9 } from "react/jsx-runtime";
1229
+ import { jsx as jsx11, jsxs as jsxs10 } from "react/jsx-runtime";
976
1230
  function IntegrationsWall({
977
1231
  categories,
978
1232
  footnote,
@@ -980,26 +1234,26 @@ function IntegrationsWall({
980
1234
  className,
981
1235
  ...rest
982
1236
  }) {
983
- return /* @__PURE__ */ jsxs9("div", { ...rest, className: cn("ods-mkt-wall", className), children: [
984
- /* @__PURE__ */ jsx10("div", { className: cn("ods-mkt-wall__grid", `ods-mkt-wall__grid--${columns}`), children: categories.map((category) => /* @__PURE__ */ jsxs9("div", { className: "ods-mkt-wall__card", children: [
985
- /* @__PURE__ */ jsxs9("div", { className: "ods-mkt-wall__card-head", children: [
986
- category.icon && /* @__PURE__ */ jsx10("span", { className: "ods-mkt-wall__card-icon", "aria-hidden": "true", children: category.icon }),
987
- /* @__PURE__ */ jsx10("h3", { className: "ods-mkt-wall__card-label", children: category.label })
1237
+ return /* @__PURE__ */ jsxs10("div", { ...rest, className: cn("ods-mkt-wall", className), children: [
1238
+ /* @__PURE__ */ jsx11("div", { className: cn("ods-mkt-wall__grid", `ods-mkt-wall__grid--${columns}`), children: categories.map((category) => /* @__PURE__ */ jsxs10("div", { className: "ods-mkt-wall__card", children: [
1239
+ /* @__PURE__ */ jsxs10("div", { className: "ods-mkt-wall__card-head", children: [
1240
+ category.icon && /* @__PURE__ */ jsx11("span", { className: "ods-mkt-wall__card-icon", "aria-hidden": "true", children: category.icon }),
1241
+ /* @__PURE__ */ jsx11("h3", { className: "ods-mkt-wall__card-label", children: category.label })
988
1242
  ] }),
989
- /* @__PURE__ */ jsx10("div", { className: "ods-mkt-wall__pills", children: category.items.map((item) => /* @__PURE__ */ jsxs9("span", { className: "ods-mkt-wall__pill", children: [
990
- item.icon && /* @__PURE__ */ jsx10("span", { className: "ods-mkt-wall__pill-icon", "aria-hidden": "true", children: item.icon }),
1243
+ /* @__PURE__ */ jsx11("div", { className: "ods-mkt-wall__pills", children: category.items.map((item) => /* @__PURE__ */ jsxs10("span", { className: "ods-mkt-wall__pill", children: [
1244
+ item.icon && /* @__PURE__ */ jsx11("span", { className: "ods-mkt-wall__pill-icon", "aria-hidden": "true", children: item.icon }),
991
1245
  item.name
992
1246
  ] }, item.name)) })
993
1247
  ] }, category.id)) }),
994
- footnote && /* @__PURE__ */ jsx10("p", { className: "ods-mkt-wall__footnote", children: footnote })
1248
+ footnote && /* @__PURE__ */ jsx11("p", { className: "ods-mkt-wall__footnote", children: footnote })
995
1249
  ] });
996
1250
  }
997
1251
 
998
1252
  // src/marketing/components/LiveConsole/LiveConsole.tsx
999
1253
  import { CheckmarkIcon as CheckmarkIcon2, CloseIcon } from "@octaviaflow/icons";
1000
- import { jsx as jsx11, jsxs as jsxs10 } from "react/jsx-runtime";
1254
+ import { jsx as jsx12, jsxs as jsxs11 } from "react/jsx-runtime";
1001
1255
  function PendingGlyph() {
1002
- return /* @__PURE__ */ jsx11(
1256
+ return /* @__PURE__ */ jsx12(
1003
1257
  "svg",
1004
1258
  {
1005
1259
  viewBox: "0 0 24 24",
@@ -1011,20 +1265,20 @@ function PendingGlyph() {
1011
1265
  strokeLinecap: "round",
1012
1266
  strokeDasharray: "3.5 3.5",
1013
1267
  "aria-hidden": "true",
1014
- children: /* @__PURE__ */ jsx11("circle", { cx: "12", cy: "12", r: "9" })
1268
+ children: /* @__PURE__ */ jsx12("circle", { cx: "12", cy: "12", r: "9" })
1015
1269
  }
1016
1270
  );
1017
1271
  }
1018
1272
  function StateGlyph({ state }) {
1019
1273
  switch (state) {
1020
1274
  case "done":
1021
- return /* @__PURE__ */ jsx11(CheckmarkIcon2, { size: "sm", "aria-hidden": "true" });
1275
+ return /* @__PURE__ */ jsx12(CheckmarkIcon2, { size: "sm", "aria-hidden": "true" });
1022
1276
  case "running":
1023
- return /* @__PURE__ */ jsx11(Spinner, { size: "sm" });
1277
+ return /* @__PURE__ */ jsx12(Spinner, { size: "sm" });
1024
1278
  case "error":
1025
- return /* @__PURE__ */ jsx11(CloseIcon, { size: "sm", "aria-hidden": "true" });
1279
+ return /* @__PURE__ */ jsx12(CloseIcon, { size: "sm", "aria-hidden": "true" });
1026
1280
  case "queued":
1027
- return /* @__PURE__ */ jsx11(PendingGlyph, {});
1281
+ return /* @__PURE__ */ jsx12(PendingGlyph, {});
1028
1282
  }
1029
1283
  }
1030
1284
  function LiveConsole({
@@ -1035,33 +1289,33 @@ function LiveConsole({
1035
1289
  className,
1036
1290
  ...rest
1037
1291
  }) {
1038
- return /* @__PURE__ */ jsxs10("div", { ...rest, className: cn("ods-mkt-console", className), children: [
1039
- /* @__PURE__ */ jsxs10("div", { className: "ods-mkt-console__head", children: [
1040
- /* @__PURE__ */ jsx11("span", { className: "ods-mkt-console__title", children: title }),
1041
- badge != null && /* @__PURE__ */ jsxs10("span", { className: "ods-mkt-console__badge", children: [
1042
- /* @__PURE__ */ jsx11("span", { className: "ods-mkt-console__dot" }),
1292
+ return /* @__PURE__ */ jsxs11("div", { ...rest, className: cn("ods-mkt-console", className), children: [
1293
+ /* @__PURE__ */ jsxs11("div", { className: "ods-mkt-console__head", children: [
1294
+ /* @__PURE__ */ jsx12("span", { className: "ods-mkt-console__title", children: title }),
1295
+ badge != null && /* @__PURE__ */ jsxs11("span", { className: "ods-mkt-console__badge", children: [
1296
+ /* @__PURE__ */ jsx12("span", { className: "ods-mkt-console__dot" }),
1043
1297
  badge
1044
1298
  ] })
1045
1299
  ] }),
1046
- /* @__PURE__ */ jsx11("div", { className: "ods-mkt-console__body", children: lines.map((line, i) => {
1300
+ /* @__PURE__ */ jsx12("div", { className: "ods-mkt-console__body", children: lines.map((line, i) => {
1047
1301
  const state = line.state ?? "done";
1048
- return /* @__PURE__ */ jsxs10(
1302
+ return /* @__PURE__ */ jsxs11(
1049
1303
  "div",
1050
1304
  {
1051
1305
  className: cn("ods-mkt-console__line", animated && "ods-mkt-console__line--animated"),
1052
1306
  style: animated ? { animationDelay: `${0.3 + i * 0.6}s` } : void 0,
1053
1307
  children: [
1054
- /* @__PURE__ */ jsx11(
1308
+ /* @__PURE__ */ jsx12(
1055
1309
  "span",
1056
1310
  {
1057
1311
  className: cn("ods-mkt-console__glyph", `ods-mkt-console__glyph--${state}`),
1058
1312
  "aria-hidden": "true",
1059
- children: /* @__PURE__ */ jsx11(StateGlyph, { state })
1313
+ children: /* @__PURE__ */ jsx12(StateGlyph, { state })
1060
1314
  }
1061
1315
  ),
1062
- /* @__PURE__ */ jsxs10("span", { className: "ods-mkt-console__text", children: [
1063
- /* @__PURE__ */ jsx11("span", { className: "ods-mkt-console__label", children: line.label }),
1064
- line.detail && /* @__PURE__ */ jsxs10(
1316
+ /* @__PURE__ */ jsxs11("span", { className: "ods-mkt-console__text", children: [
1317
+ /* @__PURE__ */ jsx12("span", { className: "ods-mkt-console__label", children: line.label }),
1318
+ line.detail && /* @__PURE__ */ jsxs11(
1065
1319
  "span",
1066
1320
  {
1067
1321
  className: cn(
@@ -1085,9 +1339,9 @@ function LiveConsole({
1085
1339
  }
1086
1340
 
1087
1341
  // src/marketing/components/LogoMarquee/LogoMarquee.tsx
1088
- import { jsx as jsx12, jsxs as jsxs11 } from "react/jsx-runtime";
1342
+ import { jsx as jsx13, jsxs as jsxs12 } from "react/jsx-runtime";
1089
1343
  function Track({ items, hidden }) {
1090
- return /* @__PURE__ */ jsx12("div", { className: "ods-mkt-marquee__track", "aria-hidden": hidden || void 0, children: items.map((item) => /* @__PURE__ */ jsx12("span", { className: "ods-mkt-marquee__logo", title: item.label, children: item.icon ?? /* @__PURE__ */ jsx12("span", { className: "ods-mkt-marquee__wordmark", children: item.label }) }, item.id)) });
1344
+ return /* @__PURE__ */ jsx13("div", { className: "ods-mkt-marquee__track", "aria-hidden": hidden || void 0, children: items.map((item) => /* @__PURE__ */ jsx13("span", { className: "ods-mkt-marquee__logo", title: item.label, children: item.icon ?? /* @__PURE__ */ jsx13("span", { className: "ods-mkt-marquee__wordmark", children: item.label }) }, item.id)) });
1091
1345
  }
1092
1346
  function LogoMarquee({
1093
1347
  items,
@@ -1097,16 +1351,16 @@ function LogoMarquee({
1097
1351
  className,
1098
1352
  ...rest
1099
1353
  }) {
1100
- return /* @__PURE__ */ jsxs11(
1354
+ return /* @__PURE__ */ jsxs12(
1101
1355
  "div",
1102
1356
  {
1103
1357
  ...rest,
1104
1358
  className: cn("ods-mkt-marquee", grayscale && "ods-mkt-marquee--gray", className),
1105
1359
  children: [
1106
- label && /* @__PURE__ */ jsx12("p", { className: "ods-mkt-marquee__label", children: label }),
1107
- /* @__PURE__ */ jsx12("div", { className: "ods-mkt-marquee__viewport", children: /* @__PURE__ */ jsxs11("div", { className: "ods-mkt-marquee__rail", style: { animationDuration: `${speed}s` }, children: [
1108
- /* @__PURE__ */ jsx12(Track, { items }),
1109
- /* @__PURE__ */ jsx12(Track, { items, hidden: true })
1360
+ label && /* @__PURE__ */ jsx13("p", { className: "ods-mkt-marquee__label", children: label }),
1361
+ /* @__PURE__ */ jsx13("div", { className: "ods-mkt-marquee__viewport", children: /* @__PURE__ */ jsxs12("div", { className: "ods-mkt-marquee__rail", style: { animationDuration: `${speed}s` }, children: [
1362
+ /* @__PURE__ */ jsx13(Track, { items }),
1363
+ /* @__PURE__ */ jsx13(Track, { items, hidden: true })
1110
1364
  ] }) })
1111
1365
  ]
1112
1366
  }
@@ -1114,7 +1368,7 @@ function LogoMarquee({
1114
1368
  }
1115
1369
 
1116
1370
  // src/marketing/glyphs.tsx
1117
- import { jsx as jsx13, jsxs as jsxs12 } from "react/jsx-runtime";
1371
+ import { jsx as jsx14, jsxs as jsxs13 } from "react/jsx-runtime";
1118
1372
  var base = {
1119
1373
  xmlns: "http://www.w3.org/2000/svg",
1120
1374
  viewBox: "0 0 24 24",
@@ -1125,53 +1379,53 @@ var base = {
1125
1379
  strokeLinejoin: "round"
1126
1380
  };
1127
1381
  function SourceGlyph({ size = 12 }) {
1128
- return /* @__PURE__ */ jsxs12("svg", { ...base, width: size, height: size, "aria-hidden": "true", children: [
1129
- /* @__PURE__ */ jsx13("ellipse", { cx: "12", cy: "5", rx: "9", ry: "3" }),
1130
- /* @__PURE__ */ jsx13("path", { d: "M3 5v14a9 3 0 0 0 18 0V5" }),
1131
- /* @__PURE__ */ jsx13("path", { d: "M3 12a9 3 0 0 0 18 0" })
1382
+ return /* @__PURE__ */ jsxs13("svg", { ...base, width: size, height: size, "aria-hidden": "true", children: [
1383
+ /* @__PURE__ */ jsx14("ellipse", { cx: "12", cy: "5", rx: "9", ry: "3" }),
1384
+ /* @__PURE__ */ jsx14("path", { d: "M3 5v14a9 3 0 0 0 18 0V5" }),
1385
+ /* @__PURE__ */ jsx14("path", { d: "M3 12a9 3 0 0 0 18 0" })
1132
1386
  ] });
1133
1387
  }
1134
1388
  function DestinationGlyph({ size = 12 }) {
1135
- return /* @__PURE__ */ jsxs12("svg", { ...base, width: size, height: size, "aria-hidden": "true", children: [
1136
- /* @__PURE__ */ jsx13("rect", { x: "2", y: "3", width: "20", height: "5", rx: "1" }),
1137
- /* @__PURE__ */ jsx13("path", { d: "M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8" }),
1138
- /* @__PURE__ */ jsx13("path", { d: "M10 12h4" })
1389
+ return /* @__PURE__ */ jsxs13("svg", { ...base, width: size, height: size, "aria-hidden": "true", children: [
1390
+ /* @__PURE__ */ jsx14("rect", { x: "2", y: "3", width: "20", height: "5", rx: "1" }),
1391
+ /* @__PURE__ */ jsx14("path", { d: "M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8" }),
1392
+ /* @__PURE__ */ jsx14("path", { d: "M10 12h4" })
1139
1393
  ] });
1140
1394
  }
1141
1395
  function ActionGlyph({ size = 12 }) {
1142
- return /* @__PURE__ */ jsx13("svg", { ...base, width: size, height: size, "aria-hidden": "true", children: /* @__PURE__ */ jsx13("path", { d: "M13 2 3 14h9l-1 8 10-12h-9l1-8z" }) });
1396
+ return /* @__PURE__ */ jsx14("svg", { ...base, width: size, height: size, "aria-hidden": "true", children: /* @__PURE__ */ jsx14("path", { d: "M13 2 3 14h9l-1 8 10-12h-9l1-8z" }) });
1143
1397
  }
1144
1398
  function NotifyGlyph({ size = 12 }) {
1145
- return /* @__PURE__ */ jsx13("svg", { ...base, width: size, height: size, "aria-hidden": "true", children: /* @__PURE__ */ jsx13("path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z" }) });
1399
+ return /* @__PURE__ */ jsx14("svg", { ...base, width: size, height: size, "aria-hidden": "true", children: /* @__PURE__ */ jsx14("path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z" }) });
1146
1400
  }
1147
1401
  function ConnectorGlyph({ size = 12 }) {
1148
- return /* @__PURE__ */ jsxs12("svg", { ...base, width: size, height: size, "aria-hidden": "true", children: [
1149
- /* @__PURE__ */ jsx13("path", { d: "M12 22v-5" }),
1150
- /* @__PURE__ */ jsx13("path", { d: "M9 8V2M15 8V2" }),
1151
- /* @__PURE__ */ jsx13("path", { d: "M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8h12z" })
1402
+ return /* @__PURE__ */ jsxs13("svg", { ...base, width: size, height: size, "aria-hidden": "true", children: [
1403
+ /* @__PURE__ */ jsx14("path", { d: "M12 22v-5" }),
1404
+ /* @__PURE__ */ jsx14("path", { d: "M9 8V2M15 8V2" }),
1405
+ /* @__PURE__ */ jsx14("path", { d: "M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8h12z" })
1152
1406
  ] });
1153
1407
  }
1154
1408
  function BrandMark({ size = 18 }) {
1155
- return /* @__PURE__ */ jsxs12("svg", { viewBox: "0 0 18 18", width: size, height: size, "aria-hidden": "true", children: [
1156
- /* @__PURE__ */ jsx13("rect", { width: "18", height: "18", fill: "var(--ods-accent)" }),
1157
- /* @__PURE__ */ jsx13("path", { d: "M4 9h8.5M9.5 5.5 13 9l-3.5 3.5", stroke: "#fff", strokeWidth: "1.6", fill: "none" })
1409
+ return /* @__PURE__ */ jsxs13("svg", { viewBox: "0 0 18 18", width: size, height: size, "aria-hidden": "true", children: [
1410
+ /* @__PURE__ */ jsx14("rect", { width: "18", height: "18", fill: "var(--ods-accent)" }),
1411
+ /* @__PURE__ */ jsx14("path", { d: "M4 9h8.5M9.5 5.5 13 9l-3.5 3.5", stroke: "#fff", strokeWidth: "1.6", fill: "none" })
1158
1412
  ] });
1159
1413
  }
1160
1414
  function roleGlyph(role, size = 12) {
1161
1415
  switch (role) {
1162
1416
  case "source":
1163
- return /* @__PURE__ */ jsx13(SourceGlyph, { size });
1417
+ return /* @__PURE__ */ jsx14(SourceGlyph, { size });
1164
1418
  case "destination":
1165
- return /* @__PURE__ */ jsx13(DestinationGlyph, { size });
1419
+ return /* @__PURE__ */ jsx14(DestinationGlyph, { size });
1166
1420
  case "action":
1167
- return /* @__PURE__ */ jsx13(ActionGlyph, { size });
1421
+ return /* @__PURE__ */ jsx14(ActionGlyph, { size });
1168
1422
  case "notify":
1169
- return /* @__PURE__ */ jsx13(NotifyGlyph, { size });
1423
+ return /* @__PURE__ */ jsx14(NotifyGlyph, { size });
1170
1424
  }
1171
1425
  }
1172
1426
 
1173
1427
  // src/marketing/components/MarketingFooter/MarketingFooter.tsx
1174
- import { Fragment as Fragment3, jsx as jsx14, jsxs as jsxs13 } from "react/jsx-runtime";
1428
+ import { Fragment as Fragment4, jsx as jsx15, jsxs as jsxs14 } from "react/jsx-runtime";
1175
1429
  function MarketingFooter({
1176
1430
  brand,
1177
1431
  tagline,
@@ -1183,32 +1437,32 @@ function MarketingFooter({
1183
1437
  className,
1184
1438
  ...rest
1185
1439
  }) {
1186
- return /* @__PURE__ */ jsxs13("footer", { ...rest, className: cn("ods-mkt-footer", className), children: [
1187
- /* @__PURE__ */ jsxs13("div", { className: "ods-mkt-footer__grid", children: [
1188
- /* @__PURE__ */ jsxs13("div", { className: "ods-mkt-footer__brand-col", children: [
1189
- /* @__PURE__ */ jsx14("div", { className: "ods-mkt-footer__brand", children: brand ?? /* @__PURE__ */ jsxs13(Fragment3, { children: [
1190
- /* @__PURE__ */ jsx14(BrandMark, { size: 16 }),
1191
- /* @__PURE__ */ jsx14("span", { children: "OctaviaFlow" })
1440
+ return /* @__PURE__ */ jsxs14("footer", { ...rest, className: cn("ods-mkt-footer", className), children: [
1441
+ /* @__PURE__ */ jsxs14("div", { className: "ods-mkt-footer__grid", children: [
1442
+ /* @__PURE__ */ jsxs14("div", { className: "ods-mkt-footer__brand-col", children: [
1443
+ /* @__PURE__ */ jsx15("div", { className: "ods-mkt-footer__brand", children: brand ?? /* @__PURE__ */ jsxs14(Fragment4, { children: [
1444
+ /* @__PURE__ */ jsx15(BrandMark, { size: 16 }),
1445
+ /* @__PURE__ */ jsx15("span", { children: "OctaviaFlow" })
1192
1446
  ] }) }),
1193
- tagline && /* @__PURE__ */ jsx14("p", { className: "ods-mkt-footer__tagline", children: tagline }),
1194
- meta && /* @__PURE__ */ jsx14("div", { className: "ods-mkt-footer__meta", children: meta }),
1195
- newsletter && /* @__PURE__ */ jsx14("div", { className: "ods-mkt-footer__newsletter", children: newsletter })
1447
+ tagline && /* @__PURE__ */ jsx15("p", { className: "ods-mkt-footer__tagline", children: tagline }),
1448
+ meta && /* @__PURE__ */ jsx15("div", { className: "ods-mkt-footer__meta", children: meta }),
1449
+ newsletter && /* @__PURE__ */ jsx15("div", { className: "ods-mkt-footer__newsletter", children: newsletter })
1196
1450
  ] }),
1197
- columns.map((column) => /* @__PURE__ */ jsxs13("nav", { className: "ods-mkt-footer__col", "aria-label": String(column.id), children: [
1198
- /* @__PURE__ */ jsx14("span", { className: "ods-mkt-footer__col-label", children: column.label }),
1199
- column.links.map((link) => /* @__PURE__ */ jsx14("a", { className: "ods-mkt-footer__link", href: link.href, children: link.label }, link.href))
1451
+ columns.map((column) => /* @__PURE__ */ jsxs14("nav", { className: "ods-mkt-footer__col", "aria-label": String(column.id), children: [
1452
+ /* @__PURE__ */ jsx15("span", { className: "ods-mkt-footer__col-label", children: column.label }),
1453
+ column.links.map((link) => /* @__PURE__ */ jsx15("a", { className: "ods-mkt-footer__link", href: link.href, children: link.label }, link.href))
1200
1454
  ] }, column.id))
1201
1455
  ] }),
1202
- (legal || social) && /* @__PURE__ */ jsxs13("div", { className: "ods-mkt-footer__bar", children: [
1203
- /* @__PURE__ */ jsx14("span", { children: legal }),
1204
- /* @__PURE__ */ jsx14("span", { children: social })
1456
+ (legal || social) && /* @__PURE__ */ jsxs14("div", { className: "ods-mkt-footer__bar", children: [
1457
+ /* @__PURE__ */ jsx15("span", { children: legal }),
1458
+ /* @__PURE__ */ jsx15("span", { children: social })
1205
1459
  ] })
1206
1460
  ] });
1207
1461
  }
1208
1462
 
1209
1463
  // src/marketing/components/MarketingHero/MarketingHero.tsx
1210
1464
  import { motion, useReducedMotion } from "framer-motion";
1211
- import { jsx as jsx15, jsxs as jsxs14 } from "react/jsx-runtime";
1465
+ import { jsx as jsx16, jsxs as jsxs15 } from "react/jsx-runtime";
1212
1466
  function MarketingHero({
1213
1467
  kicker,
1214
1468
  title,
@@ -1220,19 +1474,19 @@ function MarketingHero({
1220
1474
  }) {
1221
1475
  const reducedMotion = useReducedMotion();
1222
1476
  const words = title.split(/\s+/).filter(Boolean);
1223
- return /* @__PURE__ */ jsxs14(
1477
+ return /* @__PURE__ */ jsxs15(
1224
1478
  "section",
1225
1479
  {
1226
1480
  ...rest,
1227
1481
  className: cn("ods-mkt-hero", align === "center" && "ods-mkt-hero--center", className),
1228
1482
  children: [
1229
- kicker && /* @__PURE__ */ jsx15("p", { className: "ods-mkt-hero__kicker", children: kicker }),
1230
- /* @__PURE__ */ jsx15("h1", { className: "ods-mkt-hero__title", children: words.map((word, i) => /* @__PURE__ */ jsxs14(
1483
+ kicker && /* @__PURE__ */ jsx16("p", { className: "ods-mkt-hero__kicker", children: kicker }),
1484
+ /* @__PURE__ */ jsx16("h1", { className: "ods-mkt-hero__title", children: words.map((word, i) => /* @__PURE__ */ jsxs15(
1231
1485
  "span",
1232
1486
  {
1233
1487
  className: "ods-mkt-hero__word-clip",
1234
1488
  children: [
1235
- /* @__PURE__ */ jsx15(
1489
+ /* @__PURE__ */ jsx16(
1236
1490
  motion.span,
1237
1491
  {
1238
1492
  className: "ods-mkt-hero__word",
@@ -1251,7 +1505,7 @@ function MarketingHero({
1251
1505
  },
1252
1506
  i
1253
1507
  )) }),
1254
- lede && /* @__PURE__ */ jsx15(
1508
+ lede && /* @__PURE__ */ jsx16(
1255
1509
  motion.p,
1256
1510
  {
1257
1511
  className: "ods-mkt-hero__lede",
@@ -1261,7 +1515,7 @@ function MarketingHero({
1261
1515
  children: lede
1262
1516
  }
1263
1517
  ),
1264
- children && /* @__PURE__ */ jsx15(
1518
+ children && /* @__PURE__ */ jsx16(
1265
1519
  motion.div,
1266
1520
  {
1267
1521
  className: "ods-mkt-hero__body",
@@ -1277,10 +1531,10 @@ function MarketingHero({
1277
1531
  }
1278
1532
 
1279
1533
  // src/marketing/components/MarketingNav/MarketingNav.tsx
1280
- import { useState as useState4 } from "react";
1281
- import { Fragment as Fragment4, jsx as jsx16, jsxs as jsxs15 } from "react/jsx-runtime";
1534
+ import { useState as useState5 } from "react";
1535
+ import { Fragment as Fragment5, jsx as jsx17, jsxs as jsxs16 } from "react/jsx-runtime";
1282
1536
  function BurgerGlyph({ open }) {
1283
- return /* @__PURE__ */ jsx16(
1537
+ return /* @__PURE__ */ jsx17(
1284
1538
  "svg",
1285
1539
  {
1286
1540
  viewBox: "0 0 24 24",
@@ -1291,7 +1545,7 @@ function BurgerGlyph({ open }) {
1291
1545
  strokeWidth: "2",
1292
1546
  strokeLinecap: "round",
1293
1547
  "aria-hidden": "true",
1294
- children: open ? /* @__PURE__ */ jsx16("path", { d: "M6 6l12 12M18 6 6 18" }) : /* @__PURE__ */ jsx16("path", { d: "M4 7h16M4 12h16M4 17h16" })
1548
+ children: open ? /* @__PURE__ */ jsx17("path", { d: "M6 6l12 12M18 6 6 18" }) : /* @__PURE__ */ jsx17("path", { d: "M4 7h16M4 12h16M4 17h16" })
1295
1549
  }
1296
1550
  );
1297
1551
  }
@@ -1304,13 +1558,13 @@ function MarketingNav({
1304
1558
  className,
1305
1559
  ...rest
1306
1560
  }) {
1307
- const [mobileOpen, setMobileOpen] = useState4(false);
1308
- return /* @__PURE__ */ jsxs15("header", { ...rest, className: cn("ods-mkt-nav", sticky && "ods-mkt-nav--sticky", className), children: [
1309
- /* @__PURE__ */ jsx16("a", { className: "ods-mkt-nav__brand", href: brandHref, children: brand ?? /* @__PURE__ */ jsxs15(Fragment4, { children: [
1310
- /* @__PURE__ */ jsx16(BrandMark, {}),
1311
- /* @__PURE__ */ jsx16("span", { children: "OctaviaFlow" })
1561
+ const [mobileOpen, setMobileOpen] = useState5(false);
1562
+ return /* @__PURE__ */ jsxs16("header", { ...rest, className: cn("ods-mkt-nav", sticky && "ods-mkt-nav--sticky", className), children: [
1563
+ /* @__PURE__ */ jsx17("a", { className: "ods-mkt-nav__brand", href: brandHref, children: brand ?? /* @__PURE__ */ jsxs16(Fragment5, { children: [
1564
+ /* @__PURE__ */ jsx17(BrandMark, {}),
1565
+ /* @__PURE__ */ jsx17("span", { children: "OctaviaFlow" })
1312
1566
  ] }) }),
1313
- links.length > 0 && /* @__PURE__ */ jsx16("nav", { className: "ods-mkt-nav__links", "aria-label": "Main", children: links.map((link) => /* @__PURE__ */ jsx16(
1567
+ links.length > 0 && /* @__PURE__ */ jsx17("nav", { className: "ods-mkt-nav__links", "aria-label": "Main", children: links.map((link) => /* @__PURE__ */ jsx17(
1314
1568
  "a",
1315
1569
  {
1316
1570
  href: link.href,
@@ -1320,8 +1574,8 @@ function MarketingNav({
1320
1574
  },
1321
1575
  link.href
1322
1576
  )) }),
1323
- actions && /* @__PURE__ */ jsx16("div", { className: "ods-mkt-nav__actions", children: actions }),
1324
- (links.length > 0 || actions) && /* @__PURE__ */ jsx16(
1577
+ actions && /* @__PURE__ */ jsx17("div", { className: "ods-mkt-nav__actions", children: actions }),
1578
+ (links.length > 0 || actions) && /* @__PURE__ */ jsx17(
1325
1579
  "button",
1326
1580
  {
1327
1581
  type: "button",
@@ -1329,11 +1583,11 @@ function MarketingNav({
1329
1583
  "aria-expanded": mobileOpen,
1330
1584
  "aria-label": "Toggle menu",
1331
1585
  onClick: () => setMobileOpen((open) => !open),
1332
- children: /* @__PURE__ */ jsx16(BurgerGlyph, { open: mobileOpen })
1586
+ children: /* @__PURE__ */ jsx17(BurgerGlyph, { open: mobileOpen })
1333
1587
  }
1334
1588
  ),
1335
- mobileOpen && /* @__PURE__ */ jsxs15("nav", { className: "ods-mkt-nav__mobile", "aria-label": "Main", children: [
1336
- links.map((link) => /* @__PURE__ */ jsx16(
1589
+ mobileOpen && /* @__PURE__ */ jsxs16("nav", { className: "ods-mkt-nav__mobile", "aria-label": "Main", children: [
1590
+ links.map((link) => /* @__PURE__ */ jsx17(
1337
1591
  "a",
1338
1592
  {
1339
1593
  href: link.href,
@@ -1347,13 +1601,13 @@ function MarketingNav({
1347
1601
  },
1348
1602
  link.href
1349
1603
  )),
1350
- actions && /* @__PURE__ */ jsx16("div", { className: "ods-mkt-nav__mobile-actions", children: actions })
1604
+ actions && /* @__PURE__ */ jsx17("div", { className: "ods-mkt-nav__mobile-actions", children: actions })
1351
1605
  ] })
1352
1606
  ] });
1353
1607
  }
1354
1608
 
1355
1609
  // src/marketing/components/MarketingSection/MarketingSection.tsx
1356
- import { jsx as jsx17, jsxs as jsxs16 } from "react/jsx-runtime";
1610
+ import { jsx as jsx18, jsxs as jsxs17 } from "react/jsx-runtime";
1357
1611
  function MarketingSection({
1358
1612
  kicker,
1359
1613
  title,
@@ -1365,7 +1619,7 @@ function MarketingSection({
1365
1619
  children,
1366
1620
  ...rest
1367
1621
  }) {
1368
- return /* @__PURE__ */ jsxs16(
1622
+ return /* @__PURE__ */ jsxs17(
1369
1623
  "section",
1370
1624
  {
1371
1625
  ...rest,
@@ -1377,10 +1631,10 @@ function MarketingSection({
1377
1631
  className
1378
1632
  ),
1379
1633
  children: [
1380
- (kicker || title || lede) && /* @__PURE__ */ jsxs16("header", { className: "ods-mkt-section__head", children: [
1381
- kicker && /* @__PURE__ */ jsx17("p", { className: "ods-mkt-section__kicker", children: kicker }),
1382
- title && /* @__PURE__ */ jsx17("h2", { className: "ods-mkt-section__title", children: title }),
1383
- lede && /* @__PURE__ */ jsx17("p", { className: "ods-mkt-section__lede", children: lede })
1634
+ (kicker || title || lede) && /* @__PURE__ */ jsxs17("header", { className: "ods-mkt-section__head", children: [
1635
+ kicker && /* @__PURE__ */ jsx18("p", { className: "ods-mkt-section__kicker", children: kicker }),
1636
+ title && /* @__PURE__ */ jsx18("h2", { className: "ods-mkt-section__title", children: title }),
1637
+ lede && /* @__PURE__ */ jsx18("p", { className: "ods-mkt-section__lede", children: lede })
1384
1638
  ] }),
1385
1639
  children
1386
1640
  ]
@@ -1389,7 +1643,7 @@ function MarketingSection({
1389
1643
  }
1390
1644
 
1391
1645
  // src/marketing/components/PageHero/PageHero.tsx
1392
- import { jsx as jsx18, jsxs as jsxs17 } from "react/jsx-runtime";
1646
+ import { jsx as jsx19, jsxs as jsxs18 } from "react/jsx-runtime";
1393
1647
  function PageHero({
1394
1648
  kicker,
1395
1649
  title,
@@ -1399,16 +1653,16 @@ function PageHero({
1399
1653
  className,
1400
1654
  ...rest
1401
1655
  }) {
1402
- return /* @__PURE__ */ jsxs17(
1656
+ return /* @__PURE__ */ jsxs18(
1403
1657
  "header",
1404
1658
  {
1405
1659
  ...rest,
1406
1660
  className: cn("ods-mkt-pagehero", align === "start" && "ods-mkt-pagehero--start", className),
1407
1661
  children: [
1408
- kicker && /* @__PURE__ */ jsx18("span", { className: "ods-mkt-pagehero__kicker", children: kicker }),
1409
- /* @__PURE__ */ jsx18("h1", { className: "ods-mkt-pagehero__title", children: title }),
1410
- subtitle && /* @__PURE__ */ jsx18("p", { className: "ods-mkt-pagehero__subtitle", children: subtitle }),
1411
- actions && /* @__PURE__ */ jsx18("div", { className: "ods-mkt-pagehero__actions", children: actions })
1662
+ kicker && /* @__PURE__ */ jsx19("span", { className: "ods-mkt-pagehero__kicker", children: kicker }),
1663
+ /* @__PURE__ */ jsx19("h1", { className: "ods-mkt-pagehero__title", children: title }),
1664
+ subtitle && /* @__PURE__ */ jsx19("p", { className: "ods-mkt-pagehero__subtitle", children: subtitle }),
1665
+ actions && /* @__PURE__ */ jsx19("div", { className: "ods-mkt-pagehero__actions", children: actions })
1412
1666
  ]
1413
1667
  }
1414
1668
  );
@@ -1416,10 +1670,10 @@ function PageHero({
1416
1670
 
1417
1671
  // src/marketing/components/PricingTiers/PricingTiers.tsx
1418
1672
  import { CheckmarkIcon as CheckmarkIcon3 } from "@octaviaflow/icons";
1419
- import { jsx as jsx19, jsxs as jsxs18 } from "react/jsx-runtime";
1673
+ import { jsx as jsx20, jsxs as jsxs19 } from "react/jsx-runtime";
1420
1674
  function TierCta({ cta, featured }) {
1421
1675
  if (cta.href) {
1422
- return /* @__PURE__ */ jsx19(
1676
+ return /* @__PURE__ */ jsx20(
1423
1677
  "a",
1424
1678
  {
1425
1679
  className: cn(
@@ -1432,11 +1686,11 @@ function TierCta({ cta, featured }) {
1432
1686
  }
1433
1687
  );
1434
1688
  }
1435
- return /* @__PURE__ */ jsx19(Button, { variant: featured ? "primary" : "secondary", fullWidth: true, onClick: cta.onClick, children: cta.label });
1689
+ return /* @__PURE__ */ jsx20(Button, { variant: featured ? "primary" : "secondary", fullWidth: true, onClick: cta.onClick, children: cta.label });
1436
1690
  }
1437
1691
  function PricingTiers({ tiers, note, className, ...rest }) {
1438
- return /* @__PURE__ */ jsxs18("div", { ...rest, className: cn("ods-mkt-pricing", className), children: [
1439
- /* @__PURE__ */ jsx19("div", { className: "ods-mkt-pricing__grid", children: tiers.map((tier) => /* @__PURE__ */ jsxs18(
1692
+ return /* @__PURE__ */ jsxs19("div", { ...rest, className: cn("ods-mkt-pricing", className), children: [
1693
+ /* @__PURE__ */ jsx20("div", { className: "ods-mkt-pricing__grid", children: tiers.map((tier) => /* @__PURE__ */ jsxs19(
1440
1694
  "article",
1441
1695
  {
1442
1696
  className: cn(
@@ -1444,42 +1698,42 @@ function PricingTiers({ tiers, note, className, ...rest }) {
1444
1698
  tier.featured && "ods-mkt-pricing__card--featured"
1445
1699
  ),
1446
1700
  children: [
1447
- tier.featured && /* @__PURE__ */ jsx19("span", { className: "ods-mkt-pricing__badge", children: tier.badge ?? "Recommended" }),
1448
- /* @__PURE__ */ jsx19("h3", { className: "ods-mkt-pricing__name", children: tier.name }),
1449
- /* @__PURE__ */ jsxs18("div", { className: "ods-mkt-pricing__price-row", children: [
1450
- /* @__PURE__ */ jsx19("span", { className: "ods-mkt-pricing__price", children: tier.price }),
1451
- tier.period && /* @__PURE__ */ jsx19("span", { className: "ods-mkt-pricing__period", children: tier.period })
1701
+ tier.featured && /* @__PURE__ */ jsx20("span", { className: "ods-mkt-pricing__badge", children: tier.badge ?? "Recommended" }),
1702
+ /* @__PURE__ */ jsx20("h3", { className: "ods-mkt-pricing__name", children: tier.name }),
1703
+ /* @__PURE__ */ jsxs19("div", { className: "ods-mkt-pricing__price-row", children: [
1704
+ /* @__PURE__ */ jsx20("span", { className: "ods-mkt-pricing__price", children: tier.price }),
1705
+ tier.period && /* @__PURE__ */ jsx20("span", { className: "ods-mkt-pricing__period", children: tier.period })
1452
1706
  ] }),
1453
- tier.annualNote && /* @__PURE__ */ jsx19("span", { className: "ods-mkt-pricing__annual", children: tier.annualNote }),
1454
- tier.description && /* @__PURE__ */ jsx19("p", { className: "ods-mkt-pricing__desc", children: tier.description }),
1455
- /* @__PURE__ */ jsx19("ul", { className: "ods-mkt-pricing__features", children: tier.features.map((feature, i) => (
1707
+ tier.annualNote && /* @__PURE__ */ jsx20("span", { className: "ods-mkt-pricing__annual", children: tier.annualNote }),
1708
+ tier.description && /* @__PURE__ */ jsx20("p", { className: "ods-mkt-pricing__desc", children: tier.description }),
1709
+ /* @__PURE__ */ jsx20("ul", { className: "ods-mkt-pricing__features", children: tier.features.map((feature, i) => (
1456
1710
  // biome-ignore lint/suspicious/noArrayIndexKey: features are positional copy
1457
- /* @__PURE__ */ jsxs18("li", { className: "ods-mkt-pricing__feature", children: [
1458
- /* @__PURE__ */ jsx19(CheckmarkIcon3, { size: "sm", "aria-hidden": "true" }),
1459
- /* @__PURE__ */ jsx19("span", { children: feature })
1711
+ /* @__PURE__ */ jsxs19("li", { className: "ods-mkt-pricing__feature", children: [
1712
+ /* @__PURE__ */ jsx20(CheckmarkIcon3, { size: "sm", "aria-hidden": "true" }),
1713
+ /* @__PURE__ */ jsx20("span", { children: feature })
1460
1714
  ] }, i)
1461
1715
  )) }),
1462
- /* @__PURE__ */ jsx19(TierCta, { cta: tier.cta, featured: Boolean(tier.featured) })
1716
+ /* @__PURE__ */ jsx20(TierCta, { cta: tier.cta, featured: Boolean(tier.featured) })
1463
1717
  ]
1464
1718
  },
1465
1719
  tier.id
1466
1720
  )) }),
1467
- note && /* @__PURE__ */ jsx19("p", { className: "ods-mkt-pricing__note", children: note })
1721
+ note && /* @__PURE__ */ jsx20("p", { className: "ods-mkt-pricing__note", children: note })
1468
1722
  ] });
1469
1723
  }
1470
1724
 
1471
1725
  // src/marketing/components/StatBand/StatBand.tsx
1472
1726
  import { useReducedMotion as useReducedMotion2 } from "framer-motion";
1473
- import { Fragment as Fragment5, jsx as jsx20, jsxs as jsxs19 } from "react/jsx-runtime";
1727
+ import { Fragment as Fragment6, jsx as jsx21, jsxs as jsxs20 } from "react/jsx-runtime";
1474
1728
  function StatBand({ items, orientation = "column", className, ...rest }) {
1475
1729
  const reducedMotion = useReducedMotion2();
1476
- return /* @__PURE__ */ jsx20(
1730
+ return /* @__PURE__ */ jsx21(
1477
1731
  "div",
1478
1732
  {
1479
1733
  ...rest,
1480
1734
  className: cn("ods-mkt-statband", `ods-mkt-statband--${orientation}`, className),
1481
- children: items.map((item) => /* @__PURE__ */ jsxs19("div", { className: "ods-mkt-statband__item", children: [
1482
- /* @__PURE__ */ jsx20("div", { className: "ods-mkt-statband__value", children: typeof item.value === "number" ? /* @__PURE__ */ jsx20(
1735
+ children: items.map((item) => /* @__PURE__ */ jsxs20("div", { className: "ods-mkt-statband__item", children: [
1736
+ /* @__PURE__ */ jsx21("div", { className: "ods-mkt-statband__value", children: typeof item.value === "number" ? /* @__PURE__ */ jsx21(
1483
1737
  CountUp,
1484
1738
  {
1485
1739
  value: item.value,
@@ -1489,31 +1743,31 @@ function StatBand({ items, orientation = "column", className, ...rest }) {
1489
1743
  suffix: item.suffix,
1490
1744
  formatValue: (v) => Math.round(v).toLocaleString("en-US")
1491
1745
  }
1492
- ) : /* @__PURE__ */ jsxs19(Fragment5, { children: [
1746
+ ) : /* @__PURE__ */ jsxs20(Fragment6, { children: [
1493
1747
  item.prefix,
1494
1748
  item.value,
1495
1749
  item.suffix
1496
1750
  ] }) }),
1497
- /* @__PURE__ */ jsx20("div", { className: "ods-mkt-statband__label", children: item.label })
1751
+ /* @__PURE__ */ jsx21("div", { className: "ods-mkt-statband__label", children: item.label })
1498
1752
  ] }, item.id))
1499
1753
  }
1500
1754
  );
1501
1755
  }
1502
1756
 
1503
1757
  // src/marketing/components/TestimonialStrip/TestimonialStrip.tsx
1504
- import { jsx as jsx21 } from "react/jsx-runtime";
1758
+ import { jsx as jsx22 } from "react/jsx-runtime";
1505
1759
  function TestimonialStrip({
1506
1760
  items,
1507
1761
  columns = 3,
1508
1762
  className,
1509
1763
  ...rest
1510
1764
  }) {
1511
- return /* @__PURE__ */ jsx21(
1765
+ return /* @__PURE__ */ jsx22(
1512
1766
  "div",
1513
1767
  {
1514
1768
  ...rest,
1515
1769
  className: cn("ods-mkt-testimonials", `ods-mkt-testimonials--${columns}`, className),
1516
- children: items.map((item) => /* @__PURE__ */ jsx21(
1770
+ children: items.map((item) => /* @__PURE__ */ jsx22(
1517
1771
  TestimonialCard,
1518
1772
  {
1519
1773
  quote: item.quote,
@@ -1530,16 +1784,16 @@ function TestimonialStrip({
1530
1784
  // src/marketing/components/WorkflowShowcase/WorkflowShowcase.tsx
1531
1785
  import { AnimatePresence as AnimatePresence2, motion as motion3, useReducedMotion as useReducedMotion4 } from "framer-motion";
1532
1786
  import {
1533
- useCallback,
1534
- useEffect as useEffect2,
1787
+ useCallback as useCallback2,
1788
+ useEffect as useEffect3,
1535
1789
  useMemo as useMemo2,
1536
- useRef as useRef2,
1537
- useState as useState7
1790
+ useRef as useRef3,
1791
+ useState as useState8
1538
1792
  } from "react";
1539
1793
 
1540
1794
  // src/marketing/components/WorkflowShowcase/ShowcaseScene.tsx
1541
- import { useEffect, useRef, useState as useState5 } from "react";
1542
- import { jsx as jsx22, jsxs as jsxs20 } from "react/jsx-runtime";
1795
+ import { useEffect as useEffect2, useRef as useRef2, useState as useState6 } from "react";
1796
+ import { jsx as jsx23, jsxs as jsxs21 } from "react/jsx-runtime";
1543
1797
  function slots(n) {
1544
1798
  return Array.from({ length: n }, (_, i) => 208 + (i - (n - 1) / 2) * 80);
1545
1799
  }
@@ -1575,9 +1829,9 @@ function particlesFor(side, index, path, active, fast) {
1575
1829
  return out;
1576
1830
  }
1577
1831
  function DefaultCoreGlyph() {
1578
- return /* @__PURE__ */ jsxs20("svg", { viewBox: "0 0 24 24", width: "30", height: "30", fill: "none", "aria-hidden": "true", children: [
1579
- /* @__PURE__ */ jsx22("rect", { x: "3", y: "3", width: "18", height: "18", rx: "1", stroke: "currentColor", strokeWidth: "1.6" }),
1580
- /* @__PURE__ */ jsx22(
1832
+ return /* @__PURE__ */ jsxs21("svg", { viewBox: "0 0 24 24", width: "30", height: "30", fill: "none", "aria-hidden": "true", children: [
1833
+ /* @__PURE__ */ jsx23("rect", { x: "3", y: "3", width: "18", height: "18", rx: "1", stroke: "currentColor", strokeWidth: "1.6" }),
1834
+ /* @__PURE__ */ jsx23(
1581
1835
  "path",
1582
1836
  {
1583
1837
  d: "M7 12h7M11.5 8.5 15 12l-3.5 3.5",
@@ -1590,7 +1844,7 @@ function DefaultCoreGlyph() {
1590
1844
  ] });
1591
1845
  }
1592
1846
  function CubeFace({ connector }) {
1593
- return /* @__PURE__ */ jsx22(
1847
+ return /* @__PURE__ */ jsx23(
1594
1848
  "span",
1595
1849
  {
1596
1850
  className: cn(
@@ -1611,9 +1865,9 @@ function ShowcaseScene({
1611
1865
  caption,
1612
1866
  onCoreClick
1613
1867
  }) {
1614
- const [pulse, setPulse] = useState5(false);
1615
- const pulseTimer = useRef(null);
1616
- useEffect(
1868
+ const [pulse, setPulse] = useState6(false);
1869
+ const pulseTimer = useRef2(null);
1870
+ useEffect2(
1617
1871
  () => () => {
1618
1872
  if (pulseTimer.current) clearTimeout(pulseTimer.current);
1619
1873
  },
@@ -1681,10 +1935,10 @@ function ShowcaseScene({
1681
1935
  { left: 83, top: 158 },
1682
1936
  { left: 158, top: 158 }
1683
1937
  ];
1684
- return /* @__PURE__ */ jsxs20("div", { className: "ods-showcase__scene", "aria-hidden": "true", children: [
1685
- /* @__PURE__ */ jsxs20("div", { className: "ods-showcase__scene-stage", children: [
1686
- /* @__PURE__ */ jsxs20("svg", { className: "ods-showcase__wires", width: "460", height: "460", "aria-hidden": "true", children: [
1687
- pins.map((pin) => /* @__PURE__ */ jsx22(
1938
+ return /* @__PURE__ */ jsxs21("div", { className: "ods-showcase__scene", "aria-hidden": "true", children: [
1939
+ /* @__PURE__ */ jsxs21("div", { className: "ods-showcase__scene-stage", children: [
1940
+ /* @__PURE__ */ jsxs21("svg", { className: "ods-showcase__wires", width: "460", height: "460", "aria-hidden": "true", children: [
1941
+ pins.map((pin) => /* @__PURE__ */ jsx23(
1688
1942
  "path",
1689
1943
  {
1690
1944
  d: pin.d,
@@ -1692,7 +1946,7 @@ function ShowcaseScene({
1692
1946
  },
1693
1947
  pin.d
1694
1948
  )),
1695
- pads.map((pad) => /* @__PURE__ */ jsx22(
1949
+ pads.map((pad) => /* @__PURE__ */ jsx23(
1696
1950
  "rect",
1697
1951
  {
1698
1952
  x: pad.x - 2,
@@ -1703,9 +1957,9 @@ function ShowcaseScene({
1703
1957
  },
1704
1958
  `${pad.x}-${pad.y}`
1705
1959
  )),
1706
- guides.map((guide) => /* @__PURE__ */ jsxs20("g", { children: [
1707
- /* @__PURE__ */ jsx22("path", { d: guide.d, className: "ods-showcase__guide" }),
1708
- /* @__PURE__ */ jsx22(
1960
+ guides.map((guide) => /* @__PURE__ */ jsxs21("g", { children: [
1961
+ /* @__PURE__ */ jsx23("path", { d: guide.d, className: "ods-showcase__guide" }),
1962
+ /* @__PURE__ */ jsx23(
1709
1963
  "path",
1710
1964
  {
1711
1965
  d: guide.d,
@@ -1718,7 +1972,7 @@ function ShowcaseScene({
1718
1972
  )
1719
1973
  ] }, guide.d))
1720
1974
  ] }),
1721
- particles.map((p) => /* @__PURE__ */ jsx22(
1975
+ particles.map((p) => /* @__PURE__ */ jsx23(
1722
1976
  "span",
1723
1977
  {
1724
1978
  className: cn("ods-showcase__particle", `ods-showcase__particle--${p.variant}`),
@@ -1732,29 +1986,29 @@ function ShowcaseScene({
1732
1986
  },
1733
1987
  p.key
1734
1988
  )),
1735
- /* @__PURE__ */ jsxs20("div", { className: "ods-showcase__platform", children: [
1736
- /* @__PURE__ */ jsx22("span", { className: "ods-showcase__platform-south" }),
1737
- /* @__PURE__ */ jsx22("span", { className: "ods-showcase__platform-east" }),
1738
- /* @__PURE__ */ jsx22("span", { className: "ods-showcase__platform-top" }),
1739
- tiles.slice(0, 8).map((label, i) => /* @__PURE__ */ jsxs20(
1989
+ /* @__PURE__ */ jsxs21("div", { className: "ods-showcase__platform", children: [
1990
+ /* @__PURE__ */ jsx23("span", { className: "ods-showcase__platform-south" }),
1991
+ /* @__PURE__ */ jsx23("span", { className: "ods-showcase__platform-east" }),
1992
+ /* @__PURE__ */ jsx23("span", { className: "ods-showcase__platform-top" }),
1993
+ tiles.slice(0, 8).map((label, i) => /* @__PURE__ */ jsxs21(
1740
1994
  "span",
1741
1995
  {
1742
1996
  className: "ods-showcase__tile",
1743
1997
  style: { left: tilePositions[i].left, top: tilePositions[i].top },
1744
1998
  children: [
1745
- /* @__PURE__ */ jsxs20("span", { className: "ods-showcase__tile-flip", children: [
1746
- /* @__PURE__ */ jsx22("span", { className: "ods-showcase__tile-wall ods-showcase__tile-wall--south" }),
1747
- /* @__PURE__ */ jsx22("span", { className: "ods-showcase__tile-wall ods-showcase__tile-wall--east" })
1999
+ /* @__PURE__ */ jsxs21("span", { className: "ods-showcase__tile-flip", children: [
2000
+ /* @__PURE__ */ jsx23("span", { className: "ods-showcase__tile-wall ods-showcase__tile-wall--south" }),
2001
+ /* @__PURE__ */ jsx23("span", { className: "ods-showcase__tile-wall ods-showcase__tile-wall--east" })
1748
2002
  ] }),
1749
- /* @__PURE__ */ jsx22("span", { className: "ods-showcase__tile-wall ods-showcase__tile-wall--south" }),
1750
- /* @__PURE__ */ jsx22("span", { className: "ods-showcase__tile-wall ods-showcase__tile-wall--east" }),
1751
- /* @__PURE__ */ jsx22("span", { className: "ods-showcase__tile-face", children: label })
2003
+ /* @__PURE__ */ jsx23("span", { className: "ods-showcase__tile-wall ods-showcase__tile-wall--south" }),
2004
+ /* @__PURE__ */ jsx23("span", { className: "ods-showcase__tile-wall ods-showcase__tile-wall--east" }),
2005
+ /* @__PURE__ */ jsx23("span", { className: "ods-showcase__tile-face", children: label })
1752
2006
  ]
1753
2007
  },
1754
2008
  label
1755
2009
  )),
1756
- pulse && /* @__PURE__ */ jsx22("span", { className: "ods-showcase__core-ring" }),
1757
- /* @__PURE__ */ jsxs20(
2010
+ pulse && /* @__PURE__ */ jsx23("span", { className: "ods-showcase__core-ring" }),
2011
+ /* @__PURE__ */ jsxs21(
1758
2012
  "button",
1759
2013
  {
1760
2014
  type: "button",
@@ -1765,28 +2019,28 @@ function ShowcaseScene({
1765
2019
  onCoreClick?.();
1766
2020
  },
1767
2021
  children: [
1768
- /* @__PURE__ */ jsxs20("span", { className: "ods-showcase__core-flip", children: [
1769
- /* @__PURE__ */ jsx22("span", { className: "ods-showcase__core-wall ods-showcase__core-wall--south ods-showcase__core-wall--back" }),
1770
- /* @__PURE__ */ jsx22("span", { className: "ods-showcase__core-wall ods-showcase__core-wall--east ods-showcase__core-wall--back" })
2022
+ /* @__PURE__ */ jsxs21("span", { className: "ods-showcase__core-flip", children: [
2023
+ /* @__PURE__ */ jsx23("span", { className: "ods-showcase__core-wall ods-showcase__core-wall--south ods-showcase__core-wall--back" }),
2024
+ /* @__PURE__ */ jsx23("span", { className: "ods-showcase__core-wall ods-showcase__core-wall--east ods-showcase__core-wall--back" })
1771
2025
  ] }),
1772
- /* @__PURE__ */ jsx22("span", { className: "ods-showcase__core-wall ods-showcase__core-wall--south" }),
1773
- /* @__PURE__ */ jsx22("span", { className: "ods-showcase__core-wall ods-showcase__core-wall--east" }),
1774
- /* @__PURE__ */ jsx22("span", { className: "ods-showcase__core-top", children: coreIcon ?? /* @__PURE__ */ jsx22(DefaultCoreGlyph, {}) })
2026
+ /* @__PURE__ */ jsx23("span", { className: "ods-showcase__core-wall ods-showcase__core-wall--south" }),
2027
+ /* @__PURE__ */ jsx23("span", { className: "ods-showcase__core-wall ods-showcase__core-wall--east" }),
2028
+ /* @__PURE__ */ jsx23("span", { className: "ods-showcase__core-top", children: coreIcon ?? /* @__PURE__ */ jsx23(DefaultCoreGlyph, {}) })
1775
2029
  ]
1776
2030
  }
1777
2031
  )
1778
2032
  ] }),
1779
- /* @__PURE__ */ jsx22("span", { className: "ods-showcase__floater ods-showcase__floater--a" }),
1780
- /* @__PURE__ */ jsx22("span", { className: "ods-showcase__floater ods-showcase__floater--b" }),
1781
- /* @__PURE__ */ jsx22("span", { className: "ods-showcase__floater ods-showcase__floater--c" }),
1782
- !left.length && /* @__PURE__ */ jsx22("span", { className: "ods-showcase__ghost", style: { left: 8, top: 178 }, children: "+" }),
1783
- !right.length && /* @__PURE__ */ jsx22("span", { className: "ods-showcase__ghost", style: { left: 392, top: 178 }, children: "+" }),
1784
- left.map((node, i) => /* @__PURE__ */ jsx22(
2033
+ /* @__PURE__ */ jsx23("span", { className: "ods-showcase__floater ods-showcase__floater--a" }),
2034
+ /* @__PURE__ */ jsx23("span", { className: "ods-showcase__floater ods-showcase__floater--b" }),
2035
+ /* @__PURE__ */ jsx23("span", { className: "ods-showcase__floater ods-showcase__floater--c" }),
2036
+ !left.length && /* @__PURE__ */ jsx23("span", { className: "ods-showcase__ghost", style: { left: 8, top: 178 }, children: "+" }),
2037
+ !right.length && /* @__PURE__ */ jsx23("span", { className: "ods-showcase__ghost", style: { left: 392, top: 178 }, children: "+" }),
2038
+ left.map((node, i) => /* @__PURE__ */ jsx23(
1785
2039
  "span",
1786
2040
  {
1787
2041
  className: "ods-showcase__cube-slot",
1788
2042
  style: { left: 8, top: leftYs[i] - 30 },
1789
- children: /* @__PURE__ */ jsxs20(
2043
+ children: /* @__PURE__ */ jsxs21(
1790
2044
  "span",
1791
2045
  {
1792
2046
  className: cn(
@@ -1796,25 +2050,25 @@ function ShowcaseScene({
1796
2050
  ),
1797
2051
  style: { animationDelay: `${i * 0.15}s` },
1798
2052
  children: [
1799
- /* @__PURE__ */ jsxs20("span", { className: "ods-showcase__cube-flip", children: [
1800
- /* @__PURE__ */ jsx22("span", { className: "ods-showcase__cube-south ods-showcase__cube-wall--back" }),
1801
- /* @__PURE__ */ jsx22("span", { className: "ods-showcase__cube-east ods-showcase__cube-wall--back" })
2053
+ /* @__PURE__ */ jsxs21("span", { className: "ods-showcase__cube-flip", children: [
2054
+ /* @__PURE__ */ jsx23("span", { className: "ods-showcase__cube-south ods-showcase__cube-wall--back" }),
2055
+ /* @__PURE__ */ jsx23("span", { className: "ods-showcase__cube-east ods-showcase__cube-wall--back" })
1802
2056
  ] }),
1803
- /* @__PURE__ */ jsx22("span", { className: "ods-showcase__cube-south" }),
1804
- /* @__PURE__ */ jsx22("span", { className: "ods-showcase__cube-east" }),
1805
- /* @__PURE__ */ jsx22("span", { className: "ods-showcase__cube-top", children: /* @__PURE__ */ jsx22(CubeFace, { connector: node.connector }) })
2057
+ /* @__PURE__ */ jsx23("span", { className: "ods-showcase__cube-south" }),
2058
+ /* @__PURE__ */ jsx23("span", { className: "ods-showcase__cube-east" }),
2059
+ /* @__PURE__ */ jsx23("span", { className: "ods-showcase__cube-top", children: /* @__PURE__ */ jsx23(CubeFace, { connector: node.connector }) })
1806
2060
  ]
1807
2061
  }
1808
2062
  )
1809
2063
  },
1810
2064
  node.connector.name
1811
2065
  )),
1812
- right.map((node, j) => /* @__PURE__ */ jsx22(
2066
+ right.map((node, j) => /* @__PURE__ */ jsx23(
1813
2067
  "span",
1814
2068
  {
1815
2069
  className: "ods-showcase__cube-slot",
1816
2070
  style: { left: 392, top: rightYs[j] - 30 },
1817
- children: /* @__PURE__ */ jsxs20(
2071
+ children: /* @__PURE__ */ jsxs21(
1818
2072
  "span",
1819
2073
  {
1820
2074
  className: cn(
@@ -1824,13 +2078,13 @@ function ShowcaseScene({
1824
2078
  ),
1825
2079
  style: { animationDelay: `${j * 0.15}s` },
1826
2080
  children: [
1827
- /* @__PURE__ */ jsxs20("span", { className: "ods-showcase__cube-flip", children: [
1828
- /* @__PURE__ */ jsx22("span", { className: "ods-showcase__cube-south ods-showcase__cube-wall--back" }),
1829
- /* @__PURE__ */ jsx22("span", { className: "ods-showcase__cube-east ods-showcase__cube-wall--back" })
2081
+ /* @__PURE__ */ jsxs21("span", { className: "ods-showcase__cube-flip", children: [
2082
+ /* @__PURE__ */ jsx23("span", { className: "ods-showcase__cube-south ods-showcase__cube-wall--back" }),
2083
+ /* @__PURE__ */ jsx23("span", { className: "ods-showcase__cube-east ods-showcase__cube-wall--back" })
1830
2084
  ] }),
1831
- /* @__PURE__ */ jsx22("span", { className: "ods-showcase__cube-south" }),
1832
- /* @__PURE__ */ jsx22("span", { className: "ods-showcase__cube-east" }),
1833
- /* @__PURE__ */ jsx22("span", { className: "ods-showcase__cube-top", children: /* @__PURE__ */ jsx22(CubeFace, { connector: node.connector }) })
2085
+ /* @__PURE__ */ jsx23("span", { className: "ods-showcase__cube-south" }),
2086
+ /* @__PURE__ */ jsx23("span", { className: "ods-showcase__cube-east" }),
2087
+ /* @__PURE__ */ jsx23("span", { className: "ods-showcase__cube-top", children: /* @__PURE__ */ jsx23(CubeFace, { connector: node.connector }) })
1834
2088
  ]
1835
2089
  }
1836
2090
  )
@@ -1838,15 +2092,15 @@ function ShowcaseScene({
1838
2092
  node.connector.name
1839
2093
  ))
1840
2094
  ] }),
1841
- /* @__PURE__ */ jsx22("span", { className: "ods-showcase__scene-caption", children: caption })
2095
+ /* @__PURE__ */ jsx23("span", { className: "ods-showcase__scene-caption", children: caption })
1842
2096
  ] });
1843
2097
  }
1844
2098
 
1845
2099
  // src/marketing/components/WorkflowShowcase/ShowcaseSignup.tsx
1846
2100
  import { AnimatePresence, motion as motion2, useReducedMotion as useReducedMotion3 } from "framer-motion";
1847
- import { useId as useId3, useState as useState6 } from "react";
2101
+ import { useId as useId4, useState as useState7 } from "react";
1848
2102
  import { FocusScope } from "react-aria";
1849
- import { jsx as jsx23, jsxs as jsxs21 } from "react/jsx-runtime";
2103
+ import { jsx as jsx24, jsxs as jsxs22 } from "react/jsx-runtime";
1850
2104
  var OVERLAY_MOTION = {
1851
2105
  initial: { opacity: 0 },
1852
2106
  animate: { opacity: 1 },
@@ -1864,9 +2118,9 @@ function ShowcaseSignup({
1864
2118
  onboardingHref = "#"
1865
2119
  }) {
1866
2120
  const reducedMotion = useReducedMotion3();
1867
- const titleId = useId3();
1868
- const subtitleId = useId3();
1869
- const [values, setValues] = useState6({
2121
+ const titleId = useId4();
2122
+ const subtitleId = useId4();
2123
+ const [values, setValues] = useState7({
1870
2124
  name: "",
1871
2125
  email: "",
1872
2126
  company: "",
@@ -1885,14 +2139,14 @@ function ShowcaseSignup({
1885
2139
  const firstName = values.name.trim().split(/\s+/)[0] || "";
1886
2140
  const emailShown = values.email.trim() || "your inbox";
1887
2141
  const slug = `${slugify(values.company)}.${workspaceDomain}`;
1888
- return /* @__PURE__ */ jsx23(AnimatePresence, { children: open && /* @__PURE__ */ jsx23(
2142
+ return /* @__PURE__ */ jsx24(AnimatePresence, { children: open && /* @__PURE__ */ jsx24(
1889
2143
  motion2.div,
1890
2144
  {
1891
2145
  className: "ods-showcase__veil",
1892
2146
  ...OVERLAY_MOTION,
1893
2147
  transition: { duration: reducedMotion ? 0 : 0.22 },
1894
- children: /* @__PURE__ */ jsxs21(FocusScope, { contain: true, restoreFocus: true, autoFocus: true, children: [
1895
- phase === "signup" && /* @__PURE__ */ jsxs21(
2148
+ children: /* @__PURE__ */ jsxs22(FocusScope, { contain: true, restoreFocus: true, autoFocus: true, children: [
2149
+ phase === "signup" && /* @__PURE__ */ jsxs22(
1896
2150
  motion2.form,
1897
2151
  {
1898
2152
  className: "ods-showcase__glass-card",
@@ -1907,18 +2161,18 @@ function ShowcaseSignup({
1907
2161
  ...cardMotion,
1908
2162
  transition: { duration: reducedMotion ? 0 : 0.3, ease: [0.2, 0.7, 0.2, 1] },
1909
2163
  children: [
1910
- /* @__PURE__ */ jsxs21("div", { className: "ods-showcase__glass-head", children: [
1911
- /* @__PURE__ */ jsx23("h3", { id: titleId, className: "ods-showcase__glass-title", children: "Create your workspace" }),
1912
- /* @__PURE__ */ jsxs21("p", { id: subtitleId, className: "ods-showcase__microcopy", children: [
2164
+ /* @__PURE__ */ jsxs22("div", { className: "ods-showcase__glass-head", children: [
2165
+ /* @__PURE__ */ jsx24("h3", { id: titleId, className: "ods-showcase__glass-title", children: "Create your workspace" }),
2166
+ /* @__PURE__ */ jsxs22("p", { id: subtitleId, className: "ods-showcase__microcopy", children: [
1913
2167
  "FREE IN PRIVATE BETA \xB7 YOUR ",
1914
2168
  stepCount,
1915
2169
  "-STEP WORKFLOW COMES WITH YOU"
1916
2170
  ] })
1917
2171
  ] }),
1918
- /* @__PURE__ */ jsxs21("div", { className: "ods-showcase__form-grid", children: [
1919
- /* @__PURE__ */ jsxs21("div", { className: "ods-showcase__field", children: [
1920
- /* @__PURE__ */ jsx23("span", { className: "ods-showcase__field-label", children: "FULL NAME" }),
1921
- /* @__PURE__ */ jsx23(
2172
+ /* @__PURE__ */ jsxs22("div", { className: "ods-showcase__form-grid", children: [
2173
+ /* @__PURE__ */ jsxs22("div", { className: "ods-showcase__field", children: [
2174
+ /* @__PURE__ */ jsx24("span", { className: "ods-showcase__field-label", children: "FULL NAME" }),
2175
+ /* @__PURE__ */ jsx24(
1922
2176
  Input,
1923
2177
  {
1924
2178
  "aria-label": "Full name",
@@ -1929,9 +2183,9 @@ function ShowcaseSignup({
1929
2183
  }
1930
2184
  )
1931
2185
  ] }),
1932
- /* @__PURE__ */ jsxs21("div", { className: "ods-showcase__field", children: [
1933
- /* @__PURE__ */ jsx23("span", { className: "ods-showcase__field-label", children: "WORK EMAIL" }),
1934
- /* @__PURE__ */ jsx23(
2186
+ /* @__PURE__ */ jsxs22("div", { className: "ods-showcase__field", children: [
2187
+ /* @__PURE__ */ jsx24("span", { className: "ods-showcase__field-label", children: "WORK EMAIL" }),
2188
+ /* @__PURE__ */ jsx24(
1935
2189
  Input,
1936
2190
  {
1937
2191
  "aria-label": "Work email",
@@ -1943,9 +2197,9 @@ function ShowcaseSignup({
1943
2197
  }
1944
2198
  )
1945
2199
  ] }),
1946
- /* @__PURE__ */ jsxs21("div", { className: "ods-showcase__field", children: [
1947
- /* @__PURE__ */ jsx23("span", { className: "ods-showcase__field-label", children: "COMPANY" }),
1948
- /* @__PURE__ */ jsx23(
2200
+ /* @__PURE__ */ jsxs22("div", { className: "ods-showcase__field", children: [
2201
+ /* @__PURE__ */ jsx24("span", { className: "ods-showcase__field-label", children: "COMPANY" }),
2202
+ /* @__PURE__ */ jsx24(
1949
2203
  Input,
1950
2204
  {
1951
2205
  "aria-label": "Company",
@@ -1956,9 +2210,9 @@ function ShowcaseSignup({
1956
2210
  }
1957
2211
  )
1958
2212
  ] }),
1959
- /* @__PURE__ */ jsxs21("div", { className: "ods-showcase__field", children: [
1960
- /* @__PURE__ */ jsx23("span", { className: "ods-showcase__field-label", children: "TEAM SIZE" }),
1961
- /* @__PURE__ */ jsx23(
2213
+ /* @__PURE__ */ jsxs22("div", { className: "ods-showcase__field", children: [
2214
+ /* @__PURE__ */ jsx24("span", { className: "ods-showcase__field-label", children: "TEAM SIZE" }),
2215
+ /* @__PURE__ */ jsx24(
1962
2216
  Select,
1963
2217
  {
1964
2218
  "aria-label": "Team size",
@@ -1969,19 +2223,19 @@ function ShowcaseSignup({
1969
2223
  )
1970
2224
  ] })
1971
2225
  ] }),
1972
- error && /* @__PURE__ */ jsx23("p", { className: "ods-showcase__form-error", role: "alert", children: error }),
1973
- /* @__PURE__ */ jsxs21("div", { className: "ods-showcase__glass-foot", children: [
1974
- /* @__PURE__ */ jsx23("span", { className: "ods-showcase__microcopy", children: "NO CREDIT CARD \xB7 SSO & SELF-HOSTING LATER" }),
1975
- /* @__PURE__ */ jsxs21("div", { className: "ods-showcase__glass-actions", children: [
1976
- /* @__PURE__ */ jsx23(Button, { type: "button", variant: "secondary", onClick: onBack, children: "Back" }),
1977
- /* @__PURE__ */ jsx23(Button, { type: "submit", variant: "primary", children: "Create account & deploy \u2192" })
2226
+ error && /* @__PURE__ */ jsx24("p", { className: "ods-showcase__form-error", role: "alert", children: error }),
2227
+ /* @__PURE__ */ jsxs22("div", { className: "ods-showcase__glass-foot", children: [
2228
+ /* @__PURE__ */ jsx24("span", { className: "ods-showcase__microcopy", children: "NO CREDIT CARD \xB7 SSO & SELF-HOSTING LATER" }),
2229
+ /* @__PURE__ */ jsxs22("div", { className: "ods-showcase__glass-actions", children: [
2230
+ /* @__PURE__ */ jsx24(Button, { type: "button", variant: "secondary", onClick: onBack, children: "Back" }),
2231
+ /* @__PURE__ */ jsx24(Button, { type: "submit", variant: "primary", children: "Create account & deploy \u2192" })
1978
2232
  ] })
1979
2233
  ] })
1980
2234
  ]
1981
2235
  },
1982
2236
  "signup"
1983
2237
  ),
1984
- phase === "creating" && /* @__PURE__ */ jsxs21(
2238
+ phase === "creating" && /* @__PURE__ */ jsxs22(
1985
2239
  motion2.div,
1986
2240
  {
1987
2241
  className: "ods-showcase__glass-card ods-showcase__glass-card--slim",
@@ -1989,8 +2243,8 @@ function ShowcaseSignup({
1989
2243
  ...cardMotion,
1990
2244
  transition: { duration: reducedMotion ? 0 : 0.25 },
1991
2245
  children: [
1992
- /* @__PURE__ */ jsx23("span", { className: "ods-showcase__spin", "aria-hidden": "true", children: "\u27F3" }),
1993
- /* @__PURE__ */ jsxs21("span", { className: "ods-showcase__creating-line", children: [
2246
+ /* @__PURE__ */ jsx24("span", { className: "ods-showcase__spin", "aria-hidden": "true", children: "\u27F3" }),
2247
+ /* @__PURE__ */ jsxs22("span", { className: "ods-showcase__creating-line", children: [
1994
2248
  "provisioning workspace \xB7 saving draft \xB7 inviting ",
1995
2249
  emailShown
1996
2250
  ] })
@@ -1998,7 +2252,7 @@ function ShowcaseSignup({
1998
2252
  },
1999
2253
  "creating"
2000
2254
  ),
2001
- phase === "welcome" && /* @__PURE__ */ jsxs21(
2255
+ phase === "welcome" && /* @__PURE__ */ jsxs22(
2002
2256
  motion2.div,
2003
2257
  {
2004
2258
  className: "ods-showcase__glass-card ods-showcase__glass-card--welcome",
@@ -2008,32 +2262,32 @@ function ShowcaseSignup({
2008
2262
  ...cardMotion,
2009
2263
  transition: { duration: reducedMotion ? 0 : 0.3, ease: [0.2, 0.7, 0.2, 1] },
2010
2264
  children: [
2011
- /* @__PURE__ */ jsxs21("div", { className: "ods-showcase__glass-head", children: [
2012
- /* @__PURE__ */ jsx23("p", { className: "ods-showcase__microcopy ods-showcase__microcopy--success", children: "\u2713 WORKSPACE READY" }),
2013
- /* @__PURE__ */ jsxs21("h3", { id: titleId, className: "ods-showcase__glass-title", children: [
2265
+ /* @__PURE__ */ jsxs22("div", { className: "ods-showcase__glass-head", children: [
2266
+ /* @__PURE__ */ jsx24("p", { className: "ods-showcase__microcopy ods-showcase__microcopy--success", children: "\u2713 WORKSPACE READY" }),
2267
+ /* @__PURE__ */ jsxs22("h3", { id: titleId, className: "ods-showcase__glass-title", children: [
2014
2268
  "Welcome to OctaviaFlow",
2015
2269
  firstName ? `, ${firstName}` : "",
2016
2270
  "."
2017
2271
  ] }),
2018
- /* @__PURE__ */ jsxs21("p", { className: "ods-showcase__welcome-body", children: [
2272
+ /* @__PURE__ */ jsxs22("p", { className: "ods-showcase__welcome-body", children: [
2019
2273
  "We emailed a sign-in link to ",
2020
- /* @__PURE__ */ jsx23("strong", { children: emailShown }),
2274
+ /* @__PURE__ */ jsx24("strong", { children: emailShown }),
2021
2275
  ". Your ",
2022
2276
  stepCount,
2023
2277
  "-step workflow is saved as a draft in",
2024
2278
  " ",
2025
- /* @__PURE__ */ jsx23("code", { className: "ods-showcase__slug", children: slug }),
2279
+ /* @__PURE__ */ jsx24("code", { className: "ods-showcase__slug", children: slug }),
2026
2280
  " \u2014 deploy it from the dashboard whenever you're ready."
2027
2281
  ] })
2028
2282
  ] }),
2029
- /* @__PURE__ */ jsxs21("div", { className: "ods-showcase__glass-foot", children: [
2030
- /* @__PURE__ */ jsxs21("div", { className: "ods-showcase__glass-actions", children: [
2031
- /* @__PURE__ */ jsx23("a", { className: "ods-showcase__solid-link", href: dashboardHref, children: "Open dashboard \u2192" }),
2032
- /* @__PURE__ */ jsx23("a", { className: "ods-showcase__text-link", href: onboardingHref, children: "Book onboarding \u2192" })
2283
+ /* @__PURE__ */ jsxs22("div", { className: "ods-showcase__glass-foot", children: [
2284
+ /* @__PURE__ */ jsxs22("div", { className: "ods-showcase__glass-actions", children: [
2285
+ /* @__PURE__ */ jsx24("a", { className: "ods-showcase__solid-link", href: dashboardHref, children: "Open dashboard \u2192" }),
2286
+ /* @__PURE__ */ jsx24("a", { className: "ods-showcase__text-link", href: onboardingHref, children: "Book onboarding \u2192" })
2033
2287
  ] }),
2034
- /* @__PURE__ */ jsxs21("span", { className: "ods-showcase__microcopy ods-showcase__microcopy--right", children: [
2288
+ /* @__PURE__ */ jsxs22("span", { className: "ods-showcase__microcopy ods-showcase__microcopy--right", children: [
2035
2289
  "PRIVATE BETA",
2036
- /* @__PURE__ */ jsx23("br", {}),
2290
+ /* @__PURE__ */ jsx24("br", {}),
2037
2291
  "ONBOARDING INCLUDED"
2038
2292
  ] })
2039
2293
  ] })
@@ -2047,10 +2301,10 @@ function ShowcaseSignup({
2047
2301
  }
2048
2302
 
2049
2303
  // src/marketing/components/WorkflowShowcase/WorkflowShowcase.tsx
2050
- import { Fragment as Fragment6, jsx as jsx24, jsxs as jsxs22 } from "react/jsx-runtime";
2304
+ import { Fragment as Fragment7, jsx as jsx25, jsxs as jsxs23 } from "react/jsx-runtime";
2051
2305
  var EMPTY_PLAN = { left: [], right: [], all: [], totalSteps: 1 };
2052
2306
  function ConnectorTile({ connector }) {
2053
- return /* @__PURE__ */ jsx24(
2307
+ return /* @__PURE__ */ jsx25(
2054
2308
  "span",
2055
2309
  {
2056
2310
  "aria-hidden": "true",
@@ -2084,45 +2338,45 @@ function WorkflowShowcase({
2084
2338
  }) {
2085
2339
  const reducedMotion = useReducedMotion4();
2086
2340
  const rotationActive = rotatePrompts && !defaultPrompt && examples.length > 0;
2087
- const [prompt, setPrompt] = useState7(
2341
+ const [prompt, setPrompt] = useState8(
2088
2342
  defaultPrompt || (rotationActive ? examples[0]?.prompt ?? "" : "")
2089
2343
  );
2090
- const [engagedWithPrompt, setEngagedWithPrompt] = useState7(false);
2091
- const [promptHovered, setPromptHovered] = useState7(false);
2092
- const [promptFocused, setPromptFocused] = useState7(false);
2093
- const rotateIdx = useRef2(0);
2094
- const [selected, setSelected] = useState7([]);
2095
- const [phase, setPhase] = useState7("idle");
2096
- const [shown, setShown] = useState7(0);
2097
- const [status, setStatus] = useState7("");
2098
- const [pickerOpen, setPickerOpen] = useState7(false);
2099
- const [schedIdx, setSchedIdx] = useState7(0);
2100
- const [swap, setSwap] = useState7(null);
2101
- const [signupError, setSignupError] = useState7(null);
2102
- const signupReturnPhase = useRef2("done");
2103
- const cardRef = useRef2(null);
2104
- const timers = useRef2([]);
2105
- const clearTimers = useCallback(() => {
2344
+ const [engagedWithPrompt, setEngagedWithPrompt] = useState8(false);
2345
+ const [promptHovered, setPromptHovered] = useState8(false);
2346
+ const [promptFocused, setPromptFocused] = useState8(false);
2347
+ const rotateIdx = useRef3(0);
2348
+ const [selected, setSelected] = useState8([]);
2349
+ const [phase, setPhase] = useState8("idle");
2350
+ const [shown, setShown] = useState8(0);
2351
+ const [status, setStatus] = useState8("");
2352
+ const [pickerOpen, setPickerOpen] = useState8(false);
2353
+ const [schedIdx, setSchedIdx] = useState8(0);
2354
+ const [swap, setSwap] = useState8(null);
2355
+ const [signupError, setSignupError] = useState8(null);
2356
+ const signupReturnPhase = useRef3("done");
2357
+ const cardRef = useRef3(null);
2358
+ const timers = useRef3([]);
2359
+ const clearTimers = useCallback2(() => {
2106
2360
  for (const t of timers.current) clearTimeout(t);
2107
2361
  timers.current = [];
2108
2362
  }, []);
2109
- useEffect2(() => clearTimers, [clearTimers]);
2363
+ useEffect3(() => clearTimers, [clearTimers]);
2110
2364
  const tempo = reducedMotion ? 0.35 : 1;
2111
- const at = useCallback(
2365
+ const at = useCallback2(
2112
2366
  (ms, fn) => {
2113
2367
  timers.current.push(setTimeout(fn, ms * tempo));
2114
2368
  },
2115
2369
  [tempo]
2116
2370
  );
2117
- const firstPhase = useRef2(true);
2118
- useEffect2(() => {
2371
+ const firstPhase = useRef3(true);
2372
+ useEffect3(() => {
2119
2373
  if (firstPhase.current) {
2120
2374
  firstPhase.current = false;
2121
2375
  return;
2122
2376
  }
2123
2377
  onPhaseChange?.(phase);
2124
2378
  }, [phase, onPhaseChange]);
2125
- const phaseRef = useRef2(phase);
2379
+ const phaseRef = useRef3(phase);
2126
2380
  phaseRef.current = phase;
2127
2381
  const byName = useMemo2(() => new Map(connectors.map((c) => [c.name, c])), [connectors]);
2128
2382
  const detected = useMemo2(() => detectConnectors(prompt, connectors), [prompt, connectors]);
@@ -2139,10 +2393,10 @@ function WorkflowShowcase({
2139
2393
  const manualSchedule = schedules[schedIdx];
2140
2394
  const scheduleShown = inferredSchedule ?? (manualSchedule === "AUTO" ? "HOURLY" : manualSchedule);
2141
2395
  const triggers = WORKFLOW_SHOWCASE_TRIGGERS;
2142
- const [triggerIdx, setTriggerIdx] = useState7(0);
2396
+ const [triggerIdx, setTriggerIdx] = useState8(0);
2143
2397
  const manualTrigger = triggers[triggerIdx];
2144
2398
  const cadenceShown = manualTrigger === "SCHEDULE" ? scheduleShown : manualTrigger;
2145
- useEffect2(() => {
2399
+ useEffect3(() => {
2146
2400
  if (!rotationActive || engagedWithPrompt || promptHovered || promptFocused || phase !== "idle") {
2147
2401
  return;
2148
2402
  }
@@ -2152,7 +2406,7 @@ function WorkflowShowcase({
2152
2406
  }, 4200);
2153
2407
  return () => clearInterval(timer);
2154
2408
  }, [rotationActive, engagedWithPrompt, promptHovered, promptFocused, phase, examples]);
2155
- const startBuild = useCallback(
2409
+ const startBuild = useCallback2(
2156
2410
  (text, baseSelected) => {
2157
2411
  if (phaseRef.current === "analyzing" || phaseRef.current === "building") return;
2158
2412
  phaseRef.current = "analyzing";
@@ -2189,7 +2443,7 @@ function WorkflowShowcase({
2189
2443
  },
2190
2444
  [clearTimers, connectors, onBuild, scheduleShown, manualTrigger, at]
2191
2445
  );
2192
- const resetToIdle = useCallback(() => {
2446
+ const resetToIdle = useCallback2(() => {
2193
2447
  clearTimers();
2194
2448
  phaseRef.current = "idle";
2195
2449
  setPhase("idle");
@@ -2308,8 +2562,8 @@ function WorkflowShowcase({
2308
2562
  animate: { opacity: 1, y: 0 },
2309
2563
  transition: { duration: 0.4, delay, ease: [0.2, 0.7, 0.2, 1] }
2310
2564
  };
2311
- return /* @__PURE__ */ jsxs22("section", { ...rest, className: cn("ods-showcase", className), children: [
2312
- /* @__PURE__ */ jsxs22(
2565
+ return /* @__PURE__ */ jsxs23("section", { ...rest, className: cn("ods-showcase", className), children: [
2566
+ /* @__PURE__ */ jsxs23(
2313
2567
  "div",
2314
2568
  {
2315
2569
  ref: cardRef,
@@ -2317,8 +2571,8 @@ function WorkflowShowcase({
2317
2571
  onMouseEnter: () => setPromptHovered(true),
2318
2572
  onMouseLeave: () => setPromptHovered(false),
2319
2573
  children: [
2320
- /* @__PURE__ */ jsxs22("div", { className: "ods-showcase__prompt", children: [
2321
- /* @__PURE__ */ jsx24(
2574
+ /* @__PURE__ */ jsxs23("div", { className: "ods-showcase__prompt", children: [
2575
+ /* @__PURE__ */ jsx25(
2322
2576
  "textarea",
2323
2577
  {
2324
2578
  className: "ods-showcase__prompt-input",
@@ -2335,8 +2589,8 @@ function WorkflowShowcase({
2335
2589
  rows: 2
2336
2590
  }
2337
2591
  ),
2338
- /* @__PURE__ */ jsx24("div", { className: "ods-showcase__prompt-render", "aria-hidden": "true", children: prompt ? segments.map(
2339
- (seg, i) => seg.connector ? /* @__PURE__ */ jsxs22(
2592
+ /* @__PURE__ */ jsx25("div", { className: "ods-showcase__prompt-render", "aria-hidden": "true", children: prompt ? segments.map(
2593
+ (seg, i) => seg.connector ? /* @__PURE__ */ jsxs23(
2340
2594
  "button",
2341
2595
  {
2342
2596
  type: "button",
@@ -2350,36 +2604,36 @@ function WorkflowShowcase({
2350
2604
  if (name) openSwap(name, seg.text, e.currentTarget);
2351
2605
  },
2352
2606
  children: [
2353
- !promptFocused && /* @__PURE__ */ jsx24(ConnectorTile, { connector: seg.connector }),
2607
+ !promptFocused && /* @__PURE__ */ jsx25(ConnectorTile, { connector: seg.connector }),
2354
2608
  seg.text
2355
2609
  ]
2356
2610
  },
2357
2611
  i
2358
2612
  ) : (
2359
2613
  // biome-ignore lint/suspicious/noArrayIndexKey: segments are positional by nature
2360
- /* @__PURE__ */ jsx24("span", { children: seg.text }, i)
2614
+ /* @__PURE__ */ jsx25("span", { children: seg.text }, i)
2361
2615
  )
2362
- ) : /* @__PURE__ */ jsxs22(Fragment6, { children: [
2363
- /* @__PURE__ */ jsx24("span", { className: "ods-showcase__placeholder", children: "Describe your pipeline \u2014 e.g. " }),
2364
- /* @__PURE__ */ jsx24("span", { className: "ods-showcase__placeholder ods-showcase__placeholder--faint", children: '"Sync Storefront orders to Warehouse hourly, alert sales in Team Chat"' })
2616
+ ) : /* @__PURE__ */ jsxs23(Fragment7, { children: [
2617
+ /* @__PURE__ */ jsx25("span", { className: "ods-showcase__placeholder", children: "Describe your pipeline \u2014 e.g. " }),
2618
+ /* @__PURE__ */ jsx25("span", { className: "ods-showcase__placeholder ods-showcase__placeholder--faint", children: '"Sync Storefront orders to Warehouse hourly, alert sales in Team Chat"' })
2365
2619
  ] }) })
2366
2620
  ] }),
2367
- /* @__PURE__ */ jsxs22("div", { className: "ods-showcase__coach", children: [
2368
- /* @__PURE__ */ jsx24(
2621
+ /* @__PURE__ */ jsxs23("div", { className: "ods-showcase__coach", children: [
2622
+ /* @__PURE__ */ jsx25(
2369
2623
  "span",
2370
2624
  {
2371
2625
  className: cn("ods-showcase__coach-line", `ods-showcase__coach-line--${coachTone}`),
2372
2626
  children: coachLine
2373
2627
  }
2374
2628
  ),
2375
- coachAdds.map((c) => /* @__PURE__ */ jsxs22(
2629
+ coachAdds.map((c) => /* @__PURE__ */ jsxs23(
2376
2630
  "button",
2377
2631
  {
2378
2632
  type: "button",
2379
2633
  className: "ods-showcase__coach-add",
2380
2634
  onClick: () => toggleConnector(c.name),
2381
2635
  children: [
2382
- /* @__PURE__ */ jsx24(ConnectorTile, { connector: c }),
2636
+ /* @__PURE__ */ jsx25(ConnectorTile, { connector: c }),
2383
2637
  "+ ",
2384
2638
  c.name
2385
2639
  ]
@@ -2387,7 +2641,7 @@ function WorkflowShowcase({
2387
2641
  c.name
2388
2642
  ))
2389
2643
  ] }),
2390
- /* @__PURE__ */ jsx24(AnimatePresence2, { initial: false, children: pickerOpen && /* @__PURE__ */ jsx24(
2644
+ /* @__PURE__ */ jsx25(AnimatePresence2, { initial: false, children: pickerOpen && /* @__PURE__ */ jsx25(
2391
2645
  motion3.div,
2392
2646
  {
2393
2647
  className: "ods-showcase__picker",
@@ -2395,9 +2649,9 @@ function WorkflowShowcase({
2395
2649
  animate: { opacity: 1, height: "auto" },
2396
2650
  exit: reducedMotion ? { opacity: 0 } : { opacity: 0, height: 0 },
2397
2651
  transition: { duration: 0.22, ease: [0.2, 0.7, 0.2, 1] },
2398
- children: /* @__PURE__ */ jsxs22("div", { className: "ods-showcase__picker-row", children: [
2399
- /* @__PURE__ */ jsx24("span", { className: "ods-showcase__microcopy", children: "CONNECTORS" }),
2400
- connectors.map((c) => /* @__PURE__ */ jsxs22(
2652
+ children: /* @__PURE__ */ jsxs23("div", { className: "ods-showcase__picker-row", children: [
2653
+ /* @__PURE__ */ jsx25("span", { className: "ods-showcase__microcopy", children: "CONNECTORS" }),
2654
+ connectors.map((c) => /* @__PURE__ */ jsxs23(
2401
2655
  "button",
2402
2656
  {
2403
2657
  type: "button",
@@ -2408,13 +2662,13 @@ function WorkflowShowcase({
2408
2662
  "aria-pressed": selected.includes(c.name),
2409
2663
  onClick: () => toggleConnector(c.name),
2410
2664
  children: [
2411
- /* @__PURE__ */ jsx24(ConnectorTile, { connector: c }),
2665
+ /* @__PURE__ */ jsx25(ConnectorTile, { connector: c }),
2412
2666
  c.name
2413
2667
  ]
2414
2668
  },
2415
2669
  c.name
2416
2670
  )),
2417
- /* @__PURE__ */ jsxs22("span", { className: "ods-showcase__microcopy ods-showcase__microcopy--faint", children: [
2671
+ /* @__PURE__ */ jsxs23("span", { className: "ods-showcase__microcopy ods-showcase__microcopy--faint", children: [
2418
2672
  "+ ",
2419
2673
  catalogNote,
2420
2674
  " IN THE APP"
@@ -2422,8 +2676,8 @@ function WorkflowShowcase({
2422
2676
  ] })
2423
2677
  }
2424
2678
  ) }),
2425
- /* @__PURE__ */ jsxs22("div", { className: "ods-showcase__toolbar", children: [
2426
- /* @__PURE__ */ jsxs22(
2679
+ /* @__PURE__ */ jsxs23("div", { className: "ods-showcase__toolbar", children: [
2680
+ /* @__PURE__ */ jsxs23(
2427
2681
  "button",
2428
2682
  {
2429
2683
  type: "button",
@@ -2439,7 +2693,7 @@ function WorkflowShowcase({
2439
2693
  ]
2440
2694
  }
2441
2695
  ),
2442
- /* @__PURE__ */ jsxs22(
2696
+ /* @__PURE__ */ jsxs23(
2443
2697
  "button",
2444
2698
  {
2445
2699
  type: "button",
@@ -2454,7 +2708,7 @@ function WorkflowShowcase({
2454
2708
  ]
2455
2709
  }
2456
2710
  ),
2457
- manualTrigger === "SCHEDULE" && /* @__PURE__ */ jsxs22(
2711
+ manualTrigger === "SCHEDULE" && /* @__PURE__ */ jsxs23(
2458
2712
  "button",
2459
2713
  {
2460
2714
  type: "button",
@@ -2466,8 +2720,8 @@ function WorkflowShowcase({
2466
2720
  ]
2467
2721
  }
2468
2722
  ),
2469
- /* @__PURE__ */ jsx24("span", { className: "ods-showcase__model", children: modelLabel }),
2470
- /* @__PURE__ */ jsx24(
2723
+ /* @__PURE__ */ jsx25("span", { className: "ods-showcase__model", children: modelLabel }),
2724
+ /* @__PURE__ */ jsx25(
2471
2725
  Button,
2472
2726
  {
2473
2727
  variant: "primary",
@@ -2477,8 +2731,8 @@ function WorkflowShowcase({
2477
2731
  }
2478
2732
  )
2479
2733
  ] }),
2480
- swap && swapRole && /* @__PURE__ */ jsxs22(Fragment6, { children: [
2481
- /* @__PURE__ */ jsx24(
2734
+ swap && swapRole && /* @__PURE__ */ jsxs23(Fragment7, { children: [
2735
+ /* @__PURE__ */ jsx25(
2482
2736
  "button",
2483
2737
  {
2484
2738
  type: "button",
@@ -2487,7 +2741,7 @@ function WorkflowShowcase({
2487
2741
  onClick: () => setSwap(null)
2488
2742
  }
2489
2743
  ),
2490
- /* @__PURE__ */ jsxs22(
2744
+ /* @__PURE__ */ jsxs23(
2491
2745
  "div",
2492
2746
  {
2493
2747
  className: "ods-showcase__swap",
@@ -2497,13 +2751,13 @@ function WorkflowShowcase({
2497
2751
  if (e.key === "Escape") setSwap(null);
2498
2752
  },
2499
2753
  children: [
2500
- /* @__PURE__ */ jsxs22("div", { className: "ods-showcase__swap-head", children: [
2754
+ /* @__PURE__ */ jsxs23("div", { className: "ods-showcase__swap-head", children: [
2501
2755
  "SWAP ",
2502
2756
  swapRole.toUpperCase(),
2503
2757
  " \u2014 ",
2504
2758
  swap.name.toUpperCase()
2505
2759
  ] }),
2506
- swapItems.map((c) => /* @__PURE__ */ jsxs22(
2760
+ swapItems.map((c) => /* @__PURE__ */ jsxs23(
2507
2761
  "button",
2508
2762
  {
2509
2763
  type: "button",
@@ -2511,14 +2765,14 @@ function WorkflowShowcase({
2511
2765
  className: "ods-showcase__swap-item",
2512
2766
  onClick: () => doSwap(swap, c.name),
2513
2767
  children: [
2514
- /* @__PURE__ */ jsx24(ConnectorTile, { connector: c }),
2515
- /* @__PURE__ */ jsx24("span", { className: "ods-showcase__swap-name", children: c.name }),
2516
- c.name === swap.name && /* @__PURE__ */ jsx24("span", { className: "ods-showcase__swap-mark", children: "\u25CF CURRENT" })
2768
+ /* @__PURE__ */ jsx25(ConnectorTile, { connector: c }),
2769
+ /* @__PURE__ */ jsx25("span", { className: "ods-showcase__swap-name", children: c.name }),
2770
+ c.name === swap.name && /* @__PURE__ */ jsx25("span", { className: "ods-showcase__swap-mark", children: "\u25CF CURRENT" })
2517
2771
  ]
2518
2772
  },
2519
2773
  c.name
2520
2774
  )),
2521
- /* @__PURE__ */ jsxs22("div", { className: "ods-showcase__swap-foot", children: [
2775
+ /* @__PURE__ */ jsxs23("div", { className: "ods-showcase__swap-foot", children: [
2522
2776
  catalogNote,
2523
2777
  " CONNECTORS IN THE APP"
2524
2778
  ] })
@@ -2529,9 +2783,9 @@ function WorkflowShowcase({
2529
2783
  ]
2530
2784
  }
2531
2785
  ),
2532
- /* @__PURE__ */ jsxs22("div", { className: "ods-showcase__examples", children: [
2533
- /* @__PURE__ */ jsx24("span", { className: "ods-showcase__microcopy", children: "TRY:" }),
2534
- examples.map((ex) => /* @__PURE__ */ jsx24(
2786
+ /* @__PURE__ */ jsxs23("div", { className: "ods-showcase__examples", children: [
2787
+ /* @__PURE__ */ jsx25("span", { className: "ods-showcase__microcopy", children: "TRY:" }),
2788
+ examples.map((ex) => /* @__PURE__ */ jsx25(
2535
2789
  "button",
2536
2790
  {
2537
2791
  type: "button",
@@ -2542,30 +2796,30 @@ function WorkflowShowcase({
2542
2796
  ex.id
2543
2797
  ))
2544
2798
  ] }),
2545
- /* @__PURE__ */ jsxs22("div", { className: "ods-showcase__canvas", children: [
2546
- /* @__PURE__ */ jsxs22("div", { className: "ods-showcase__canvas-head", children: [
2547
- /* @__PURE__ */ jsxs22("span", { className: "ods-showcase__microcopy", children: [
2799
+ /* @__PURE__ */ jsxs23("div", { className: "ods-showcase__canvas", children: [
2800
+ /* @__PURE__ */ jsxs23("div", { className: "ods-showcase__canvas-head", children: [
2801
+ /* @__PURE__ */ jsxs23("span", { className: "ods-showcase__microcopy", children: [
2548
2802
  canvasLabel,
2549
2803
  " \xB7 ",
2550
2804
  canvasSub
2551
2805
  ] }),
2552
- /* @__PURE__ */ jsxs22("span", { className: cn("ods-showcase__badge", `ods-showcase__badge--${badge.tone}`), children: [
2553
- /* @__PURE__ */ jsx24("span", { className: cn("ods-showcase__dot", badge.pulse && "ods-showcase__dot--pulse") }),
2806
+ /* @__PURE__ */ jsxs23("span", { className: cn("ods-showcase__badge", `ods-showcase__badge--${badge.tone}`), children: [
2807
+ /* @__PURE__ */ jsx25("span", { className: cn("ods-showcase__dot", badge.pulse && "ods-showcase__dot--pulse") }),
2554
2808
  badge.label
2555
2809
  ] })
2556
2810
  ] }),
2557
- /* @__PURE__ */ jsxs22("div", { className: "ods-showcase__stage", children: [
2558
- /* @__PURE__ */ jsxs22("div", { className: "ods-showcase__rail", children: [
2559
- /* @__PURE__ */ jsxs22("div", { className: "ods-showcase__rail-head", children: [
2560
- /* @__PURE__ */ jsx24("span", { className: "ods-showcase__microcopy", children: railLabel }),
2561
- /* @__PURE__ */ jsx24(
2811
+ /* @__PURE__ */ jsxs23("div", { className: "ods-showcase__stage", children: [
2812
+ /* @__PURE__ */ jsxs23("div", { className: "ods-showcase__rail", children: [
2813
+ /* @__PURE__ */ jsxs23("div", { className: "ods-showcase__rail-head", children: [
2814
+ /* @__PURE__ */ jsx25("span", { className: "ods-showcase__microcopy", children: railLabel }),
2815
+ /* @__PURE__ */ jsx25(
2562
2816
  "span",
2563
2817
  {
2564
2818
  className: cn("ods-showcase__dot", badge.pulse && "ods-showcase__dot--pulse")
2565
2819
  }
2566
2820
  )
2567
2821
  ] }),
2568
- /* @__PURE__ */ jsx24("div", { className: "ods-showcase__rail-body", children: /* @__PURE__ */ jsx24(AnimatePresence2, { initial: false, children: activity.map((line) => /* @__PURE__ */ jsx24(
2822
+ /* @__PURE__ */ jsx25("div", { className: "ods-showcase__rail-body", children: /* @__PURE__ */ jsx25(AnimatePresence2, { initial: false, children: activity.map((line) => /* @__PURE__ */ jsx25(
2569
2823
  motion3.div,
2570
2824
  {
2571
2825
  className: cn("ods-showcase__act", `ods-showcase__act--${line.tone}`),
@@ -2577,7 +2831,7 @@ function WorkflowShowcase({
2577
2831
  },
2578
2832
  line.id
2579
2833
  )) }) }),
2580
- /* @__PURE__ */ jsx24(
2834
+ /* @__PURE__ */ jsx25(
2581
2835
  "div",
2582
2836
  {
2583
2837
  className: cn(
@@ -2589,7 +2843,7 @@ function WorkflowShowcase({
2589
2843
  }
2590
2844
  )
2591
2845
  ] }),
2592
- /* @__PURE__ */ jsx24(
2846
+ /* @__PURE__ */ jsx25(
2593
2847
  ShowcaseScene,
2594
2848
  {
2595
2849
  left: sceneLeft,
@@ -2608,11 +2862,11 @@ function WorkflowShowcase({
2608
2862
  }
2609
2863
  }
2610
2864
  ),
2611
- /* @__PURE__ */ jsx24("div", { className: "ods-showcase__metrics", children: metrics.map((m, idx) => {
2865
+ /* @__PURE__ */ jsx25("div", { className: "ods-showcase__metrics", children: metrics.map((m, idx) => {
2612
2866
  const revealed = settled || phase === "building" && shown > idx;
2613
2867
  const interim = m.buildingValue != null && !settled && revealed;
2614
- return /* @__PURE__ */ jsxs22("div", { className: "ods-showcase__metric", children: [
2615
- /* @__PURE__ */ jsxs22(
2868
+ return /* @__PURE__ */ jsxs23("div", { className: "ods-showcase__metric", children: [
2869
+ /* @__PURE__ */ jsxs23(
2616
2870
  "div",
2617
2871
  {
2618
2872
  className: cn(
@@ -2621,7 +2875,7 @@ function WorkflowShowcase({
2621
2875
  m.tone === "success" && settled && "ods-showcase__metric-value--success"
2622
2876
  ),
2623
2877
  children: [
2624
- settled ? /* @__PURE__ */ jsx24(
2878
+ settled ? /* @__PURE__ */ jsx25(
2625
2879
  CountUp,
2626
2880
  {
2627
2881
  value: m.value,
@@ -2634,17 +2888,17 @@ function WorkflowShowcase({
2634
2888
  }
2635
2889
  ) : interim ? `${m.prefix ?? ""}${m.buildingValue}` : "\u2014",
2636
2890
  revealed && m.suffix ? m.suffix : null,
2637
- revealed && m.unit ? /* @__PURE__ */ jsxs22("span", { className: "ods-showcase__metric-unit", children: [
2891
+ revealed && m.unit ? /* @__PURE__ */ jsxs23("span", { className: "ods-showcase__metric-unit", children: [
2638
2892
  " ",
2639
2893
  m.unit
2640
2894
  ] }) : null
2641
2895
  ]
2642
2896
  }
2643
2897
  ),
2644
- /* @__PURE__ */ jsx24("div", { className: "ods-showcase__microcopy", children: m.label })
2898
+ /* @__PURE__ */ jsx25("div", { className: "ods-showcase__microcopy", children: m.label })
2645
2899
  ] }, m.id);
2646
2900
  }) }),
2647
- /* @__PURE__ */ jsx24(
2901
+ /* @__PURE__ */ jsx25(
2648
2902
  ShowcaseSignup,
2649
2903
  {
2650
2904
  phase,
@@ -2663,20 +2917,20 @@ function WorkflowShowcase({
2663
2917
  )
2664
2918
  ] })
2665
2919
  ] }),
2666
- /* @__PURE__ */ jsxs22("div", { className: "ods-showcase__outro", "aria-live": "polite", children: [
2667
- buildingNow && /* @__PURE__ */ jsxs22("div", { className: "ods-showcase__building", children: [
2668
- /* @__PURE__ */ jsx24("span", { className: "ods-showcase__spin", "aria-hidden": "true", children: "\u27F3" }),
2920
+ /* @__PURE__ */ jsxs23("div", { className: "ods-showcase__outro", "aria-live": "polite", children: [
2921
+ buildingNow && /* @__PURE__ */ jsxs23("div", { className: "ods-showcase__building", children: [
2922
+ /* @__PURE__ */ jsx25("span", { className: "ods-showcase__spin", "aria-hidden": "true", children: "\u27F3" }),
2669
2923
  " ",
2670
2924
  status
2671
2925
  ] }),
2672
- phase === "done" && /* @__PURE__ */ jsxs22("div", { className: "ods-showcase__done", children: [
2673
- /* @__PURE__ */ jsxs22(motion3.div, { className: "ods-showcase__done-note", ...rise(0), children: [
2926
+ phase === "done" && /* @__PURE__ */ jsxs23("div", { className: "ods-showcase__done", children: [
2927
+ /* @__PURE__ */ jsxs23(motion3.div, { className: "ods-showcase__done-note", ...rise(0), children: [
2674
2928
  "\u2713 ",
2675
2929
  doneNote
2676
2930
  ] }),
2677
- /* @__PURE__ */ jsxs22(motion3.div, { className: "ods-showcase__cta", ...rise(0.2), children: [
2678
- /* @__PURE__ */ jsx24("span", { className: "ods-showcase__cta-copy", children: "Deploy it on your own data \u2014 takes 2 minutes." }),
2679
- /* @__PURE__ */ jsx24(
2931
+ /* @__PURE__ */ jsxs23(motion3.div, { className: "ods-showcase__cta", ...rise(0.2), children: [
2932
+ /* @__PURE__ */ jsx25("span", { className: "ods-showcase__cta-copy", children: "Deploy it on your own data \u2014 takes 2 minutes." }),
2933
+ /* @__PURE__ */ jsx25(
2680
2934
  Button,
2681
2935
  {
2682
2936
  variant: "primary",
@@ -2688,7 +2942,7 @@ function WorkflowShowcase({
2688
2942
  children: "Create free account \u2192"
2689
2943
  }
2690
2944
  ),
2691
- /* @__PURE__ */ jsx24("a", { className: "ods-showcase__text-link", href: onboardingHref, children: "Book onboarding \u2192" })
2945
+ /* @__PURE__ */ jsx25("a", { className: "ods-showcase__text-link", href: onboardingHref, children: "Book onboarding \u2192" })
2692
2946
  ] })
2693
2947
  ] })
2694
2948
  ] })
@@ -2697,6 +2951,7 @@ function WorkflowShowcase({
2697
2951
  export {
2698
2952
  ActionGlyph,
2699
2953
  AssistantTranscript,
2954
+ AssistantWidget,
2700
2955
  BackedBy,
2701
2956
  BetaAccessForm,
2702
2957
  BlogGrid,