@pcoi/components 0.1.0 → 0.1.1

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 (60) hide show
  1. package/dist/components.css +1 -1
  2. package/dist/index.d.ts +5 -6
  3. package/dist/index.js +2 -2
  4. package/dist/index.mjs +296 -375
  5. package/package.json +12 -5
  6. package/src/Badge/Badge.css +2 -2
  7. package/src/Button/Button.css +4 -4
  8. package/src/Button/Button.figma.tsx +3 -5
  9. package/src/Button/Button.test.tsx +32 -0
  10. package/src/Callout/Callout.css +5 -5
  11. package/src/Callout/Callout.figma.tsx +25 -0
  12. package/src/Card/Card.css +8 -8
  13. package/src/Card/Card.figma.tsx +28 -0
  14. package/src/ChatInterface/ChatInterface.css +5 -5
  15. package/src/ChatInterface/ChatInterface.integration.test.tsx +123 -0
  16. package/src/ChatMessage/ChatMessage.css +8 -8
  17. package/src/ChatMessageList/ChatMessageList.css +4 -4
  18. package/src/ChatMessageList/ChatMessageList.test.tsx +74 -0
  19. package/src/Checkbox/Checkbox.css +6 -6
  20. package/src/CitationMark/CitationMark.css +3 -3
  21. package/src/CitedExcerpt/CitedExcerpt.css +7 -7
  22. package/src/ComparisonTable/ComparisonTable.css +6 -6
  23. package/src/ContactForm/ContactForm.css +5 -5
  24. package/src/ContactForm/ContactForm.tsx +1 -1
  25. package/src/DataTable/DataTable.css +4 -4
  26. package/src/DocumentOverlay/DocumentOverlay.css +5 -5
  27. package/src/DocumentOverlay/DocumentOverlay.test.tsx +95 -0
  28. package/src/DocumentOverlay/DocumentOverlay.tsx +1 -1
  29. package/src/Footer/Footer.css +9 -9
  30. package/src/FormField/FormField.css +4 -4
  31. package/src/FormField/FormField.figma.tsx +28 -0
  32. package/src/HowStep/HowStep.css +4 -4
  33. package/src/HowStep/HowStep.figma.tsx +23 -0
  34. package/src/LogoMark/LogoMark.tsx +1 -2
  35. package/src/Modal/Modal.css +11 -11
  36. package/src/Modal/Modal.figma.tsx +28 -0
  37. package/src/Modal/Modal.test.tsx +46 -0
  38. package/src/Modal/Modal.tsx +17 -19
  39. package/src/Nav/Nav.css +16 -16
  40. package/src/Panel/Panel.css +3 -3
  41. package/src/PromptBar/PromptBar.css +10 -10
  42. package/src/PromptBar/PromptBar.figma.tsx +25 -0
  43. package/src/PromptBar/PromptBar.test.tsx +83 -0
  44. package/src/PromptBar/PromptBar.tsx +2 -2
  45. package/src/RadioGroup/RadioGroup.css +11 -11
  46. package/src/SectionHeader/SectionHeader.css +4 -4
  47. package/src/SectionHeader/SectionHeader.figma.tsx +23 -0
  48. package/src/Select/Select.css +5 -5
  49. package/src/Select/Select.figma.tsx +33 -0
  50. package/src/Select/Select.tsx +1 -1
  51. package/src/SignalsPanel/SignalsPanel.css +9 -9
  52. package/src/SuggestionCard/SuggestionCard.css +5 -5
  53. package/src/SuggestionCards/SuggestionCards.css +1 -1
  54. package/src/SuggestionCards/SuggestionCards.test.tsx +27 -0
  55. package/src/SuggestionCards/SuggestionCards.tsx +1 -1
  56. package/src/Toast/Toast.css +14 -14
  57. package/src/Toast/Toast.tsx +1 -1
  58. package/src/Toggle/Toggle.css +15 -15
  59. package/src/Toggle/Toggle.figma.tsx +24 -0
  60. package/src/TypingIndicator/TypingIndicator.css +6 -6
package/dist/index.mjs CHANGED
@@ -1,58 +1,59 @@
1
- import { jsxs as n, jsx as e, Fragment as E } from "react/jsx-runtime";
2
- import _, { useState as $, useEffect as y, useRef as w, useCallback as R } from "react";
1
+ import { jsxs as n, jsx as e, Fragment as j } from "react/jsx-runtime";
2
+ import _, { useState as C, useEffect as y, useRef as w, useCallback as x } from "react";
3
+ import { ChevronDownIcon as A, CloseIcon as E, ArrowRightIcon as z } from "@pcoi/icons";
3
4
  import { createPortal as F } from "react-dom";
4
5
  const I = _.forwardRef(
5
- ({ href: i = "#", className: a = "", ...c }, l) => /* @__PURE__ */ n("a", { ref: l, href: i, className: `pcoi-logo ${a}`, ...c, children: [
6
+ ({ href: c = "#", className: o = "", ...a }, l) => /* @__PURE__ */ n("a", { ref: l, href: c, className: `pcoi-logo ${o}`, ...a, children: [
6
7
  /* @__PURE__ */ e("span", { className: "pcoi-logo__mark", children: "P" }),
7
8
  "COI"
8
9
  ] })
9
10
  );
10
11
  I.displayName = "LogoMark";
11
- const k = _.forwardRef(
12
- ({ variant: i = "primary", size: a = "default", children: c, className: l = "", ...o }, s) => {
12
+ const R = _.forwardRef(
13
+ ({ variant: c = "primary", size: o = "default", children: a, className: l = "", ...i }, s) => {
13
14
  const r = [
14
15
  "pcoi-btn",
15
- `pcoi-btn--${i}`,
16
- a !== "default" ? `pcoi-btn--${a}` : "",
16
+ `pcoi-btn--${c}`,
17
+ o !== "default" ? `pcoi-btn--${o}` : "",
17
18
  l
18
19
  ].filter(Boolean).join(" ");
19
- return /* @__PURE__ */ e("button", { ref: s, className: r, ...o, children: c });
20
+ return /* @__PURE__ */ e("button", { ref: s, className: r, ...i, children: a });
20
21
  }
21
22
  );
22
- k.displayName = "Button";
23
+ R.displayName = "Button";
23
24
  const g = _.forwardRef(
24
25
  ({
25
- label: i,
26
- name: a,
27
- multiline: c = !1,
26
+ label: c,
27
+ name: o,
28
+ multiline: a = !1,
28
29
  rows: l = 3,
29
- error: o,
30
+ error: i,
30
31
  required: s = !1,
31
32
  disabled: r = !1,
32
33
  className: t = "",
33
34
  ...p
34
35
  }, d) => {
35
- const h = `pcoi-field-${a}`, m = o ? `${h}-error` : void 0, u = [
36
+ const h = `pcoi-field-${o}`, m = i ? `${h}-error` : void 0, u = [
36
37
  "pcoi-field",
37
- o ? "pcoi-field--error" : "",
38
+ i ? "pcoi-field--error" : "",
38
39
  r ? "pcoi-field--disabled" : "",
39
40
  t
40
41
  ].filter(Boolean).join(" ");
41
42
  return /* @__PURE__ */ n("div", { className: u, children: [
42
43
  /* @__PURE__ */ n("label", { htmlFor: h, className: "pcoi-field__label", children: [
43
- i,
44
+ c,
44
45
  s && /* @__PURE__ */ e("span", { className: "pcoi-field__required", "aria-hidden": "true", children: "*" })
45
46
  ] }),
46
- c ? /* @__PURE__ */ e(
47
+ a ? /* @__PURE__ */ e(
47
48
  "textarea",
48
49
  {
49
50
  ref: d,
50
51
  id: h,
51
- name: a,
52
+ name: o,
52
53
  rows: l,
53
54
  required: s,
54
55
  disabled: r,
55
- "aria-invalid": !!o,
56
+ "aria-invalid": !!i,
56
57
  "aria-describedby": m,
57
58
  className: "pcoi-field__textarea",
58
59
  ...p
@@ -62,51 +63,51 @@ const g = _.forwardRef(
62
63
  {
63
64
  ref: d,
64
65
  id: h,
65
- name: a,
66
+ name: o,
66
67
  required: s,
67
68
  disabled: r,
68
- "aria-invalid": !!o,
69
+ "aria-invalid": !!i,
69
70
  "aria-describedby": m,
70
71
  className: "pcoi-field__input",
71
72
  ...p
72
73
  }
73
74
  ),
74
- o && /* @__PURE__ */ e("span", { id: m, className: "pcoi-field__error", role: "alert", children: o })
75
+ i && /* @__PURE__ */ e("span", { id: m, className: "pcoi-field__error", role: "alert", children: i })
75
76
  ] });
76
77
  }
77
78
  );
78
79
  g.displayName = "FormField";
79
80
  const Y = _.forwardRef(
80
- ({ variant: i = "problem", title: a, description: c, icon: l, number: o, headingLevel: s = "h3", className: r = "", ...t }, p) => {
81
+ ({ variant: c = "problem", title: o, description: a, icon: l, number: i, headingLevel: s = "h3", className: r = "", ...t }, p) => {
81
82
  const d = s, h = [
82
83
  "pcoi-card",
83
- `pcoi-card--${i}`,
84
+ `pcoi-card--${c}`,
84
85
  r
85
86
  ].filter(Boolean).join(" ");
86
87
  return /* @__PURE__ */ n("div", { ref: p, className: h, ...t, children: [
87
- i === "problem" && l && /* @__PURE__ */ e("div", { className: "pcoi-card__icon", children: l }),
88
- i === "principle" && o && /* @__PURE__ */ e("div", { className: "pcoi-card__number", children: o }),
89
- /* @__PURE__ */ e(d, { className: "pcoi-card__title", children: a }),
90
- /* @__PURE__ */ e("p", { className: "pcoi-card__description", children: c })
88
+ c === "problem" && l && /* @__PURE__ */ e("div", { className: "pcoi-card__icon", children: l }),
89
+ c === "principle" && i && /* @__PURE__ */ e("div", { className: "pcoi-card__number", children: i }),
90
+ /* @__PURE__ */ e(d, { className: "pcoi-card__title", children: o }),
91
+ /* @__PURE__ */ e("p", { className: "pcoi-card__description", children: a })
91
92
  ] });
92
93
  }
93
94
  );
94
95
  Y.displayName = "Card";
95
- const K = _.forwardRef(
96
+ const W = _.forwardRef(
96
97
  ({
97
- links: i = [
98
+ links: c = [
98
99
  { label: "Problem", href: "#problem" },
99
100
  { label: "How It Works", href: "#how-it-works" },
100
101
  { label: "Difference", href: "#difference" },
101
102
  { label: "Who It's For", href: "#who" }
102
103
  ],
103
- ctaLabel: a = "Start a Conversation",
104
- ctaHref: c = "#contact",
104
+ ctaLabel: o = "Start a Conversation",
105
+ ctaHref: a = "#contact",
105
106
  onCtaClick: l,
106
- className: o = "",
107
+ className: i = "",
107
108
  ...s
108
109
  }, r) => {
109
- const [t, p] = $(!1), [d, h] = $(!1);
110
+ const [t, p] = C(!1), [d, h] = C(!1);
110
111
  return y(() => {
111
112
  const m = () => p(window.scrollY > 40);
112
113
  return window.addEventListener("scroll", m, { passive: !0 }), m(), () => window.removeEventListener("scroll", m);
@@ -120,15 +121,15 @@ const K = _.forwardRef(
120
121
  "nav",
121
122
  {
122
123
  ref: r,
123
- className: `pcoi-nav ${t ? "pcoi-nav--scrolled" : ""} ${d ? "pcoi-nav--menu-open" : ""} ${o}`,
124
+ className: `pcoi-nav ${t ? "pcoi-nav--scrolled" : ""} ${d ? "pcoi-nav--menu-open" : ""} ${i}`,
124
125
  "aria-label": "Main",
125
126
  ...s,
126
127
  children: [
127
128
  /* @__PURE__ */ n("div", { className: "pcoi-nav__inner", children: [
128
129
  /* @__PURE__ */ e(I, {}),
129
130
  /* @__PURE__ */ n("div", { className: "pcoi-nav__links", children: [
130
- i.map((m) => /* @__PURE__ */ e("a", { href: m.href, "data-track-id": m.trackingId, children: m.label }, m.href)),
131
- /* @__PURE__ */ e("a", { href: c, children: /* @__PURE__ */ e(k, { variant: "nav-cta", onClick: l, children: a }) })
131
+ c.map((m) => /* @__PURE__ */ e("a", { href: m.href, "data-track-id": m.trackingId, children: m.label }, m.href)),
132
+ /* @__PURE__ */ e("a", { href: a, children: /* @__PURE__ */ e(R, { variant: "nav-cta", onClick: l, children: o }) })
132
133
  ] }),
133
134
  /* @__PURE__ */ n(
134
135
  "button",
@@ -147,52 +148,52 @@ const K = _.forwardRef(
147
148
  )
148
149
  ] }),
149
150
  /* @__PURE__ */ n("div", { className: "pcoi-nav__mobile-menu", id: "pcoi-mobile-menu", children: [
150
- i.map((m) => /* @__PURE__ */ e("a", { href: m.href, "data-track-id": m.trackingId, onClick: () => h(!1), children: m.label }, m.href)),
151
- /* @__PURE__ */ e("a", { href: c, children: /* @__PURE__ */ e(k, { variant: "nav-cta", onClick: () => {
151
+ c.map((m) => /* @__PURE__ */ e("a", { href: m.href, "data-track-id": m.trackingId, onClick: () => h(!1), children: m.label }, m.href)),
152
+ /* @__PURE__ */ e("a", { href: a, children: /* @__PURE__ */ e(R, { variant: "nav-cta", onClick: () => {
152
153
  l == null || l(), h(!1);
153
- }, children: a }) })
154
+ }, children: o }) })
154
155
  ] })
155
156
  ]
156
157
  }
157
158
  );
158
159
  }
159
160
  );
160
- K.displayName = "Nav";
161
- const z = _.forwardRef(
162
- ({ label: i, title: a, titleEmphasis: c, description: l, headingLevel: o = "h2", className: s = "", ...r }, t) => {
163
- const p = o;
161
+ W.displayName = "Nav";
162
+ const K = _.forwardRef(
163
+ ({ label: c, title: o, titleEmphasis: a, description: l, headingLevel: i = "h2", className: s = "", ...r }, t) => {
164
+ const p = i;
164
165
  return /* @__PURE__ */ n("div", { ref: t, className: `pcoi-section-header ${s}`, ...r, children: [
165
- /* @__PURE__ */ e("span", { className: "pcoi-section-header__label", children: i }),
166
- /* @__PURE__ */ e(p, { className: "pcoi-section-header__title", children: c ? /* @__PURE__ */ n(E, { children: [
167
- a.replace(c, ""),
168
- /* @__PURE__ */ e("em", { children: c })
169
- ] }) : a }),
166
+ /* @__PURE__ */ e("span", { className: "pcoi-section-header__label", children: c }),
167
+ /* @__PURE__ */ e(p, { className: "pcoi-section-header__title", children: a ? /* @__PURE__ */ n(j, { children: [
168
+ o.replace(a, ""),
169
+ /* @__PURE__ */ e("em", { children: a })
170
+ ] }) : o }),
170
171
  l && /* @__PURE__ */ e("p", { className: "pcoi-section-header__desc", children: l })
171
172
  ] });
172
173
  }
173
174
  );
174
- z.displayName = "SectionHeader";
175
+ K.displayName = "SectionHeader";
175
176
  const V = _.forwardRef(
176
- ({ number: i, title: a, description: c, isLast: l = !1, headingLevel: o = "h3", className: s = "", ...r }, t) => {
177
- const p = o;
177
+ ({ number: c, title: o, description: a, isLast: l = !1, headingLevel: i = "h3", className: s = "", ...r }, t) => {
178
+ const p = i;
178
179
  return /* @__PURE__ */ n("div", { ref: t, className: `pcoi-how-step ${l ? "pcoi-how-step--last" : ""} ${s}`, ...r, children: [
179
- /* @__PURE__ */ e("div", { className: "pcoi-how-step__number", children: i }),
180
+ /* @__PURE__ */ e("div", { className: "pcoi-how-step__number", children: c }),
180
181
  /* @__PURE__ */ n("div", { className: "pcoi-how-step__content", children: [
181
- /* @__PURE__ */ e(p, { className: "pcoi-how-step__title", children: a }),
182
- /* @__PURE__ */ e("p", { className: "pcoi-how-step__desc", children: c })
182
+ /* @__PURE__ */ e(p, { className: "pcoi-how-step__title", children: o }),
183
+ /* @__PURE__ */ e("p", { className: "pcoi-how-step__desc", children: a })
183
184
  ] })
184
185
  ] });
185
186
  }
186
187
  );
187
188
  V.displayName = "HowStep";
188
189
  const G = _.forwardRef(
189
- ({ competitorName: i = "Typical SaaS AI", pcoiName: a = "PCOI", rows: c, className: l = "", ...o }, s) => /* @__PURE__ */ e("div", { ref: s, className: `pcoi-comparison ${l}`, ...o, children: /* @__PURE__ */ n("table", { className: "pcoi-comparison__table", children: [
190
+ ({ competitorName: c = "Typical SaaS AI", pcoiName: o = "PCOI", rows: a, className: l = "", ...i }, s) => /* @__PURE__ */ e("div", { ref: s, className: `pcoi-comparison ${l}`, ...i, children: /* @__PURE__ */ n("table", { className: "pcoi-comparison__table", children: [
190
191
  /* @__PURE__ */ e("thead", { children: /* @__PURE__ */ n("tr", { className: "pcoi-comparison__header", children: [
191
192
  /* @__PURE__ */ e("th", { className: "pcoi-comparison__col", scope: "col", children: /* @__PURE__ */ e("span", { className: "pcoi-sr-only", children: "Feature" }) }),
192
- /* @__PURE__ */ e("th", { className: "pcoi-comparison__col", scope: "col", children: i }),
193
- /* @__PURE__ */ e("th", { className: "pcoi-comparison__col pcoi-comparison__col--highlight", scope: "col", children: a })
193
+ /* @__PURE__ */ e("th", { className: "pcoi-comparison__col", scope: "col", children: c }),
194
+ /* @__PURE__ */ e("th", { className: "pcoi-comparison__col pcoi-comparison__col--highlight", scope: "col", children: o })
194
195
  ] }) }),
195
- /* @__PURE__ */ e("tbody", { children: c.map((r, t) => /* @__PURE__ */ n("tr", { className: "pcoi-comparison__row", children: [
196
+ /* @__PURE__ */ e("tbody", { children: a.map((r, t) => /* @__PURE__ */ n("tr", { className: "pcoi-comparison__row", children: [
196
197
  /* @__PURE__ */ e("th", { className: "pcoi-comparison__col pcoi-comparison__col--label", scope: "row", children: r.label }),
197
198
  /* @__PURE__ */ e("td", { className: "pcoi-comparison__col", children: r.competitor }),
198
199
  /* @__PURE__ */ e("td", { className: "pcoi-comparison__col pcoi-comparison__col--highlight", children: r.pcoi })
@@ -201,13 +202,13 @@ const G = _.forwardRef(
201
202
  );
202
203
  G.displayName = "ComparisonTable";
203
204
  const J = _.forwardRef(
204
- ({ onSubmit: i, className: a = "", ...c }, l) => {
205
- const [o, s] = $(!1), r = (t) => {
205
+ ({ onSubmit: c, className: o = "", ...a }, l) => {
206
+ const [i, s] = C(!1), r = (t) => {
206
207
  t.preventDefault();
207
208
  const p = t.currentTarget, d = new FormData(p), h = Object.fromEntries(d.entries());
208
- i == null || i(h), s(!0), p.reset(), setTimeout(() => s(!1), 3e3);
209
+ c == null || c(h), s(!0), p.reset(), setTimeout(() => s(!1), 3e3);
209
210
  };
210
- return /* @__PURE__ */ n("form", { ref: l, className: `pcoi-form ${a}`, onSubmit: r, "aria-label": "Contact form", ...c, children: [
211
+ return /* @__PURE__ */ n("form", { ref: l, className: `pcoi-form ${o}`, onSubmit: r, "aria-label": "Contact form", ...a, children: [
211
212
  /* @__PURE__ */ n("div", { className: "pcoi-form__row", children: [
212
213
  /* @__PURE__ */ e(g, { label: "Name", name: "name", placeholder: "Your name", required: !0 }),
213
214
  /* @__PURE__ */ e(g, { label: "Company", name: "company", placeholder: "Company name", required: !0 })
@@ -227,43 +228,43 @@ const J = _.forwardRef(
227
228
  className: "pcoi-form__full"
228
229
  }
229
230
  ),
230
- /* @__PURE__ */ e(k, { type: "submit", variant: "primary", size: "large", disabled: o, children: o ? "Message Received" : "Start the Conversation" }),
231
+ /* @__PURE__ */ e(R, { type: "submit", variant: "primary", size: "large", disabled: i, children: i ? "Message Received" : "Start the Conversation" }),
231
232
  /* @__PURE__ */ e("p", { className: "pcoi-form__note", children: "No sales automation. A real person reads this and responds personally." })
232
233
  ] });
233
234
  }
234
235
  );
235
236
  J.displayName = "ContactForm";
236
237
  const Q = _.forwardRef(
237
- ({ quote: i, attribution: a, attributionTitle: c, sourceUrl: l, sourceLabel: o, className: s = "", ...r }, t) => /* @__PURE__ */ n("div", { ref: t, className: `pcoi-callout ${s}`, ...r, children: [
238
+ ({ quote: c, attribution: o, attributionTitle: a, sourceUrl: l, sourceLabel: i, className: s = "", ...r }, t) => /* @__PURE__ */ n("div", { ref: t, className: `pcoi-callout ${s}`, ...r, children: [
238
239
  /* @__PURE__ */ e("div", { className: "pcoi-callout__line" }),
239
- /* @__PURE__ */ e("p", { className: "pcoi-callout__quote", children: i }),
240
- (a || l) && /* @__PURE__ */ n("p", { className: "pcoi-callout__attribution", children: [
241
- c && /* @__PURE__ */ n("span", { children: [
242
- c,
240
+ /* @__PURE__ */ e("p", { className: "pcoi-callout__quote", children: c }),
241
+ (o || l) && /* @__PURE__ */ n("p", { className: "pcoi-callout__attribution", children: [
242
+ a && /* @__PURE__ */ n("span", { children: [
243
+ a,
243
244
  "  ~  "
244
245
  ] }),
245
- a,
246
- l && /* @__PURE__ */ n(E, { children: [
246
+ o,
247
+ l && /* @__PURE__ */ n(j, { children: [
247
248
  "  |  ",
248
- /* @__PURE__ */ e("a", { href: l, target: "_blank", rel: "noopener noreferrer", children: o || "Source" })
249
+ /* @__PURE__ */ e("a", { href: l, target: "_blank", rel: "noopener noreferrer", children: i || "Source" })
249
250
  ] })
250
251
  ] })
251
252
  ] })
252
253
  );
253
254
  Q.displayName = "Callout";
254
255
  const X = _.forwardRef(
255
- ({ title: i = "You'll know this is for you if:", signals: a, headingLevel: c = "h3", className: l = "", ...o }, s) => {
256
- const r = c;
257
- return /* @__PURE__ */ n("div", { ref: s, className: `pcoi-signals ${l}`, ...o, children: [
258
- /* @__PURE__ */ e(r, { className: "pcoi-signals__title", children: i }),
259
- /* @__PURE__ */ e("ul", { className: "pcoi-signals__list", children: a.map((t, p) => /* @__PURE__ */ e("li", { className: "pcoi-signals__item", children: t }, p)) })
256
+ ({ title: c = "You'll know this is for you if:", signals: o, headingLevel: a = "h3", className: l = "", ...i }, s) => {
257
+ const r = a;
258
+ return /* @__PURE__ */ n("div", { ref: s, className: `pcoi-signals ${l}`, ...i, children: [
259
+ /* @__PURE__ */ e(r, { className: "pcoi-signals__title", children: c }),
260
+ /* @__PURE__ */ e("ul", { className: "pcoi-signals__list", children: o.map((t, p) => /* @__PURE__ */ e("li", { className: "pcoi-signals__item", children: t }, p)) })
260
261
  ] });
261
262
  }
262
263
  );
263
264
  X.displayName = "SignalsPanel";
264
265
  const Z = _.forwardRef(
265
266
  ({
266
- links: i = [
267
+ links: c = [
267
268
  { label: "Problem", href: "#problem" },
268
269
  { label: "How It Works", href: "#how-it-works" },
269
270
  { label: "Difference", href: "#difference" },
@@ -271,70 +272,44 @@ const Z = _.forwardRef(
271
272
  { label: "Who It's For", href: "#who" },
272
273
  { label: "Contact", href: "#contact" }
273
274
  ],
274
- tagline: a = `Portable, Company-Owned
275
+ tagline: o = `Portable, Company-Owned
275
276
  Operational Intelligence`,
276
- copyright: c = `© ${(/* @__PURE__ */ new Date()).getFullYear()} PCOI. Operational intelligence you own.`,
277
+ copyright: a = `© ${(/* @__PURE__ */ new Date()).getFullYear()} PCOI. Operational intelligence you own.`,
277
278
  className: l = "",
278
- ...o
279
- }, s) => /* @__PURE__ */ n("footer", { ref: s, className: `pcoi-footer ${l}`, ...o, children: [
279
+ ...i
280
+ }, s) => /* @__PURE__ */ n("footer", { ref: s, className: `pcoi-footer ${l}`, ...i, children: [
280
281
  /* @__PURE__ */ n("div", { className: "pcoi-footer__inner", children: [
281
282
  /* @__PURE__ */ n("div", { className: "pcoi-footer__brand", children: [
282
283
  /* @__PURE__ */ e(I, { className: "pcoi-footer__logo" }),
283
- /* @__PURE__ */ e("p", { className: "pcoi-footer__tagline", children: a })
284
+ /* @__PURE__ */ e("p", { className: "pcoi-footer__tagline", children: o })
284
285
  ] }),
285
- /* @__PURE__ */ e("div", { className: "pcoi-footer__links", children: i.map((r) => /* @__PURE__ */ e("a", { href: r.href, "data-track-id": r.trackingId, children: r.label }, r.href)) })
286
+ /* @__PURE__ */ e("div", { className: "pcoi-footer__links", children: c.map((r) => /* @__PURE__ */ e("a", { href: r.href, "data-track-id": r.trackingId, children: r.label }, r.href)) })
286
287
  ] }),
287
- /* @__PURE__ */ e("div", { className: "pcoi-footer__bottom", children: /* @__PURE__ */ e("p", { children: c }) })
288
+ /* @__PURE__ */ e("div", { className: "pcoi-footer__bottom", children: /* @__PURE__ */ e("p", { children: a }) })
288
289
  ] })
289
290
  );
290
291
  Z.displayName = "Footer";
291
- const T = ({
292
- size: i = 24,
293
- title: a,
294
- ...c
295
- }) => /* @__PURE__ */ n(
296
- "svg",
297
- {
298
- width: i,
299
- height: i,
300
- viewBox: "0 0 24 24",
301
- fill: "none",
302
- stroke: "currentColor",
303
- strokeWidth: 1.5,
304
- strokeLinecap: "round",
305
- strokeLinejoin: "round",
306
- role: a ? "img" : "presentation",
307
- "aria-hidden": !a,
308
- xmlns: "http://www.w3.org/2000/svg",
309
- ...c,
310
- children: [
311
- a && /* @__PURE__ */ e("title", { children: a }),
312
- /* @__PURE__ */ e("polyline", { points: "6 9 12 15 18 9" })
313
- ]
314
- }
315
- );
316
- T.displayName = "ChevronDownIcon";
317
292
  const U = _.forwardRef(
318
293
  ({
319
- label: i,
320
- name: a,
321
- options: c,
294
+ label: c,
295
+ name: o,
296
+ options: a,
322
297
  placeholder: l,
323
- error: o,
298
+ error: i,
324
299
  required: s = !1,
325
300
  disabled: r = !1,
326
301
  className: t = "",
327
302
  ...p
328
303
  }, d) => {
329
- const h = `pcoi-field-${a}`, m = o ? `${h}-error` : void 0, u = [
304
+ const h = `pcoi-field-${o}`, m = i ? `${h}-error` : void 0, u = [
330
305
  "pcoi-select",
331
- o ? "pcoi-select--error" : "",
306
+ i ? "pcoi-select--error" : "",
332
307
  r ? "pcoi-select--disabled" : "",
333
308
  t
334
309
  ].filter(Boolean).join(" ");
335
310
  return /* @__PURE__ */ n("div", { className: u, children: [
336
311
  /* @__PURE__ */ n("label", { htmlFor: h, className: "pcoi-select__label", children: [
337
- i,
312
+ c,
338
313
  s && /* @__PURE__ */ e("span", { className: "pcoi-select__required", "aria-hidden": "true", children: "*" })
339
314
  ] }),
340
315
  /* @__PURE__ */ n("div", { className: "pcoi-select__wrapper", children: [
@@ -343,41 +318,41 @@ const U = _.forwardRef(
343
318
  {
344
319
  ref: d,
345
320
  id: h,
346
- name: a,
321
+ name: o,
347
322
  required: s,
348
323
  disabled: r,
349
- "aria-invalid": !!o,
324
+ "aria-invalid": !!i,
350
325
  "aria-describedby": m,
351
326
  className: "pcoi-select__native",
352
327
  defaultValue: l ? "" : void 0,
353
328
  ...p,
354
329
  children: [
355
330
  l && /* @__PURE__ */ e("option", { value: "", disabled: !0, hidden: !0, children: l }),
356
- c.map((f) => /* @__PURE__ */ e("option", { value: f.value, disabled: f.disabled, children: f.label }, f.value))
331
+ a.map((f) => /* @__PURE__ */ e("option", { value: f.value, disabled: f.disabled, children: f.label }, f.value))
357
332
  ]
358
333
  }
359
334
  ),
360
- /* @__PURE__ */ e("span", { className: "pcoi-select__chevron", "aria-hidden": "true", children: /* @__PURE__ */ e(T, { size: 16 }) })
335
+ /* @__PURE__ */ e("span", { className: "pcoi-select__chevron", "aria-hidden": "true", children: /* @__PURE__ */ e(A, { size: 16 }) })
361
336
  ] }),
362
- o && /* @__PURE__ */ e("span", { id: m, className: "pcoi-select__error", role: "alert", children: o })
337
+ i && /* @__PURE__ */ e("span", { id: m, className: "pcoi-select__error", role: "alert", children: i })
363
338
  ] });
364
339
  }
365
340
  );
366
341
  U.displayName = "Select";
367
342
  const ee = _.forwardRef(
368
343
  ({
369
- label: i,
370
- name: a,
371
- error: c,
344
+ label: c,
345
+ name: o,
346
+ error: a,
372
347
  disabled: l = !1,
373
- className: o = "",
348
+ className: i = "",
374
349
  ...s
375
350
  }, r) => {
376
- const t = `pcoi-field-${a}`, p = c ? `${t}-error` : void 0, d = [
351
+ const t = `pcoi-field-${o}`, p = a ? `${t}-error` : void 0, d = [
377
352
  "pcoi-checkbox",
378
- c ? "pcoi-checkbox--error" : "",
353
+ a ? "pcoi-checkbox--error" : "",
379
354
  l ? "pcoi-checkbox--disabled" : "",
380
- o
355
+ i
381
356
  ].filter(Boolean).join(" ");
382
357
  return /* @__PURE__ */ n("div", { className: d, children: [
383
358
  /* @__PURE__ */ n("label", { htmlFor: t, className: "pcoi-checkbox__control", children: [
@@ -387,36 +362,36 @@ const ee = _.forwardRef(
387
362
  ref: r,
388
363
  type: "checkbox",
389
364
  id: t,
390
- name: a,
365
+ name: o,
391
366
  disabled: l,
392
- "aria-invalid": !!c,
367
+ "aria-invalid": !!a,
393
368
  "aria-describedby": p,
394
369
  className: "pcoi-checkbox__input",
395
370
  ...s
396
371
  }
397
372
  ),
398
373
  /* @__PURE__ */ e("span", { className: "pcoi-checkbox__box", "aria-hidden": "true" }),
399
- /* @__PURE__ */ e("span", { className: "pcoi-checkbox__label", children: i })
374
+ /* @__PURE__ */ e("span", { className: "pcoi-checkbox__label", children: c })
400
375
  ] }),
401
- c && /* @__PURE__ */ e("span", { id: p, className: "pcoi-checkbox__error", role: "alert", children: c })
376
+ a && /* @__PURE__ */ e("span", { id: p, className: "pcoi-checkbox__error", role: "alert", children: a })
402
377
  ] });
403
378
  }
404
379
  );
405
380
  ee.displayName = "Checkbox";
406
381
  const ae = _.forwardRef(
407
382
  ({
408
- label: i,
409
- name: a,
410
- error: c,
383
+ label: c,
384
+ name: o,
385
+ error: a,
411
386
  disabled: l = !1,
412
- className: o = "",
387
+ className: i = "",
413
388
  ...s
414
389
  }, r) => {
415
- const t = `pcoi-field-${a}`, p = c ? `${t}-error` : void 0, d = [
390
+ const t = `pcoi-field-${o}`, p = a ? `${t}-error` : void 0, d = [
416
391
  "pcoi-toggle",
417
- c ? "pcoi-toggle--error" : "",
392
+ a ? "pcoi-toggle--error" : "",
418
393
  l ? "pcoi-toggle--disabled" : "",
419
- o
394
+ i
420
395
  ].filter(Boolean).join(" ");
421
396
  return /* @__PURE__ */ n("div", { className: d, children: [
422
397
  /* @__PURE__ */ n("label", { htmlFor: t, className: "pcoi-toggle__control", children: [
@@ -426,9 +401,9 @@ const ae = _.forwardRef(
426
401
  ref: r,
427
402
  type: "checkbox",
428
403
  id: t,
429
- name: a,
404
+ name: o,
430
405
  disabled: l,
431
- "aria-invalid": !!c,
406
+ "aria-invalid": !!a,
432
407
  "aria-describedby": p,
433
408
  className: "pcoi-toggle__input",
434
409
  role: "switch",
@@ -436,29 +411,29 @@ const ae = _.forwardRef(
436
411
  }
437
412
  ),
438
413
  /* @__PURE__ */ e("span", { className: "pcoi-toggle__track", "aria-hidden": "true", children: /* @__PURE__ */ e("span", { className: "pcoi-toggle__thumb" }) }),
439
- /* @__PURE__ */ e("span", { className: "pcoi-toggle__label", children: i })
414
+ /* @__PURE__ */ e("span", { className: "pcoi-toggle__label", children: c })
440
415
  ] }),
441
- c && /* @__PURE__ */ e("span", { id: p, className: "pcoi-toggle__error", role: "alert", children: c })
416
+ a && /* @__PURE__ */ e("span", { id: p, className: "pcoi-toggle__error", role: "alert", children: a })
442
417
  ] });
443
418
  }
444
419
  );
445
420
  ae.displayName = "Toggle";
446
- const ie = _.forwardRef(
421
+ const ce = _.forwardRef(
447
422
  ({
448
- label: i,
449
- name: a,
450
- options: c,
423
+ label: c,
424
+ name: o,
425
+ options: a,
451
426
  defaultValue: l,
452
- error: o,
427
+ error: i,
453
428
  required: s = !1,
454
429
  disabled: r = !1,
455
430
  onChange: t,
456
431
  className: p = "",
457
432
  ...d
458
433
  }, h) => {
459
- const m = o ? `pcoi-field-${a}-error` : void 0, u = [
434
+ const m = i ? `pcoi-field-${o}-error` : void 0, u = [
460
435
  "pcoi-radio-group",
461
- o ? "pcoi-radio-group--error" : "",
436
+ i ? "pcoi-radio-group--error" : "",
462
437
  r ? "pcoi-radio-group--disabled" : "",
463
438
  p
464
439
  ].filter(Boolean).join(" "), f = (N) => {
@@ -469,28 +444,28 @@ const ie = _.forwardRef(
469
444
  {
470
445
  ref: h,
471
446
  className: u,
472
- "aria-invalid": !!o,
447
+ "aria-invalid": !!i,
473
448
  "aria-describedby": m,
474
449
  ...d,
475
450
  children: [
476
451
  /* @__PURE__ */ n("legend", { className: "pcoi-radio-group__legend", children: [
477
- i,
452
+ c,
478
453
  s && /* @__PURE__ */ e("span", { className: "pcoi-radio-group__required", "aria-hidden": "true", children: "*" })
479
454
  ] }),
480
- /* @__PURE__ */ e("div", { className: "pcoi-radio-group__options", children: c.map((N) => {
481
- const x = `pcoi-field-${a}-${N.value}`;
455
+ /* @__PURE__ */ e("div", { className: "pcoi-radio-group__options", children: a.map((N) => {
456
+ const k = `pcoi-field-${o}-${N.value}`;
482
457
  return /* @__PURE__ */ n(
483
458
  "label",
484
459
  {
485
- htmlFor: x,
460
+ htmlFor: k,
486
461
  className: "pcoi-radio-group__option",
487
462
  children: [
488
463
  /* @__PURE__ */ e(
489
464
  "input",
490
465
  {
491
466
  type: "radio",
492
- id: x,
493
- name: a,
467
+ id: k,
468
+ name: o,
494
469
  value: N.value,
495
470
  defaultChecked: l === N.value,
496
471
  required: s,
@@ -506,51 +481,51 @@ const ie = _.forwardRef(
506
481
  N.value
507
482
  );
508
483
  }) }),
509
- o && /* @__PURE__ */ e("span", { id: m, className: "pcoi-radio-group__error", role: "alert", children: o })
484
+ i && /* @__PURE__ */ e("span", { id: m, className: "pcoi-radio-group__error", role: "alert", children: i })
510
485
  ]
511
486
  }
512
487
  );
513
488
  }
514
489
  );
515
- ie.displayName = "RadioGroup";
516
- const ce = _.forwardRef(
490
+ ce.displayName = "RadioGroup";
491
+ const ie = _.forwardRef(
517
492
  ({
518
- title: i,
519
- headingLevel: a = "h3",
520
- action: c,
493
+ title: c,
494
+ headingLevel: o = "h3",
495
+ action: a,
521
496
  children: l,
522
- flush: o = !1,
497
+ flush: i = !1,
523
498
  className: s = "",
524
499
  ...r
525
500
  }, t) => {
526
- const p = a, d = [
501
+ const p = o, d = [
527
502
  "pcoi-panel",
528
- o ? "pcoi-panel--flush" : "",
503
+ i ? "pcoi-panel--flush" : "",
529
504
  s
530
505
  ].filter(Boolean).join(" ");
531
506
  return /* @__PURE__ */ n("div", { ref: t, className: d, ...r, children: [
532
- (i || c) && /* @__PURE__ */ n("div", { className: "pcoi-panel__header", children: [
533
- i && /* @__PURE__ */ e(p, { className: "pcoi-panel__title", children: i }),
534
- c && /* @__PURE__ */ e("div", { className: "pcoi-panel__action", children: c })
507
+ (c || a) && /* @__PURE__ */ n("div", { className: "pcoi-panel__header", children: [
508
+ c && /* @__PURE__ */ e(p, { className: "pcoi-panel__title", children: c }),
509
+ a && /* @__PURE__ */ e("div", { className: "pcoi-panel__action", children: a })
535
510
  ] }),
536
511
  /* @__PURE__ */ e("div", { className: "pcoi-panel__body", children: l })
537
512
  ] });
538
513
  }
539
514
  );
540
- ce.displayName = "Panel";
541
- const oe = _.forwardRef(
515
+ ie.displayName = "Panel";
516
+ const le = _.forwardRef(
542
517
  ({
543
- columns: i,
544
- rows: a,
545
- rowKey: c,
518
+ columns: c,
519
+ rows: o,
520
+ rowKey: a,
546
521
  emptyText: l = "No data available",
547
- ariaLabel: o,
522
+ ariaLabel: i,
548
523
  className: s = "",
549
524
  ...r
550
525
  }, t) => {
551
- const p = (d, h) => c ? typeof c == "function" ? c(d, h) : String(d[c]) : String(h);
552
- return /* @__PURE__ */ e("div", { ref: t, className: `pcoi-data-table ${s}`, ...r, children: /* @__PURE__ */ n("table", { className: "pcoi-data-table__table", "aria-label": o, children: [
553
- /* @__PURE__ */ e("thead", { className: "pcoi-data-table__head", children: /* @__PURE__ */ e("tr", { className: "pcoi-data-table__head-row", children: i.map((d) => /* @__PURE__ */ e(
526
+ const p = (d, h) => a ? typeof a == "function" ? a(d, h) : String(d[a]) : String(h);
527
+ return /* @__PURE__ */ e("div", { ref: t, className: `pcoi-data-table ${s}`, ...r, children: /* @__PURE__ */ n("table", { className: "pcoi-data-table__table", "aria-label": i, children: [
528
+ /* @__PURE__ */ e("thead", { className: "pcoi-data-table__head", children: /* @__PURE__ */ e("tr", { className: "pcoi-data-table__head-row", children: c.map((d) => /* @__PURE__ */ e(
554
529
  "th",
555
530
  {
556
531
  className: `pcoi-data-table__th${d.align ? ` pcoi-data-table__th--${d.align}` : ""}`,
@@ -558,18 +533,18 @@ const oe = _.forwardRef(
558
533
  },
559
534
  d.key
560
535
  )) }) }),
561
- /* @__PURE__ */ e("tbody", { className: "pcoi-data-table__body", children: a.length === 0 ? /* @__PURE__ */ e("tr", { children: /* @__PURE__ */ e(
536
+ /* @__PURE__ */ e("tbody", { className: "pcoi-data-table__body", children: o.length === 0 ? /* @__PURE__ */ e("tr", { children: /* @__PURE__ */ e(
562
537
  "td",
563
538
  {
564
- colSpan: i.length,
539
+ colSpan: c.length,
565
540
  className: "pcoi-data-table__empty",
566
541
  children: l
567
542
  }
568
- ) }) : a.map((d, h) => /* @__PURE__ */ e(
543
+ ) }) : o.map((d, h) => /* @__PURE__ */ e(
569
544
  "tr",
570
545
  {
571
546
  className: "pcoi-data-table__row",
572
- children: i.map((m) => {
547
+ children: c.map((m) => {
573
548
  const u = d[m.key];
574
549
  return /* @__PURE__ */ e(
575
550
  "td",
@@ -586,60 +561,33 @@ const oe = _.forwardRef(
586
561
  ] }) });
587
562
  }
588
563
  );
589
- oe.displayName = "DataTable";
590
- const C = _.forwardRef(
591
- ({ children: i, variant: a = "default", className: c = "", ...l }, o) => {
564
+ le.displayName = "DataTable";
565
+ const $ = _.forwardRef(
566
+ ({ children: c, variant: o = "default", className: a = "", ...l }, i) => {
592
567
  const s = [
593
568
  "pcoi-badge",
594
- `pcoi-badge--${a}`,
595
- c
569
+ `pcoi-badge--${o}`,
570
+ a
596
571
  ].filter(Boolean).join(" ");
597
- return /* @__PURE__ */ e("span", { ref: o, className: s, ...l, children: i });
572
+ return /* @__PURE__ */ e("span", { ref: i, className: s, ...l, children: c });
598
573
  }
599
574
  );
600
- C.displayName = "Badge";
601
- const B = ({
602
- size: i = 24,
575
+ $.displayName = "Badge";
576
+ const T = ({
577
+ open: c,
578
+ onClose: o,
603
579
  title: a,
604
- ...c
605
- }) => /* @__PURE__ */ n(
606
- "svg",
607
- {
608
- width: i,
609
- height: i,
610
- viewBox: "0 0 24 24",
611
- fill: "none",
612
- stroke: "currentColor",
613
- strokeWidth: 1.5,
614
- strokeLinecap: "round",
615
- strokeLinejoin: "round",
616
- role: a ? "img" : "presentation",
617
- "aria-hidden": !a,
618
- xmlns: "http://www.w3.org/2000/svg",
619
- ...c,
620
- children: [
621
- a && /* @__PURE__ */ e("title", { children: a }),
622
- /* @__PURE__ */ e("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
623
- /* @__PURE__ */ e("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
624
- ]
625
- }
626
- );
627
- B.displayName = "CloseIcon";
628
- const D = ({
629
- open: i,
630
- onClose: a,
631
- title: c,
632
580
  headingLevel: l = "h2",
633
- size: o = "default",
581
+ size: i = "default",
634
582
  children: s,
635
583
  footer: r,
636
584
  className: t = "",
637
585
  ...p
638
586
  }) => {
639
- const d = w(null), h = w(null), m = l, u = c ? "pcoi-modal-title" : void 0, f = R(
587
+ const d = w(null), h = w(null), m = l, u = a ? "pcoi-modal-title" : void 0, f = x(
640
588
  (b) => {
641
589
  if (b.key === "Escape") {
642
- a();
590
+ o();
643
591
  return;
644
592
  }
645
593
  if (b.key === "Tab" && d.current) {
@@ -647,13 +595,13 @@ const D = ({
647
595
  'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
648
596
  );
649
597
  if (v.length === 0) return;
650
- const S = v[0], j = v[v.length - 1];
651
- b.shiftKey && document.activeElement === S ? (b.preventDefault(), j.focus()) : !b.shiftKey && document.activeElement === j && (b.preventDefault(), S.focus());
598
+ const B = v[0], S = v[v.length - 1];
599
+ b.shiftKey && document.activeElement === B ? (b.preventDefault(), S.focus()) : !b.shiftKey && document.activeElement === S && (b.preventDefault(), B.focus());
652
600
  }
653
601
  },
654
- [a]
602
+ [o]
655
603
  );
656
- y(() => (i && (h.current = document.activeElement, document.addEventListener("keydown", f), document.body.style.overflow = "hidden", requestAnimationFrame(() => {
604
+ y(() => (c && (h.current = document.activeElement, document.addEventListener("keydown", f), document.body.style.overflow = "hidden", requestAnimationFrame(() => {
657
605
  var v;
658
606
  const b = (v = d.current) == null ? void 0 : v.querySelector(
659
607
  'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
@@ -662,33 +610,33 @@ const D = ({
662
610
  })), () => {
663
611
  var b;
664
612
  document.removeEventListener("keydown", f), document.body.style.overflow = "", (b = h.current) == null || b.focus();
665
- }), [i, f]);
613
+ }), [c, f]);
666
614
  const N = (b) => {
667
- b.target === b.currentTarget && a();
615
+ b.target === b.currentTarget && o();
668
616
  };
669
- if (!i) return null;
670
- const x = ["pcoi-modal", t].filter(Boolean).join(" ");
617
+ if (!c) return null;
618
+ const k = ["pcoi-modal", t].filter(Boolean).join(" ");
671
619
  return F(
672
- /* @__PURE__ */ e("div", { className: x, onClick: N, children: /* @__PURE__ */ n(
620
+ /* @__PURE__ */ e("div", { className: k, onClick: N, children: /* @__PURE__ */ n(
673
621
  "div",
674
622
  {
675
623
  ref: d,
676
- className: `pcoi-modal__dialog${o === "wide" ? " pcoi-modal__dialog--wide" : ""}`,
624
+ className: `pcoi-modal__dialog${i === "wide" ? " pcoi-modal__dialog--wide" : ""}`,
677
625
  role: "dialog",
678
626
  "aria-modal": "true",
679
627
  "aria-labelledby": u,
680
628
  ...p,
681
629
  children: [
682
630
  /* @__PURE__ */ n("div", { className: "pcoi-modal__header", children: [
683
- c && /* @__PURE__ */ e(m, { id: u, className: "pcoi-modal__title", children: c }),
631
+ a && /* @__PURE__ */ e(m, { id: u, className: "pcoi-modal__title", children: a }),
684
632
  /* @__PURE__ */ e(
685
633
  "button",
686
634
  {
687
635
  type: "button",
688
636
  className: "pcoi-modal__close",
689
- onClick: a,
637
+ onClick: o,
690
638
  "aria-label": "Close modal",
691
- children: /* @__PURE__ */ e(B, { size: 20 })
639
+ children: /* @__PURE__ */ e(E, { size: 20 })
692
640
  }
693
641
  )
694
642
  ] }),
@@ -700,32 +648,32 @@ const D = ({
700
648
  document.body
701
649
  );
702
650
  };
703
- D.displayName = "Modal";
704
- const le = ({
705
- message: i,
706
- variant: a = "info",
707
- open: c,
651
+ T.displayName = "Modal";
652
+ const oe = ({
653
+ message: c,
654
+ variant: o = "info",
655
+ open: a,
708
656
  onClose: l,
709
- duration: o = 5e3,
657
+ duration: i = 5e3,
710
658
  className: s = "",
711
659
  ...r
712
660
  }) => {
713
- const t = R(() => {
661
+ const t = x(() => {
714
662
  l == null || l();
715
663
  }, [l]);
716
664
  if (y(() => {
717
- if (!c || o === 0) return;
718
- const d = setTimeout(t, o);
665
+ if (!a || i === 0) return;
666
+ const d = setTimeout(t, i);
719
667
  return () => clearTimeout(d);
720
- }, [c, o, t]), !c) return null;
668
+ }, [a, i, t]), !a) return null;
721
669
  const p = [
722
670
  "pcoi-toast",
723
- `pcoi-toast--${a}`,
671
+ `pcoi-toast--${o}`,
724
672
  s
725
673
  ].filter(Boolean).join(" ");
726
674
  return F(
727
675
  /* @__PURE__ */ e("div", { className: p, role: "alert", ...r, children: /* @__PURE__ */ n("div", { className: "pcoi-toast__content", children: [
728
- /* @__PURE__ */ e("span", { className: "pcoi-toast__message", children: i }),
676
+ /* @__PURE__ */ e("span", { className: "pcoi-toast__message", children: c }),
729
677
  l && /* @__PURE__ */ e(
730
678
  "button",
731
679
  {
@@ -733,25 +681,25 @@ const le = ({
733
681
  className: "pcoi-toast__close",
734
682
  onClick: t,
735
683
  "aria-label": "Dismiss notification",
736
- children: /* @__PURE__ */ e(B, { size: 16 })
684
+ children: /* @__PURE__ */ e(E, { size: 16 })
737
685
  }
738
686
  )
739
687
  ] }) }),
740
688
  document.body
741
689
  );
742
690
  };
743
- le.displayName = "Toast";
744
- const O = _.forwardRef(({ label: i, icon: a, className: c = "", ...l }, o) => {
745
- const s = ["pcoi-suggestion-card", c].filter(Boolean).join(" ");
746
- return /* @__PURE__ */ n("button", { ref: o, type: "button", className: s, ...l, children: [
747
- a && /* @__PURE__ */ e("span", { className: "pcoi-suggestion-card__icon", children: a }),
748
- /* @__PURE__ */ e("span", { className: "pcoi-suggestion-card__label", children: i })
691
+ oe.displayName = "Toast";
692
+ const D = _.forwardRef(({ label: c, icon: o, className: a = "", ...l }, i) => {
693
+ const s = ["pcoi-suggestion-card", a].filter(Boolean).join(" ");
694
+ return /* @__PURE__ */ n("button", { ref: i, type: "button", className: s, ...l, children: [
695
+ o && /* @__PURE__ */ e("span", { className: "pcoi-suggestion-card__icon", children: o }),
696
+ /* @__PURE__ */ e("span", { className: "pcoi-suggestion-card__label", children: c })
749
697
  ] });
750
698
  });
751
- O.displayName = "SuggestionCard";
752
- const P = _.forwardRef(
753
- ({ index: i, excerpt: a, sourceTitle: c, onSourceClick: l, className: o = "", ...s }, r) => {
754
- const t = ["pcoi-cited-excerpt", o].filter(Boolean).join(" ");
699
+ D.displayName = "SuggestionCard";
700
+ const O = _.forwardRef(
701
+ ({ index: c, excerpt: o, sourceTitle: a, onSourceClick: l, className: i = "", ...s }, r) => {
702
+ const t = ["pcoi-cited-excerpt", i].filter(Boolean).join(" ");
755
703
  return /* @__PURE__ */ n("div", { ref: r, className: t, ...s, children: [
756
704
  /* @__PURE__ */ e(
757
705
  "button",
@@ -759,7 +707,7 @@ const P = _.forwardRef(
759
707
  type: "button",
760
708
  className: "pcoi-cited-excerpt__source",
761
709
  onClick: l,
762
- children: c
710
+ children: a
763
711
  }
764
712
  ),
765
713
  /* @__PURE__ */ n("div", { className: "pcoi-cited-excerpt__body", children: [
@@ -771,110 +719,83 @@ const P = _.forwardRef(
771
719
  onClick: l,
772
720
  children: [
773
721
  "[",
774
- i,
722
+ c,
775
723
  "]"
776
724
  ]
777
725
  }
778
726
  ),
779
- /* @__PURE__ */ e("p", { className: "pcoi-cited-excerpt__text", children: a })
727
+ /* @__PURE__ */ e("p", { className: "pcoi-cited-excerpt__text", children: o })
780
728
  ] })
781
729
  ] });
782
730
  }
783
731
  );
784
- P.displayName = "CitedExcerpt";
785
- const L = ({
786
- size: i = 24,
787
- title: a,
788
- ...c
789
- }) => /* @__PURE__ */ n(
790
- "svg",
791
- {
792
- width: i,
793
- height: i,
794
- viewBox: "0 0 24 24",
795
- fill: "none",
796
- stroke: "currentColor",
797
- strokeWidth: 1.5,
798
- strokeLinecap: "round",
799
- strokeLinejoin: "round",
800
- role: a ? "img" : "presentation",
801
- "aria-hidden": !a,
802
- xmlns: "http://www.w3.org/2000/svg",
803
- ...c,
804
- children: [
805
- a && /* @__PURE__ */ e("title", { children: a }),
806
- /* @__PURE__ */ e("line", { x1: "5", y1: "12", x2: "19", y2: "12" }),
807
- /* @__PURE__ */ e("polyline", { points: "12 5 19 12 12 19" })
808
- ]
809
- }
810
- );
811
- L.displayName = "ArrowRightIcon";
812
- const H = _.forwardRef(
732
+ O.displayName = "CitedExcerpt";
733
+ const P = _.forwardRef(
813
734
  ({
814
- value: i,
815
- onChange: a,
816
- onSubmit: c,
735
+ value: c,
736
+ onChange: o,
737
+ onSubmit: a,
817
738
  placeholder: l = "Ask a question…",
818
- disabled: o = !1,
739
+ disabled: i = !1,
819
740
  loading: s = !1,
820
741
  className: r = "",
821
742
  ...t
822
743
  }, p) => {
823
- const d = w(null), h = R(
744
+ const d = w(null), h = x(
824
745
  (f) => {
825
- f.key === "Enter" && !f.shiftKey && (f.preventDefault(), i.trim() && !o && !s && c(i.trim()));
746
+ f.key === "Enter" && !f.shiftKey && (f.preventDefault(), c.trim() && !i && !s && a(c.trim()));
826
747
  },
827
- [i, o, s, c]
828
- ), m = R(() => {
829
- i.trim() && !o && !s && c(i.trim());
830
- }, [i, o, s, c]), u = ["pcoi-prompt-bar", r].filter(Boolean).join(" ");
748
+ [c, i, s, a]
749
+ ), m = x(() => {
750
+ c.trim() && !i && !s && a(c.trim());
751
+ }, [c, i, s, a]), u = ["pcoi-prompt-bar", r].filter(Boolean).join(" ");
831
752
  return /* @__PURE__ */ n("div", { ref: p, className: u, ...t, children: [
832
753
  /* @__PURE__ */ e(
833
754
  "textarea",
834
755
  {
835
756
  ref: d,
836
757
  className: "pcoi-prompt-bar__input",
837
- value: i,
838
- onChange: (f) => a(f.target.value),
758
+ value: c,
759
+ onChange: (f) => o(f.target.value),
839
760
  onKeyDown: h,
840
761
  placeholder: l,
841
- disabled: o,
762
+ disabled: i,
842
763
  rows: 1,
843
764
  "aria-label": l
844
765
  }
845
766
  ),
846
767
  /* @__PURE__ */ e("div", { className: "pcoi-prompt-bar__actions", children: /* @__PURE__ */ e(
847
- k,
768
+ R,
848
769
  {
849
770
  variant: "primary",
850
771
  className: "pcoi-prompt-bar__send",
851
772
  onClick: m,
852
- disabled: o || s || !i.trim(),
773
+ disabled: i || s || !c.trim(),
853
774
  "aria-label": "Send message",
854
- children: /* @__PURE__ */ e("span", { className: "pcoi-prompt-bar__send-icon", children: /* @__PURE__ */ e(L, { size: 16 }) })
775
+ children: /* @__PURE__ */ e("span", { className: "pcoi-prompt-bar__send-icon", children: /* @__PURE__ */ e(z, { size: 16 }) })
855
776
  }
856
777
  ) })
857
778
  ] });
858
779
  }
859
780
  );
860
- H.displayName = "PromptBar";
861
- const M = _.forwardRef(
862
- ({ role: i, children: a, citations: c, timestamp: l, onCitationClick: o, className: s = "", ...r }, t) => {
781
+ P.displayName = "PromptBar";
782
+ const H = _.forwardRef(
783
+ ({ role: c, children: o, citations: a, timestamp: l, onCitationClick: i, className: s = "", ...r }, t) => {
863
784
  const p = [
864
785
  "pcoi-chat-message",
865
- `pcoi-chat-message--${i}`,
786
+ `pcoi-chat-message--${c}`,
866
787
  s
867
788
  ].filter(Boolean).join(" ");
868
789
  return /* @__PURE__ */ n("div", { ref: t, className: p, ...r, children: [
869
- /* @__PURE__ */ e("div", { className: "pcoi-chat-message__header", children: /* @__PURE__ */ e(C, { variant: i === "assistant" ? "default" : "info", children: i === "assistant" ? "PCOI" : "You" }) }),
870
- /* @__PURE__ */ e("div", { className: "pcoi-chat-message__body", children: a }),
871
- c && c.length > 0 && /* @__PURE__ */ e("div", { className: "pcoi-chat-message__citations", children: c.map((d) => /* @__PURE__ */ e(
872
- P,
790
+ /* @__PURE__ */ e("div", { className: "pcoi-chat-message__header", children: /* @__PURE__ */ e($, { variant: c === "assistant" ? "default" : "info", children: c === "assistant" ? "PCOI" : "You" }) }),
791
+ /* @__PURE__ */ e("div", { className: "pcoi-chat-message__body", children: o }),
792
+ a && a.length > 0 && /* @__PURE__ */ e("div", { className: "pcoi-chat-message__citations", children: a.map((d) => /* @__PURE__ */ e(
793
+ O,
873
794
  {
874
795
  index: d.index,
875
796
  excerpt: d.excerpt,
876
797
  sourceTitle: d.sourceTitle,
877
- onSourceClick: () => o == null ? void 0 : o(d)
798
+ onSourceClick: () => i == null ? void 0 : i(d)
878
799
  },
879
800
  d.index
880
801
  )) }),
@@ -882,24 +803,24 @@ const M = _.forwardRef(
882
803
  ] });
883
804
  }
884
805
  );
885
- M.displayName = "ChatMessage";
886
- const q = _.forwardRef(({ suggestions: i, onSelect: a, className: c = "", ...l }, o) => {
887
- const s = ["pcoi-suggestion-cards", c].filter(Boolean).join(" ");
888
- return /* @__PURE__ */ e("div", { ref: o, className: s, ...l, children: i.map((r) => /* @__PURE__ */ e(
889
- O,
806
+ H.displayName = "ChatMessage";
807
+ const M = _.forwardRef(({ suggestions: c, onSelect: o, className: a = "", ...l }, i) => {
808
+ const s = ["pcoi-suggestion-cards", a].filter(Boolean).join(" ");
809
+ return /* @__PURE__ */ e("div", { ref: i, className: s, ...l, children: c.map((r) => /* @__PURE__ */ e(
810
+ D,
890
811
  {
891
812
  label: r.label,
892
813
  icon: r.icon,
893
- onClick: () => a(r)
814
+ onClick: () => o(r)
894
815
  },
895
816
  r.id
896
817
  )) });
897
818
  });
898
- q.displayName = "SuggestionCards";
899
- const A = _.forwardRef(({ children: i, className: a = "", ...c }, l) => {
900
- const o = w(null);
819
+ M.displayName = "SuggestionCards";
820
+ const q = _.forwardRef(({ children: c, className: o = "", ...a }, l) => {
821
+ const i = w(null);
901
822
  y(() => {
902
- const r = o.current;
823
+ const r = i.current;
903
824
  if (!r) return;
904
825
  const t = () => {
905
826
  requestAnimationFrame(() => {
@@ -908,31 +829,31 @@ const A = _.forwardRef(({ children: i, className: a = "", ...c }, l) => {
908
829
  }, p = new MutationObserver(t);
909
830
  return p.observe(r, { childList: !0, subtree: !0 }), t(), () => p.disconnect();
910
831
  }, []);
911
- const s = ["pcoi-chat-message-list", a].filter(Boolean).join(" ");
912
- return /* @__PURE__ */ e("div", { ref: l, className: s, ...c, children: /* @__PURE__ */ e("div", { ref: o, className: "pcoi-chat-message-list__inner", children: i }) });
832
+ const s = ["pcoi-chat-message-list", o].filter(Boolean).join(" ");
833
+ return /* @__PURE__ */ e("div", { ref: l, className: s, ...a, children: /* @__PURE__ */ e("div", { ref: i, className: "pcoi-chat-message-list__inner", children: c }) });
913
834
  });
914
- A.displayName = "ChatMessageList";
835
+ q.displayName = "ChatMessageList";
915
836
  const re = _.forwardRef(
916
- ({ open: i, onClose: a, title: c, sourceLabel: l, children: o, highlightId: s, highlightIndex: r, className: t = "", ...p }, d) => {
837
+ ({ open: c, onClose: o, title: a, sourceLabel: l, children: i, highlightId: s, highlightIndex: r, className: t = "", ...p }, d) => {
917
838
  const h = w(null);
918
839
  y(() => {
919
- i && s && h.current && requestAnimationFrame(() => {
840
+ c && s && h.current && requestAnimationFrame(() => {
920
841
  var N;
921
842
  const f = (N = h.current) == null ? void 0 : N.querySelector(`#${CSS.escape(s)}`);
922
843
  f && (f.scrollIntoView({ behavior: "smooth", block: "center" }), f.classList.add("pcoi-doc-overlay__highlight"), r !== void 0 && f.setAttribute("data-highlight-index", `[${r}]`));
923
844
  });
924
- }, [i, s, r]);
845
+ }, [c, s, r]);
925
846
  const m = ["pcoi-doc-overlay", t].filter(Boolean).join(" "), u = l ? _.createElement(
926
847
  "div",
927
848
  { className: "pcoi-doc-overlay__source" },
928
- _.createElement(C, null, l)
849
+ _.createElement($, null, l)
929
850
  ) : void 0;
930
851
  return _.createElement(
931
- D,
852
+ T,
932
853
  {
933
- open: i,
934
- onClose: a,
935
- title: c,
854
+ open: c,
855
+ onClose: o,
856
+ title: a,
936
857
  size: "wide",
937
858
  footer: u,
938
859
  className: m,
@@ -941,16 +862,16 @@ const re = _.forwardRef(
941
862
  _.createElement(
942
863
  "div",
943
864
  { ref: h, className: "pcoi-doc-overlay__content" },
944
- o
865
+ i
945
866
  )
946
867
  );
947
868
  }
948
869
  );
949
870
  re.displayName = "DocumentOverlay";
950
- const W = _.forwardRef(({ label: i = "PCOI", className: a = "", ...c }, l) => {
951
- const o = ["pcoi-typing-indicator", a].filter(Boolean).join(" ");
952
- return /* @__PURE__ */ n("div", { ref: l, className: o, ...c, children: [
953
- /* @__PURE__ */ e("div", { className: "pcoi-typing-indicator__header", children: /* @__PURE__ */ e(C, { children: i }) }),
871
+ const L = _.forwardRef(({ label: c = "PCOI", className: o = "", ...a }, l) => {
872
+ const i = ["pcoi-typing-indicator", o].filter(Boolean).join(" ");
873
+ return /* @__PURE__ */ n("div", { ref: l, className: i, ...a, children: [
874
+ /* @__PURE__ */ e("div", { className: "pcoi-typing-indicator__header", children: /* @__PURE__ */ e($, { children: c }) }),
954
875
  /* @__PURE__ */ n("div", { className: "pcoi-typing-indicator__dots", "aria-label": "Typing", children: [
955
876
  /* @__PURE__ */ e("span", { className: "pcoi-typing-indicator__dot" }),
956
877
  /* @__PURE__ */ e("span", { className: "pcoi-typing-indicator__dot" }),
@@ -958,14 +879,14 @@ const W = _.forwardRef(({ label: i = "PCOI", className: a = "", ...c }, l) => {
958
879
  ] })
959
880
  ] });
960
881
  });
961
- W.displayName = "TypingIndicator";
882
+ L.displayName = "TypingIndicator";
962
883
  const se = _.forwardRef(
963
884
  ({
964
- messages: i,
965
- suggestions: a,
966
- promptValue: c,
885
+ messages: c,
886
+ suggestions: o,
887
+ promptValue: a,
967
888
  onPromptChange: l,
968
- onPromptSubmit: o,
889
+ onPromptSubmit: i,
969
890
  onSuggestionSelect: s,
970
891
  onCitationClick: r,
971
892
  placeholder: t,
@@ -973,21 +894,21 @@ const se = _.forwardRef(
973
894
  className: d = "",
974
895
  ...h
975
896
  }, m) => {
976
- const u = i.length === 0, f = [
897
+ const u = c.length === 0, f = [
977
898
  "pcoi-chat",
978
899
  u ? "pcoi-chat--empty" : "",
979
900
  d
980
901
  ].filter(Boolean).join(" ");
981
902
  return /* @__PURE__ */ n("div", { ref: m, className: f, ...h, children: [
982
- u ? /* @__PURE__ */ e("div", { className: "pcoi-chat__empty-state", children: a && a.length > 0 && s && /* @__PURE__ */ e("div", { className: "pcoi-chat__suggestions", children: /* @__PURE__ */ e(
983
- q,
903
+ u ? /* @__PURE__ */ e("div", { className: "pcoi-chat__empty-state", children: o && o.length > 0 && s && /* @__PURE__ */ e("div", { className: "pcoi-chat__suggestions", children: /* @__PURE__ */ e(
904
+ M,
984
905
  {
985
- suggestions: a,
906
+ suggestions: o,
986
907
  onSelect: s
987
908
  }
988
- ) }) }) : /* @__PURE__ */ n(A, { className: "pcoi-chat__messages", children: [
989
- i.map((N) => /* @__PURE__ */ e(
990
- M,
909
+ ) }) }) : /* @__PURE__ */ n(q, { className: "pcoi-chat__messages", children: [
910
+ c.map((N) => /* @__PURE__ */ e(
911
+ H,
991
912
  {
992
913
  role: N.role,
993
914
  citations: N.citations,
@@ -997,14 +918,14 @@ const se = _.forwardRef(
997
918
  },
998
919
  N.id
999
920
  )),
1000
- p && /* @__PURE__ */ e(W, {})
921
+ p && /* @__PURE__ */ e(L, {})
1001
922
  ] }),
1002
923
  /* @__PURE__ */ e("div", { className: "pcoi-chat__prompt", children: /* @__PURE__ */ e(
1003
- H,
924
+ P,
1004
925
  {
1005
- value: c,
926
+ value: a,
1006
927
  onChange: l,
1007
- onSubmit: o,
928
+ onSubmit: i,
1008
929
  placeholder: t,
1009
930
  loading: p,
1010
931
  disabled: p
@@ -1015,34 +936,34 @@ const se = _.forwardRef(
1015
936
  );
1016
937
  se.displayName = "ChatInterface";
1017
938
  export {
1018
- C as Badge,
1019
- k as Button,
939
+ $ as Badge,
940
+ R as Button,
1020
941
  Q as Callout,
1021
942
  Y as Card,
1022
943
  se as ChatInterface,
1023
- M as ChatMessage,
1024
- A as ChatMessageList,
944
+ H as ChatMessage,
945
+ q as ChatMessageList,
1025
946
  ee as Checkbox,
1026
- P as CitedExcerpt,
947
+ O as CitedExcerpt,
1027
948
  G as ComparisonTable,
1028
949
  J as ContactForm,
1029
- oe as DataTable,
950
+ le as DataTable,
1030
951
  re as DocumentOverlay,
1031
952
  Z as Footer,
1032
953
  g as FormField,
1033
954
  V as HowStep,
1034
955
  I as LogoMark,
1035
- D as Modal,
1036
- K as Nav,
1037
- ce as Panel,
1038
- H as PromptBar,
1039
- ie as RadioGroup,
1040
- z as SectionHeader,
956
+ T as Modal,
957
+ W as Nav,
958
+ ie as Panel,
959
+ P as PromptBar,
960
+ ce as RadioGroup,
961
+ K as SectionHeader,
1041
962
  U as Select,
1042
963
  X as SignalsPanel,
1043
- O as SuggestionCard,
1044
- q as SuggestionCards,
1045
- le as Toast,
964
+ D as SuggestionCard,
965
+ M as SuggestionCards,
966
+ oe as Toast,
1046
967
  ae as Toggle,
1047
- W as TypingIndicator
968
+ L as TypingIndicator
1048
969
  };