@birdycom/omniaui-react 0.12.1 → 0.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -2254,19 +2254,28 @@ var LinkArrow = forwardRef52(function LinkArrow2({ direction = "forward", tone =
2254
2254
  return /* @__PURE__ */ jsx54("a", { ref, className: classes, ...rest });
2255
2255
  });
2256
2256
 
2257
+ // src/components/LinkRow.tsx
2258
+ import { forwardRef as forwardRef53 } from "react";
2259
+ import { jsx as jsx55 } from "react/jsx-runtime";
2260
+ var external = (href) => /^https?:\/\//.test(href);
2261
+ var LinkRow = forwardRef53(function LinkRow2({ links, tone = "default", size = "default", className, children, ...rest }, ref) {
2262
+ const classes = cx("oc-link-row", tone !== "default" && `oc-link-row--${tone}`, size !== "default" && `oc-link-row--${size}`, className);
2263
+ return /* @__PURE__ */ jsx55("ul", { ref, className: classes, ...rest, children: links ? links.map((l, i) => /* @__PURE__ */ jsx55("li", { children: /* @__PURE__ */ jsx55("a", { href: l.href, rel: external(l.href) ? "noopener" : void 0, children: l.label }) }, i)) : children });
2264
+ });
2265
+
2257
2266
  // src/components/ListToolbar.tsx
2258
- import { forwardRef as forwardRef53, useId as useId19 } from "react";
2259
- import { jsx as jsx55, jsxs as jsxs44 } from "react/jsx-runtime";
2260
- var ListToolbar = forwardRef53(function ListToolbar2({ search, count, views, view, defaultView, onViewChange, viewsLabel = "View", actions, sticky, bordered, className, ...rest }, ref) {
2267
+ import { forwardRef as forwardRef54, useId as useId19 } from "react";
2268
+ import { jsx as jsx56, jsxs as jsxs44 } from "react/jsx-runtime";
2269
+ var ListToolbar = forwardRef54(function ListToolbar2({ search, count, views, view, defaultView, onViewChange, viewsLabel = "View", actions, sticky, bordered, className, ...rest }, ref) {
2261
2270
  const name = `oc-list-view-${useId19().replace(/:/g, "")}`;
2262
2271
  const [current, setCurrent] = useControllable(view, defaultView ?? views?.[0]?.value ?? "", onViewChange);
2263
2272
  const cls = cx("oc-list-toolbar", sticky && "oc-list-toolbar--sticky", bordered && "oc-list-toolbar--bordered", className);
2264
2273
  return /* @__PURE__ */ jsxs44("div", { ref, className: cls, role: "toolbar", ...rest, children: [
2265
- search != null && /* @__PURE__ */ jsx55("div", { className: "oc-list-toolbar-search", children: search }),
2266
- count != null && /* @__PURE__ */ jsx55("span", { className: "oc-list-toolbar-count", children: count }),
2267
- /* @__PURE__ */ jsx55("span", { className: "oc-list-toolbar-spacer" }),
2268
- views && views.length > 0 && /* @__PURE__ */ jsx55("div", { className: "oc-list-toolbar-views", role: "radiogroup", "aria-label": viewsLabel, children: views.map((v) => /* @__PURE__ */ jsxs44("label", { className: "oc-list-toolbar-view", title: v.label, children: [
2269
- /* @__PURE__ */ jsx55(
2274
+ search != null && /* @__PURE__ */ jsx56("div", { className: "oc-list-toolbar-search", children: search }),
2275
+ count != null && /* @__PURE__ */ jsx56("span", { className: "oc-list-toolbar-count", children: count }),
2276
+ /* @__PURE__ */ jsx56("span", { className: "oc-list-toolbar-spacer" }),
2277
+ views && views.length > 0 && /* @__PURE__ */ jsx56("div", { className: "oc-list-toolbar-views", role: "radiogroup", "aria-label": viewsLabel, children: views.map((v) => /* @__PURE__ */ jsxs44("label", { className: "oc-list-toolbar-view", title: v.label, children: [
2278
+ /* @__PURE__ */ jsx56(
2270
2279
  "input",
2271
2280
  {
2272
2281
  type: "radio",
@@ -2279,14 +2288,31 @@ var ListToolbar = forwardRef53(function ListToolbar2({ search, count, views, vie
2279
2288
  ),
2280
2289
  v.icon
2281
2290
  ] }, v.value)) }),
2282
- actions != null && /* @__PURE__ */ jsx55("div", { className: "oc-list-toolbar-actions", children: actions })
2291
+ actions != null && /* @__PURE__ */ jsx56("div", { className: "oc-list-toolbar-actions", children: actions })
2283
2292
  ] });
2284
2293
  });
2285
2294
 
2295
+ // src/components/LiveFrame.tsx
2296
+ import { forwardRef as forwardRef55 } from "react";
2297
+ import { jsx as jsx57 } from "react/jsx-runtime";
2298
+ var LiveFrame = forwardRef55(function LiveFrame2({ src, title = "", width = 1280, height = 720, static: isStatic = false, inBrowserFrame = false, className, style, children, ...rest }, ref) {
2299
+ const size = { "--oc-live-w": width, "--oc-live-h": height };
2300
+ return /* @__PURE__ */ jsx57(
2301
+ "div",
2302
+ {
2303
+ ref,
2304
+ className: cx(inBrowserFrame && "oc-browser-frame__view", "oc-live-frame", isStatic && "oc-live-frame--static", className),
2305
+ style: { ...size, ...style },
2306
+ ...rest,
2307
+ children: src ? /* @__PURE__ */ jsx57("iframe", { src, title, loading: "lazy", scrolling: "no", tabIndex: isStatic ? -1 : void 0 }) : children
2308
+ }
2309
+ );
2310
+ });
2311
+
2286
2312
  // src/components/Marquee.tsx
2287
- import { forwardRef as forwardRef54 } from "react";
2288
- import { jsx as jsx56, jsxs as jsxs45 } from "react/jsx-runtime";
2289
- var Marquee = forwardRef54(function Marquee2({ items, reverse = false, speed = "default", plain = false, noFade = false, className, ...rest }, ref) {
2313
+ import { forwardRef as forwardRef56 } from "react";
2314
+ import { jsx as jsx58, jsxs as jsxs45 } from "react/jsx-runtime";
2315
+ var Marquee = forwardRef56(function Marquee2({ items, reverse = false, speed = "default", plain = false, noFade = false, className, ...rest }, ref) {
2290
2316
  const classes = cx(
2291
2317
  "oc-marquee",
2292
2318
  reverse && "oc-marquee--reverse",
@@ -2295,19 +2321,19 @@ var Marquee = forwardRef54(function Marquee2({ items, reverse = false, speed = "
2295
2321
  noFade && "oc-marquee--no-fade",
2296
2322
  className
2297
2323
  );
2298
- return /* @__PURE__ */ jsx56("div", { ref, className: classes, ...rest, children: /* @__PURE__ */ jsxs45("div", { className: "oc-marquee__track", children: [
2299
- items.map((item, i) => /* @__PURE__ */ jsx56("span", { className: "oc-marquee__item", children: item }, i)),
2300
- items.map((item, i) => /* @__PURE__ */ jsx56("span", { className: "oc-marquee__item", "aria-hidden": "true", children: item }, `copy-${i}`))
2324
+ return /* @__PURE__ */ jsx58("div", { ref, className: classes, ...rest, children: /* @__PURE__ */ jsxs45("div", { className: "oc-marquee__track", children: [
2325
+ items.map((item, i) => /* @__PURE__ */ jsx58("span", { className: "oc-marquee__item", children: item }, i)),
2326
+ items.map((item, i) => /* @__PURE__ */ jsx58("span", { className: "oc-marquee__item", "aria-hidden": "true", children: item }, `copy-${i}`))
2301
2327
  ] }) });
2302
2328
  });
2303
2329
 
2304
2330
  // src/components/MediaCard.tsx
2305
- import { forwardRef as forwardRef56, useId as useId20 } from "react";
2331
+ import { forwardRef as forwardRef58, useId as useId20 } from "react";
2306
2332
 
2307
2333
  // src/components/MediaThumb.tsx
2308
- import { forwardRef as forwardRef55 } from "react";
2309
- import { jsx as jsx57, jsxs as jsxs46 } from "react/jsx-runtime";
2310
- var MediaThumb = forwardRef55(function MediaThumb2({ src, alt = "", art: art2, href, duration, badge, live, progress, watched, ratio = "video", className, children, ...rest }, ref) {
2334
+ import { forwardRef as forwardRef57 } from "react";
2335
+ import { jsx as jsx59, jsxs as jsxs46 } from "react/jsx-runtime";
2336
+ var MediaThumb = forwardRef57(function MediaThumb2({ src, alt = "", art: art2, href, duration, badge, live, progress, watched, ratio = "video", className, children, ...rest }, ref) {
2311
2337
  const Tag = href ? "a" : "div";
2312
2338
  return /* @__PURE__ */ jsxs46(
2313
2339
  Tag,
@@ -2317,9 +2343,9 @@ var MediaThumb = forwardRef55(function MediaThumb2({ src, alt = "", art: art2, h
2317
2343
  className: cx("oc-media-thumb", ratio !== "video" && `oc-media-thumb--${ratio}`, watched && "is-watched", className),
2318
2344
  ...rest,
2319
2345
  children: [
2320
- src ? /* @__PURE__ */ jsx57("img", { src, alt }) : /* @__PURE__ */ jsx57("div", { className: cx("oc-media-art", art2 != null && art2 > 1 && `oc-media-art--${art2}`) }),
2321
- badge != null && /* @__PURE__ */ jsx57("span", { className: cx("oc-media-thumb__badge", live && "oc-media-thumb__badge--live"), children: badge }),
2322
- duration != null && /* @__PURE__ */ jsx57("span", { className: "oc-media-thumb__duration", children: duration }),
2346
+ src ? /* @__PURE__ */ jsx59("img", { src, alt }) : /* @__PURE__ */ jsx59("div", { className: cx("oc-media-art", art2 != null && art2 > 1 && `oc-media-art--${art2}`) }),
2347
+ badge != null && /* @__PURE__ */ jsx59("span", { className: cx("oc-media-thumb__badge", live && "oc-media-thumb__badge--live"), children: badge }),
2348
+ duration != null && /* @__PURE__ */ jsx59("span", { className: "oc-media-thumb__duration", children: duration }),
2323
2349
  progress != null && /* @__PURE__ */ jsxs46("progress", { className: "oc-media-thumb__progress", value: progress, max: 100, "aria-label": `Watched ${progress}%`, children: [
2324
2350
  progress,
2325
2351
  "%"
@@ -2331,93 +2357,93 @@ var MediaThumb = forwardRef55(function MediaThumb2({ src, alt = "", art: art2, h
2331
2357
  });
2332
2358
 
2333
2359
  // src/components/MediaCard.tsx
2334
- import { jsx as jsx58, jsxs as jsxs47 } from "react/jsx-runtime";
2335
- var MediaCard = forwardRef56(function MediaCard2({ title, href, meta, avatar, thumb, menu, compact, className, ...rest }, ref) {
2360
+ import { jsx as jsx60, jsxs as jsxs47 } from "react/jsx-runtime";
2361
+ var MediaCard = forwardRef58(function MediaCard2({ title, href, meta, avatar, thumb, menu, compact, className, ...rest }, ref) {
2336
2362
  const menuId = `oc-media-card-menu-${useId20().replace(/:/g, "")}`;
2337
2363
  return /* @__PURE__ */ jsxs47("article", { ref, className: cx("oc-media-card", compact && "oc-media-card--compact", className), ...rest, children: [
2338
- /* @__PURE__ */ jsx58(MediaThumb, { ...thumb }),
2364
+ /* @__PURE__ */ jsx60(MediaThumb, { ...thumb }),
2339
2365
  /* @__PURE__ */ jsxs47("div", { className: "oc-media-card__body", children: [
2340
- avatar != null && /* @__PURE__ */ jsx58("span", { className: "oc-media-card__avatar", "aria-hidden": "true", children: avatar }),
2366
+ avatar != null && /* @__PURE__ */ jsx60("span", { className: "oc-media-card__avatar", "aria-hidden": "true", children: avatar }),
2341
2367
  /* @__PURE__ */ jsxs47("div", { className: "oc-media-card__text", children: [
2342
- /* @__PURE__ */ jsx58("h3", { className: "oc-media-card__title", children: /* @__PURE__ */ jsx58("a", { href, children: title }) }),
2343
- meta != null && /* @__PURE__ */ jsx58("p", { className: "oc-media-card__meta", children: meta })
2368
+ /* @__PURE__ */ jsx60("h3", { className: "oc-media-card__title", children: /* @__PURE__ */ jsx60("a", { href, children: title }) }),
2369
+ meta != null && /* @__PURE__ */ jsx60("p", { className: "oc-media-card__meta", children: meta })
2344
2370
  ] }),
2345
- menu != null && /* @__PURE__ */ jsx58("button", { type: "button", className: "oc-media-card__menu", "aria-label": "More actions", popoverTarget: menuId, children: "\u22EE" })
2371
+ menu != null && /* @__PURE__ */ jsx60("button", { type: "button", className: "oc-media-card__menu", "aria-label": "More actions", popoverTarget: menuId, children: "\u22EE" })
2346
2372
  ] }),
2347
- menu != null && /* @__PURE__ */ jsx58("div", { className: "oc-dropdown-menu", id: menuId, ...attrs({ popover: "" }), children: menu })
2373
+ menu != null && /* @__PURE__ */ jsx60("div", { className: "oc-dropdown-menu", id: menuId, ...attrs({ popover: "" }), children: menu })
2348
2374
  ] });
2349
2375
  });
2350
2376
 
2351
2377
  // src/components/MediaRow.tsx
2352
- import { forwardRef as forwardRef57, useId as useId21 } from "react";
2353
- import { Fragment as Fragment13, jsx as jsx59, jsxs as jsxs48 } from "react/jsx-runtime";
2354
- var MediaRowList = forwardRef57(function MediaRowList2({ numbered, className, ...rest }, ref) {
2378
+ import { forwardRef as forwardRef59, useId as useId21 } from "react";
2379
+ import { Fragment as Fragment13, jsx as jsx61, jsxs as jsxs48 } from "react/jsx-runtime";
2380
+ var MediaRowList = forwardRef59(function MediaRowList2({ numbered, className, ...rest }, ref) {
2355
2381
  const Tag = numbered ? "ol" : "ul";
2356
- return /* @__PURE__ */ jsx59(Tag, { ref, className: cx("oc-media-row-list", numbered && "oc-media-row-list--numbered", className), ...rest });
2382
+ return /* @__PURE__ */ jsx61(Tag, { ref, className: cx("oc-media-row-list", numbered && "oc-media-row-list--numbered", className), ...rest });
2357
2383
  });
2358
- var MediaRow = forwardRef57(function MediaRow2({ title, href, meta, thumb, current, menu, className, ...rest }, ref) {
2384
+ var MediaRow = forwardRef59(function MediaRow2({ title, href, meta, thumb, current, menu, className, ...rest }, ref) {
2359
2385
  const menuId = `oc-media-row-menu-${useId21().replace(/:/g, "")}`;
2360
2386
  return /* @__PURE__ */ jsxs48("li", { ref, className: cx("oc-media-row", className), "aria-current": current ? "true" : void 0, ...rest, children: [
2361
- /* @__PURE__ */ jsx59(MediaThumb, { ...thumb }),
2387
+ /* @__PURE__ */ jsx61(MediaThumb, { ...thumb }),
2362
2388
  /* @__PURE__ */ jsxs48("div", { className: "oc-media-row__text", children: [
2363
- /* @__PURE__ */ jsx59("h3", { className: "oc-media-row__title", children: /* @__PURE__ */ jsx59("a", { href, children: title }) }),
2364
- meta != null && /* @__PURE__ */ jsx59("p", { className: "oc-media-row__meta", children: meta })
2389
+ /* @__PURE__ */ jsx61("h3", { className: "oc-media-row__title", children: /* @__PURE__ */ jsx61("a", { href, children: title }) }),
2390
+ meta != null && /* @__PURE__ */ jsx61("p", { className: "oc-media-row__meta", children: meta })
2365
2391
  ] }),
2366
2392
  menu != null && /* @__PURE__ */ jsxs48(Fragment13, { children: [
2367
- /* @__PURE__ */ jsx59("button", { type: "button", className: "oc-media-row__menu", "aria-label": "More actions", popoverTarget: menuId, children: "\u22EE" }),
2368
- /* @__PURE__ */ jsx59("div", { className: "oc-dropdown-menu", id: menuId, ...attrs({ popover: "" }), children: menu })
2393
+ /* @__PURE__ */ jsx61("button", { type: "button", className: "oc-media-row__menu", "aria-label": "More actions", popoverTarget: menuId, children: "\u22EE" }),
2394
+ /* @__PURE__ */ jsx61("div", { className: "oc-dropdown-menu", id: menuId, ...attrs({ popover: "" }), children: menu })
2369
2395
  ] })
2370
2396
  ] });
2371
2397
  });
2372
2398
 
2373
2399
  // src/components/Message.tsx
2374
- import { forwardRef as forwardRef58 } from "react";
2375
- import { Fragment as Fragment14, jsx as jsx60, jsxs as jsxs49 } from "react/jsx-runtime";
2376
- var svg = (d, width = "2") => /* @__PURE__ */ jsx60("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: width, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: /* @__PURE__ */ jsx60("path", { d }) });
2400
+ import { forwardRef as forwardRef60 } from "react";
2401
+ import { Fragment as Fragment14, jsx as jsx62, jsxs as jsxs49 } from "react/jsx-runtime";
2402
+ var svg = (d, width = "2") => /* @__PURE__ */ jsx62("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: width, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: /* @__PURE__ */ jsx62("path", { d }) });
2377
2403
  var ICONS = { reply: "M9 14 4 9l5-5M4 9h10a6 6 0 0 1 6 6v4", delete: "M3 6h18M8 6V4h8v2M19 6l-1 14H6L5 6M10 11v6M14 11v6" };
2378
2404
  var STATUS = { sent: "Sent", read: "Read", failed: "Failed" };
2379
2405
  function MessageAttachments({ items }) {
2380
2406
  const thumbs = items.every((a) => a.kind === "thumb");
2381
- return /* @__PURE__ */ jsx60("div", { className: "oc-message__attachments", children: thumbs ? /* @__PURE__ */ jsx60("div", { className: "oc-attachment-list", children: items.map((a, i) => /* @__PURE__ */ jsx60(AttachmentThumb, { as: "span", ...a }, i)) }) : items.map((a, i) => {
2407
+ return /* @__PURE__ */ jsx62("div", { className: "oc-message__attachments", children: thumbs ? /* @__PURE__ */ jsx62("div", { className: "oc-attachment-list", children: items.map((a, i) => /* @__PURE__ */ jsx62(AttachmentThumb, { as: "span", ...a }, i)) }) : items.map((a, i) => {
2382
2408
  if (a.kind === "image") {
2383
2409
  const { kind: _k2, ...img } = a;
2384
- return /* @__PURE__ */ jsx60(AttachmentImage, { ...img }, i);
2410
+ return /* @__PURE__ */ jsx62(AttachmentImage, { ...img }, i);
2385
2411
  }
2386
2412
  if (a.kind === "thumb") {
2387
2413
  const { kind: _k2, ...t } = a;
2388
- return /* @__PURE__ */ jsx60(AttachmentThumb, { as: "span", ...t }, i);
2414
+ return /* @__PURE__ */ jsx62(AttachmentThumb, { as: "span", ...t }, i);
2389
2415
  }
2390
2416
  const { kind: _k, ...file } = a;
2391
- return /* @__PURE__ */ jsx60(Attachment, { ...file }, i);
2417
+ return /* @__PURE__ */ jsx62(Attachment, { ...file }, i);
2392
2418
  }) });
2393
2419
  }
2394
- var Message = forwardRef58(function Message2({ direction = "in", sender, avatar, time, datetime, status, statusLabel, statusIcon, continued, quote, text, attachments, actions, label, onAction, className, children, ...rest }, ref) {
2420
+ var Message = forwardRef60(function Message2({ direction = "in", sender, avatar, time, datetime, status, statusLabel, statusIcon, continued, quote, text, attachments, actions, label, onAction, className, children, ...rest }, ref) {
2395
2421
  return /* @__PURE__ */ jsxs49("article", { ref, className: cx("oc-message", direction === "out" && "oc-message--out", continued && "oc-message--continued", className), "aria-label": label, ...rest, children: [
2396
- /* @__PURE__ */ jsx60("span", { className: "oc-avatar oc-message__avatar", children: avatar }),
2422
+ /* @__PURE__ */ jsx62("span", { className: "oc-avatar oc-message__avatar", children: avatar }),
2397
2423
  /* @__PURE__ */ jsxs49("div", { className: "oc-message__bubble", children: [
2398
- sender != null && !continued && /* @__PURE__ */ jsx60("p", { className: "oc-message__sender", children: sender }),
2424
+ sender != null && !continued && /* @__PURE__ */ jsx62("p", { className: "oc-message__sender", children: sender }),
2399
2425
  quote && /* @__PURE__ */ jsxs49("a", { className: "oc-message__quote", href: quote.href, children: [
2400
- /* @__PURE__ */ jsx60("strong", { children: quote.sender }),
2401
- /* @__PURE__ */ jsx60("span", { children: quote.text })
2426
+ /* @__PURE__ */ jsx62("strong", { children: quote.sender }),
2427
+ /* @__PURE__ */ jsx62("span", { children: quote.text })
2402
2428
  ] }),
2403
2429
  (text != null || children != null) && /* @__PURE__ */ jsxs49("div", { className: "oc-message__text", children: [
2404
- typeof text === "string" ? /* @__PURE__ */ jsx60("p", { children: text }) : text,
2430
+ typeof text === "string" ? /* @__PURE__ */ jsx62("p", { children: text }) : text,
2405
2431
  children
2406
2432
  ] }),
2407
- attachments?.length ? /* @__PURE__ */ jsx60(MessageAttachments, { items: attachments }) : null,
2433
+ attachments?.length ? /* @__PURE__ */ jsx62(MessageAttachments, { items: attachments }) : null,
2408
2434
  (time != null || status) && /* @__PURE__ */ jsxs49("p", { className: "oc-message__meta", children: [
2409
- time != null && /* @__PURE__ */ jsx60("time", { dateTime: datetime, children: time }),
2435
+ time != null && /* @__PURE__ */ jsx62("time", { dateTime: datetime, children: time }),
2410
2436
  status && /* @__PURE__ */ jsxs49("span", { className: cx("oc-message__status", status !== "sent" && `oc-message__status--${status}`), children: [
2411
2437
  statusIcon && svg("M2 12.5 7 17.5 18 6.5M13 16.5l1 1L22.5 9", "2.2"),
2412
2438
  statusLabel ?? STATUS[status]
2413
2439
  ] })
2414
2440
  ] })
2415
2441
  ] }),
2416
- actions?.length ? /* @__PURE__ */ jsx60("div", { className: "oc-message__actions", children: actions.map((a) => /* @__PURE__ */ jsx60("button", { type: "button", className: cx("oc-message__action", a.destructive && "oc-message__action--destructive"), "aria-label": a.label, onClick: () => onAction?.(a.name), children: typeof a.icon === "string" || a.icon == null ? svg(ICONS[a.icon ?? a.name] ?? ICONS.reply) : a.icon }, a.name)) }) : null
2442
+ actions?.length ? /* @__PURE__ */ jsx62("div", { className: "oc-message__actions", children: actions.map((a) => /* @__PURE__ */ jsx62("button", { type: "button", className: cx("oc-message__action", a.destructive && "oc-message__action--destructive"), "aria-label": a.label, onClick: () => onAction?.(a.name), children: typeof a.icon === "string" || a.icon == null ? svg(ICONS[a.icon ?? a.name] ?? ICONS.reply) : a.icon }, a.name)) }) : null
2417
2443
  ] });
2418
2444
  });
2419
2445
  function MessageDivider({ system, className, children, ...rest }) {
2420
- return /* @__PURE__ */ jsx60("div", { className: cx("oc-message-divider", system && "oc-message-divider--system", className), role: system ? "note" : void 0, ...rest, children: /* @__PURE__ */ jsx60("span", { children }) });
2446
+ return /* @__PURE__ */ jsx62("div", { className: cx("oc-message-divider", system && "oc-message-divider--system", className), role: system ? "note" : void 0, ...rest, children: /* @__PURE__ */ jsx62("span", { children }) });
2421
2447
  }
2422
2448
  var DEMO5 = [
2423
2449
  { divider: "Tuesday 14 October" },
@@ -2431,20 +2457,20 @@ var DEMO5 = [
2431
2457
  continued: true,
2432
2458
  id: "oc-message-demo-question",
2433
2459
  text: /* @__PURE__ */ jsxs49(Fragment14, { children: [
2434
- /* @__PURE__ */ jsx60("p", { children: "Which finish should we order?" }),
2460
+ /* @__PURE__ */ jsx62("p", { children: "Which finish should we order?" }),
2435
2461
  /* @__PURE__ */ jsxs49("ul", { children: [
2436
2462
  /* @__PURE__ */ jsxs49("li", { children: [
2437
- /* @__PURE__ */ jsx60("strong", { children: "Calacatta" }),
2463
+ /* @__PURE__ */ jsx62("strong", { children: "Calacatta" }),
2438
2464
  " matt, 20 mm"
2439
2465
  ] }),
2440
2466
  /* @__PURE__ */ jsxs49("li", { children: [
2441
- /* @__PURE__ */ jsx60("strong", { children: "Nero Marquina" }),
2467
+ /* @__PURE__ */ jsx62("strong", { children: "Nero Marquina" }),
2442
2468
  " polished, 12 mm"
2443
2469
  ] })
2444
2470
  ] }),
2445
2471
  /* @__PURE__ */ jsxs49("p", { children: [
2446
2472
  "Details are on the ",
2447
- /* @__PURE__ */ jsx60("a", { href: "#supplier-sheet", children: "supplier sheet" }),
2473
+ /* @__PURE__ */ jsx62("a", { href: "#supplier-sheet", children: "supplier sheet" }),
2448
2474
  "."
2449
2475
  ] })
2450
2476
  ] })
@@ -2463,15 +2489,15 @@ var DEMO5 = [
2463
2489
  },
2464
2490
  { divider: "Lisa Verbeke marked this question as answered", system: true }
2465
2491
  ];
2466
- var MessageList = forwardRef58(function MessageList2({ items = DEMO5, log = true, onAction, className, children, "aria-label": label = log ? "Conversation with Lisa Verbeke" : void 0, ...rest }, ref) {
2467
- return /* @__PURE__ */ jsx60("div", { ref, className: cx("oc-message-list", className), role: log ? "log" : void 0, "aria-label": label, ...rest, children: children ?? items.map(
2468
- (item, i) => "divider" in item ? /* @__PURE__ */ jsx60(MessageDivider, { system: item.system, children: item.divider }, i) : /* @__PURE__ */ jsx60(Message, { ...item, onAction: (name) => onAction?.(name, item, i) }, i)
2492
+ var MessageList = forwardRef60(function MessageList2({ items = DEMO5, log = true, onAction, className, children, "aria-label": label = log ? "Conversation with Lisa Verbeke" : void 0, ...rest }, ref) {
2493
+ return /* @__PURE__ */ jsx62("div", { ref, className: cx("oc-message-list", className), role: log ? "log" : void 0, "aria-label": label, ...rest, children: children ?? items.map(
2494
+ (item, i) => "divider" in item ? /* @__PURE__ */ jsx62(MessageDivider, { system: item.system, children: item.divider }, i) : /* @__PURE__ */ jsx62(Message, { ...item, onAction: (name) => onAction?.(name, item, i) }, i)
2469
2495
  ) });
2470
2496
  });
2471
2497
 
2472
2498
  // src/components/MessageThread.tsx
2473
- import { forwardRef as forwardRef59, useEffect as useEffect7, useId as useId22, useState as useState9 } from "react";
2474
- import { Fragment as Fragment15, jsx as jsx61, jsxs as jsxs50 } from "react/jsx-runtime";
2499
+ import { forwardRef as forwardRef61, useEffect as useEffect7, useId as useId22, useState as useState9 } from "react";
2500
+ import { Fragment as Fragment15, jsx as jsx63, jsxs as jsxs50 } from "react/jsx-runtime";
2475
2501
  var MENU = [
2476
2502
  { name: "unread", label: "Mark as unread" },
2477
2503
  { name: "archive", label: "Move to archive" },
@@ -2496,9 +2522,9 @@ var DEMO6 = [
2496
2522
  continued: true,
2497
2523
  text: /* @__PURE__ */ jsxs50("p", { children: [
2498
2524
  "Which one should we order: ",
2499
- /* @__PURE__ */ jsx61("strong", { children: "Calacatta matt" }),
2525
+ /* @__PURE__ */ jsx63("strong", { children: "Calacatta matt" }),
2500
2526
  " or ",
2501
- /* @__PURE__ */ jsx61("strong", { children: "Nero Marquina polished" }),
2527
+ /* @__PURE__ */ jsx63("strong", { children: "Nero Marquina polished" }),
2502
2528
  "? The cutting slot is Friday."
2503
2529
  ] })
2504
2530
  },
@@ -2516,7 +2542,7 @@ var DEMO6 = [
2516
2542
  { sender: "Lisa Verbeke", avatar: "LV", time: "10:02", datetime: "2026-10-24T10:02", text: "Client signed. Can you confirm the edge profile before 16:00?" }
2517
2543
  ];
2518
2544
  var isOut = (m) => !!m && !("divider" in m) && m.direction === "out";
2519
- var MessageThread = forwardRef59(function MessageThread2({
2545
+ var MessageThread = forwardRef61(function MessageThread2({
2520
2546
  title = "Kitchen worktop: which finish?",
2521
2547
  project = "Villa Dewitte",
2522
2548
  meta = "Lisa Verbeke \u2192 Tom Peeters \xB7 14 Oct 2026",
@@ -2582,51 +2608,51 @@ var MessageThread = forwardRef59(function MessageThread2({
2582
2608
  /* @__PURE__ */ jsxs50("header", { className: "oc-message-thread__header", children: [
2583
2609
  back,
2584
2610
  /* @__PURE__ */ jsxs50("div", { className: "oc-message-thread__heading", children: [
2585
- /* @__PURE__ */ jsx61("h3", { className: "oc-message-thread__title", id: `${base}-title`, children: title }),
2611
+ /* @__PURE__ */ jsx63("h3", { className: "oc-message-thread__title", id: `${base}-title`, children: title }),
2586
2612
  (project != null || meta != null) && /* @__PURE__ */ jsxs50("p", { className: "oc-message-thread__meta", children: [
2587
- project != null && /* @__PURE__ */ jsx61("strong", { children: project }),
2613
+ project != null && /* @__PURE__ */ jsx63("strong", { children: project }),
2588
2614
  project != null && meta != null && " \xB7 ",
2589
2615
  meta
2590
2616
  ] })
2591
2617
  ] }),
2592
- participants.length > 0 && /* @__PURE__ */ jsx61("div", { className: "oc-avatar-group oc-message-thread__people", "aria-label": `${participants.length} participants`, children: participants.map((p, i) => /* @__PURE__ */ jsx61("span", { className: "oc-avatar", title: p.name, children: p.initials }, i)) }),
2618
+ participants.length > 0 && /* @__PURE__ */ jsx63("div", { className: "oc-avatar-group oc-message-thread__people", "aria-label": `${participants.length} participants`, children: participants.map((p, i) => /* @__PURE__ */ jsx63("span", { className: "oc-avatar", title: p.name, children: p.initials }, i)) }),
2593
2619
  (status || menu) && /* @__PURE__ */ jsxs50("div", { className: "oc-message-thread__actions", children: [
2594
- status && /* @__PURE__ */ jsx61("span", { className: cx("oc-badge", status.variant && `oc-badge--${status.variant}`), children: status.label }),
2620
+ status && /* @__PURE__ */ jsx63("span", { className: cx("oc-badge", status.variant && `oc-badge--${status.variant}`), children: status.label }),
2595
2621
  menu && /* @__PURE__ */ jsxs50(Fragment15, { children: [
2596
- /* @__PURE__ */ jsx61("button", { type: "button", className: "oc-message-thread__icon-btn", popoverTarget: `${base}-menu`, "aria-label": "Conversation actions", children: /* @__PURE__ */ jsxs50("svg", { viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": "true", children: [
2597
- /* @__PURE__ */ jsx61("circle", { cx: "12", cy: "5", r: "1.8" }),
2598
- /* @__PURE__ */ jsx61("circle", { cx: "12", cy: "12", r: "1.8" }),
2599
- /* @__PURE__ */ jsx61("circle", { cx: "12", cy: "19", r: "1.8" })
2622
+ /* @__PURE__ */ jsx63("button", { type: "button", className: "oc-message-thread__icon-btn", popoverTarget: `${base}-menu`, "aria-label": "Conversation actions", children: /* @__PURE__ */ jsxs50("svg", { viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": "true", children: [
2623
+ /* @__PURE__ */ jsx63("circle", { cx: "12", cy: "5", r: "1.8" }),
2624
+ /* @__PURE__ */ jsx63("circle", { cx: "12", cy: "12", r: "1.8" }),
2625
+ /* @__PURE__ */ jsx63("circle", { cx: "12", cy: "19", r: "1.8" })
2600
2626
  ] }) }),
2601
- /* @__PURE__ */ jsx61("div", { className: "oc-dropdown-menu", id: `${base}-menu`, ...attrs({ popover: "" }), role: "menu", children: menu.map((m, i) => "separator" in m ? /* @__PURE__ */ jsx61("div", { className: "oc-dropdown-separator", role: "separator" }, i) : /* @__PURE__ */ jsx61("button", { type: "button", className: cx("oc-dropdown-item", m.destructive && "oc-dropdown-item--destructive"), role: "menuitem", onClick: () => onMenu?.(m.name), children: m.label }, i)) })
2627
+ /* @__PURE__ */ jsx63("div", { className: "oc-dropdown-menu", id: `${base}-menu`, ...attrs({ popover: "" }), role: "menu", children: menu.map((m, i) => "separator" in m ? /* @__PURE__ */ jsx63("div", { className: "oc-dropdown-separator", role: "separator" }, i) : /* @__PURE__ */ jsx63("button", { type: "button", className: cx("oc-dropdown-item", m.destructive && "oc-dropdown-item--destructive"), role: "menuitem", onClick: () => onMenu?.(m.name), children: m.label }, i)) })
2602
2628
  ] })
2603
2629
  ] })
2604
2630
  ] }),
2605
- /* @__PURE__ */ jsx61("div", { className: "oc-message-thread__scroll", tabIndex: 0, role: "log", "aria-label": scrollLabel, "aria-live": live ? "polite" : void 0, children: /* @__PURE__ */ jsx61(MessageList, { items: list, log: false }) }),
2606
- /* @__PURE__ */ jsx61("div", { className: "oc-message-thread__footer", children: note != null ? /* @__PURE__ */ jsx61("p", { className: "oc-message-thread__note", children: note }) : composer ?? /* @__PURE__ */ jsxs50("form", { className: cx("oc-chat-composer", inline && "oc-chat-composer--inline"), action: "#", "aria-label": composerLabel, onSubmit: send, onKeyDown: ctrlEnter, children: [
2607
- /* @__PURE__ */ jsx61("label", { className: "oc-visually-hidden", htmlFor: `${base}-input`, children: "Message" }),
2608
- /* @__PURE__ */ jsx61("textarea", { className: "oc-chat-composer__input", id: `${base}-input`, name: "message", rows: 1, placeholder, required: true }),
2631
+ /* @__PURE__ */ jsx63("div", { className: "oc-message-thread__scroll", tabIndex: 0, role: "log", "aria-label": scrollLabel, "aria-live": live ? "polite" : void 0, children: /* @__PURE__ */ jsx63(MessageList, { items: list, log: false }) }),
2632
+ /* @__PURE__ */ jsx63("div", { className: "oc-message-thread__footer", children: note != null ? /* @__PURE__ */ jsx63("p", { className: "oc-message-thread__note", children: note }) : composer ?? /* @__PURE__ */ jsxs50("form", { className: cx("oc-chat-composer", inline && "oc-chat-composer--inline"), action: "#", "aria-label": composerLabel, onSubmit: send, onKeyDown: ctrlEnter, children: [
2633
+ /* @__PURE__ */ jsx63("label", { className: "oc-visually-hidden", htmlFor: `${base}-input`, children: "Message" }),
2634
+ /* @__PURE__ */ jsx63("textarea", { className: "oc-chat-composer__input", id: `${base}-input`, name: "message", rows: 1, placeholder, required: true }),
2609
2635
  /* @__PURE__ */ jsxs50("div", { className: "oc-chat-composer__bar", children: [
2610
2636
  tools.length > 0 && /* @__PURE__ */ jsxs50("div", { className: "oc-chat-composer__tools", children: [
2611
- tools.includes("attach") && /* @__PURE__ */ jsx61("button", { type: "button", className: "oc-chat-composer__tool", "aria-label": "Attach a file", onClick: () => onTool?.("attach"), children: "\u{1F4CE}" }),
2612
- tools.includes("emoji") && /* @__PURE__ */ jsx61("button", { type: "button", className: "oc-chat-composer__tool", "aria-label": "Insert emoji", onClick: () => onTool?.("emoji"), children: "\u{1F642}" })
2637
+ tools.includes("attach") && /* @__PURE__ */ jsx63("button", { type: "button", className: "oc-chat-composer__tool", "aria-label": "Attach a file", onClick: () => onTool?.("attach"), children: "\u{1F4CE}" }),
2638
+ tools.includes("emoji") && /* @__PURE__ */ jsx63("button", { type: "button", className: "oc-chat-composer__tool", "aria-label": "Insert emoji", onClick: () => onTool?.("emoji"), children: "\u{1F642}" })
2613
2639
  ] }),
2614
- hint != null && /* @__PURE__ */ jsx61("span", { className: "oc-chat-composer__hint", children: hint }),
2615
- /* @__PURE__ */ jsx61("button", { type: "submit", className: "oc-chat-composer__send", "aria-label": "Send", children: "\u27A4" })
2640
+ hint != null && /* @__PURE__ */ jsx63("span", { className: "oc-chat-composer__hint", children: hint }),
2641
+ /* @__PURE__ */ jsx63("button", { type: "submit", className: "oc-chat-composer__send", "aria-label": "Send", children: "\u27A4" })
2616
2642
  ] })
2617
2643
  ] }) }),
2618
2644
  busyTitle != null && /* @__PURE__ */ jsxs50("div", { className: "oc-message-thread__busy", role: "status", children: [
2619
- /* @__PURE__ */ jsx61("span", { className: "oc-spinner oc-spinner--lg", "aria-hidden": "true" }),
2620
- /* @__PURE__ */ jsx61("strong", { children: busyTitle }),
2621
- busyText != null && /* @__PURE__ */ jsx61("span", { children: busyText })
2645
+ /* @__PURE__ */ jsx63("span", { className: "oc-spinner oc-spinner--lg", "aria-hidden": "true" }),
2646
+ /* @__PURE__ */ jsx63("strong", { children: busyTitle }),
2647
+ busyText != null && /* @__PURE__ */ jsx63("span", { children: busyText })
2622
2648
  ] })
2623
2649
  ] });
2624
2650
  });
2625
2651
 
2626
2652
  // src/components/Modal.tsx
2627
- import { forwardRef as forwardRef60, useId as useId23, useRef as useRef9 } from "react";
2628
- import { jsx as jsx62, jsxs as jsxs51 } from "react/jsx-runtime";
2629
- var Modal = forwardRef60(function Modal2({ open, defaultOpen, onOpenChange, title, description, footer, size = "md", closeOnBackdrop = true, className, children, ...rest }, forwardedRef) {
2653
+ import { forwardRef as forwardRef62, useId as useId23, useRef as useRef9 } from "react";
2654
+ import { jsx as jsx64, jsxs as jsxs51 } from "react/jsx-runtime";
2655
+ var Modal = forwardRef62(function Modal2({ open, defaultOpen, onOpenChange, title, description, footer, size = "md", closeOnBackdrop = true, className, children, ...rest }, forwardedRef) {
2630
2656
  const inner = useRef9(null);
2631
2657
  const ref = useMergedRef(inner, forwardedRef);
2632
2658
  const titleId = useId23();
@@ -2635,7 +2661,7 @@ var Modal = forwardRef60(function Modal2({ open, defaultOpen, onOpenChange, titl
2635
2661
  rest.onClick?.(e);
2636
2662
  if (closeOnBackdrop && e.target === e.currentTarget) dlg.close();
2637
2663
  };
2638
- return /* @__PURE__ */ jsx62(
2664
+ return /* @__PURE__ */ jsx64(
2639
2665
  "dialog",
2640
2666
  {
2641
2667
  ref,
@@ -2645,20 +2671,20 @@ var Modal = forwardRef60(function Modal2({ open, defaultOpen, onOpenChange, titl
2645
2671
  ...rest,
2646
2672
  onClick,
2647
2673
  onClose: dlg.onClose,
2648
- children: /* @__PURE__ */ jsx62(DialogContext.Provider, { value: { close: dlg.close }, children: /* @__PURE__ */ jsxs51("div", { className: cx("oc-modal-content", size !== "md" && `oc-modal-content--${size}`), children: [
2674
+ children: /* @__PURE__ */ jsx64(DialogContext.Provider, { value: { close: dlg.close }, children: /* @__PURE__ */ jsxs51("div", { className: cx("oc-modal-content", size !== "md" && `oc-modal-content--${size}`), children: [
2649
2675
  (title != null || description != null) && /* @__PURE__ */ jsxs51("div", { className: "oc-modal-header", children: [
2650
- title != null && /* @__PURE__ */ jsx62("h2", { className: "oc-modal-title", id: titleId, children: title }),
2651
- description != null && /* @__PURE__ */ jsx62("p", { className: "oc-modal-description", children: description })
2676
+ title != null && /* @__PURE__ */ jsx64("h2", { className: "oc-modal-title", id: titleId, children: title }),
2677
+ description != null && /* @__PURE__ */ jsx64("p", { className: "oc-modal-description", children: description })
2652
2678
  ] }),
2653
2679
  children,
2654
- footer != null && /* @__PURE__ */ jsx62("div", { className: "oc-modal-footer", children: footer })
2680
+ footer != null && /* @__PURE__ */ jsx64("div", { className: "oc-modal-footer", children: footer })
2655
2681
  ] }) })
2656
2682
  }
2657
2683
  );
2658
2684
  });
2659
- var ModalClose = forwardRef60(function ModalClose2({ onClick, ...rest }, ref) {
2685
+ var ModalClose = forwardRef62(function ModalClose2({ onClick, ...rest }, ref) {
2660
2686
  const ctx = useDialogContext();
2661
- return /* @__PURE__ */ jsx62(
2687
+ return /* @__PURE__ */ jsx64(
2662
2688
  Button,
2663
2689
  {
2664
2690
  ref,
@@ -2673,53 +2699,53 @@ var ModalClose = forwardRef60(function ModalClose2({ onClick, ...rest }, ref) {
2673
2699
  });
2674
2700
 
2675
2701
  // src/components/Navmenu.tsx
2676
- import { forwardRef as forwardRef61, useId as useId24 } from "react";
2677
- import { jsx as jsx63, jsxs as jsxs52 } from "react/jsx-runtime";
2678
- var Navmenu = forwardRef61(function Navmenu2({ label = "Navigation", navClassName, className, ...rest }, ref) {
2679
- return /* @__PURE__ */ jsx63("nav", { "aria-label": label, className: navClassName, children: /* @__PURE__ */ jsx63("ul", { ref, className: cx("oc-navmenu", className), ...rest }) });
2702
+ import { forwardRef as forwardRef63, useId as useId24 } from "react";
2703
+ import { jsx as jsx65, jsxs as jsxs52 } from "react/jsx-runtime";
2704
+ var Navmenu = forwardRef63(function Navmenu2({ label = "Navigation", navClassName, className, ...rest }, ref) {
2705
+ return /* @__PURE__ */ jsx65("nav", { "aria-label": label, className: navClassName, children: /* @__PURE__ */ jsx65("ul", { ref, className: cx("oc-navmenu", className), ...rest }) });
2680
2706
  });
2681
2707
  function NavmenuItem(props) {
2682
- return /* @__PURE__ */ jsx63("li", { ...props });
2708
+ return /* @__PURE__ */ jsx65("li", { ...props });
2683
2709
  }
2684
- var NavmenuLink = forwardRef61(function NavmenuLink2({ current, className, ...rest }, ref) {
2685
- return /* @__PURE__ */ jsx63("a", { ref, className: cx("oc-navmenu-link", className), "aria-current": current ? "page" : void 0, ...rest });
2710
+ var NavmenuLink = forwardRef63(function NavmenuLink2({ current, className, ...rest }, ref) {
2711
+ return /* @__PURE__ */ jsx65("a", { ref, className: cx("oc-navmenu-link", className), "aria-current": current ? "page" : void 0, ...rest });
2686
2712
  });
2687
- var NavmenuDropdown = forwardRef61(function NavmenuDropdown2({ label, className, id, children, ...rest }, ref) {
2713
+ var NavmenuDropdown = forwardRef63(function NavmenuDropdown2({ label, className, id, children, ...rest }, ref) {
2688
2714
  const auto = useId24();
2689
2715
  const menuId = id ?? `oc-navmenu-${auto.replace(/:/g, "")}`;
2690
2716
  return /* @__PURE__ */ jsxs52("li", { children: [
2691
- /* @__PURE__ */ jsx63("button", { className: "oc-navmenu-link oc-navmenu-link--caret", type: "button", popoverTarget: menuId, children: label }),
2692
- /* @__PURE__ */ jsx63("div", { ref, className: cx("oc-dropdown-menu", className), id: menuId, ...attrs({ popover: "" }), ...rest, children })
2717
+ /* @__PURE__ */ jsx65("button", { className: "oc-navmenu-link oc-navmenu-link--caret", type: "button", popoverTarget: menuId, children: label }),
2718
+ /* @__PURE__ */ jsx65("div", { ref, className: cx("oc-dropdown-menu", className), id: menuId, ...attrs({ popover: "" }), ...rest, children })
2693
2719
  ] });
2694
2720
  });
2695
2721
 
2696
2722
  // src/components/NextTeaser.tsx
2697
- import { forwardRef as forwardRef62 } from "react";
2698
- import { jsx as jsx64, jsxs as jsxs53 } from "react/jsx-runtime";
2699
- var NextTeaser = forwardRef62(function NextTeaser2({ label = "Next product", name, tagline, mark, prev = false, className, ...rest }, ref) {
2723
+ import { forwardRef as forwardRef64 } from "react";
2724
+ import { jsx as jsx66, jsxs as jsxs53 } from "react/jsx-runtime";
2725
+ var NextTeaser = forwardRef64(function NextTeaser2({ label = "Next product", name, tagline, mark, prev = false, className, ...rest }, ref) {
2700
2726
  return /* @__PURE__ */ jsxs53("a", { ref, className: cx("oc-next-teaser", prev && "oc-next-teaser--prev", className), ...rest, children: [
2701
- label != null && /* @__PURE__ */ jsx64("span", { className: "oc-next-teaser__label", children: label }),
2727
+ label != null && /* @__PURE__ */ jsx66("span", { className: "oc-next-teaser__label", children: label }),
2702
2728
  /* @__PURE__ */ jsxs53("span", { className: "oc-next-teaser__name", children: [
2703
2729
  mark,
2704
2730
  name
2705
2731
  ] }),
2706
- tagline != null && /* @__PURE__ */ jsx64("span", { className: "oc-next-teaser__tagline", children: tagline })
2732
+ tagline != null && /* @__PURE__ */ jsx66("span", { className: "oc-next-teaser__tagline", children: tagline })
2707
2733
  ] });
2708
2734
  });
2709
2735
 
2710
2736
  // src/components/NumberInput.tsx
2711
- import { forwardRef as forwardRef63 } from "react";
2712
- import { jsx as jsx65, jsxs as jsxs54 } from "react/jsx-runtime";
2737
+ import { forwardRef as forwardRef65 } from "react";
2738
+ import { jsx as jsx67, jsxs as jsxs54 } from "react/jsx-runtime";
2713
2739
  function clamp(n, min, max) {
2714
2740
  const rounded = Math.round(n * 1e6) / 1e6;
2715
2741
  return Math.min(max ?? Infinity, Math.max(min ?? -Infinity, rounded));
2716
2742
  }
2717
- var NumberInput = forwardRef63(function NumberInput2({ value, defaultValue, onChange, min, max, step = 1, size = "md", block, error, decrementLabel = "Decrease", incrementLabel = "Increase", className, disabled, ...rest }, ref) {
2743
+ var NumberInput = forwardRef65(function NumberInput2({ value, defaultValue, onChange, min, max, step = 1, size = "md", block, error, decrementLabel = "Decrease", incrementLabel = "Increase", className, disabled, ...rest }, ref) {
2718
2744
  const [current, setCurrent] = useControllable(value, defaultValue ?? null, onChange);
2719
2745
  const stepBy = (dir) => setCurrent(clamp((current ?? min ?? 0) + dir * step, min, max));
2720
2746
  return /* @__PURE__ */ jsxs54("div", { className: cx("oc-number-input", size === "sm" && "oc-number-input--sm", block && "oc-number-input--block", error && "oc-number-input--error", className), children: [
2721
- /* @__PURE__ */ jsx65("button", { className: "oc-number-input-step", type: "button", "aria-label": decrementLabel, disabled: disabled || min != null && current != null && current <= min, onClick: () => stepBy(-1), children: "\u2212" }),
2722
- /* @__PURE__ */ jsx65(
2747
+ /* @__PURE__ */ jsx67("button", { className: "oc-number-input-step", type: "button", "aria-label": decrementLabel, disabled: disabled || min != null && current != null && current <= min, onClick: () => stepBy(-1), children: "\u2212" }),
2748
+ /* @__PURE__ */ jsx67(
2723
2749
  "input",
2724
2750
  {
2725
2751
  ref,
@@ -2735,16 +2761,16 @@ var NumberInput = forwardRef63(function NumberInput2({ value, defaultValue, onCh
2735
2761
  ...rest
2736
2762
  }
2737
2763
  ),
2738
- /* @__PURE__ */ jsx65("button", { className: "oc-number-input-step", type: "button", "aria-label": incrementLabel, disabled: disabled || max != null && current != null && current >= max, onClick: () => stepBy(1), children: "+" })
2764
+ /* @__PURE__ */ jsx67("button", { className: "oc-number-input-step", type: "button", "aria-label": incrementLabel, disabled: disabled || max != null && current != null && current >= max, onClick: () => stepBy(1), children: "+" })
2739
2765
  ] });
2740
2766
  });
2741
2767
 
2742
2768
  // src/components/OtpInput.tsx
2743
- import { forwardRef as forwardRef64 } from "react";
2744
- import { jsx as jsx66 } from "react/jsx-runtime";
2745
- var OtpInput = forwardRef64(function OtpInput2({ length = 6, value, defaultValue = "", onChange, onComplete, invalid, alphanumeric, className, style, ...rest }, ref) {
2769
+ import { forwardRef as forwardRef66 } from "react";
2770
+ import { jsx as jsx68 } from "react/jsx-runtime";
2771
+ var OtpInput = forwardRef66(function OtpInput2({ length = 6, value, defaultValue = "", onChange, onComplete, invalid, alphanumeric, className, style, ...rest }, ref) {
2746
2772
  const [code, setCode] = useControllable(value, defaultValue, onChange);
2747
- return /* @__PURE__ */ jsx66(
2773
+ return /* @__PURE__ */ jsx68(
2748
2774
  "input",
2749
2775
  {
2750
2776
  ref,
@@ -2768,29 +2794,29 @@ var OtpInput = forwardRef64(function OtpInput2({ length = 6, value, defaultValue
2768
2794
  });
2769
2795
 
2770
2796
  // src/components/PageHeader.tsx
2771
- import { forwardRef as forwardRef65 } from "react";
2772
- import { jsx as jsx67, jsxs as jsxs55 } from "react/jsx-runtime";
2773
- var PageHeader = forwardRef65(function PageHeader2({ title, subtitle, meta, back, actions, level = 1, bordered, sticky, size, className, ...rest }, ref) {
2797
+ import { forwardRef as forwardRef67 } from "react";
2798
+ import { jsx as jsx69, jsxs as jsxs55 } from "react/jsx-runtime";
2799
+ var PageHeader = forwardRef67(function PageHeader2({ title, subtitle, meta, back, actions, level = 1, bordered, sticky, size, className, ...rest }, ref) {
2774
2800
  const Heading3 = `h${level}`;
2775
2801
  const cls = cx("oc-page-header", bordered && "oc-page-header--bordered", sticky && "oc-page-header--sticky", size && `oc-page-header--${size}`, className);
2776
2802
  return /* @__PURE__ */ jsxs55("header", { ref, className: cls, ...rest, children: [
2777
- back != null && /* @__PURE__ */ jsx67("div", { className: "oc-page-header-back", children: back }),
2803
+ back != null && /* @__PURE__ */ jsx69("div", { className: "oc-page-header-back", children: back }),
2778
2804
  /* @__PURE__ */ jsxs55("div", { className: "oc-page-header-main", children: [
2779
2805
  /* @__PURE__ */ jsxs55("div", { className: "oc-page-header-text", children: [
2780
- /* @__PURE__ */ jsx67(Heading3, { className: "oc-page-header-title", children: title }),
2781
- subtitle != null && /* @__PURE__ */ jsx67("p", { className: "oc-page-header-subtitle", children: subtitle }),
2782
- meta != null && /* @__PURE__ */ jsx67("div", { className: "oc-page-header-meta", children: meta })
2806
+ /* @__PURE__ */ jsx69(Heading3, { className: "oc-page-header-title", children: title }),
2807
+ subtitle != null && /* @__PURE__ */ jsx69("p", { className: "oc-page-header-subtitle", children: subtitle }),
2808
+ meta != null && /* @__PURE__ */ jsx69("div", { className: "oc-page-header-meta", children: meta })
2783
2809
  ] }),
2784
- actions != null && /* @__PURE__ */ jsx67("div", { className: "oc-page-header-actions", children: actions })
2810
+ actions != null && /* @__PURE__ */ jsx69("div", { className: "oc-page-header-actions", children: actions })
2785
2811
  ] })
2786
2812
  ] });
2787
2813
  });
2788
2814
 
2789
2815
  // src/components/Pagination.tsx
2790
- import { forwardRef as forwardRef66 } from "react";
2791
- import { jsx as jsx68 } from "react/jsx-runtime";
2792
- var Pagination = forwardRef66(function Pagination2({ page, pageCount, onPageChange, hrefFor = (n) => `?page=${n}`, className, "aria-label": ariaLabel = "Pagination", ...rest }, ref) {
2793
- return /* @__PURE__ */ jsx68("nav", { ref, className: cx("oc-pagination", className), "aria-label": ariaLabel, ...rest, children: Array.from({ length: pageCount }, (_, i) => i + 1).map((n) => /* @__PURE__ */ jsx68(
2816
+ import { forwardRef as forwardRef68 } from "react";
2817
+ import { jsx as jsx70 } from "react/jsx-runtime";
2818
+ var Pagination = forwardRef68(function Pagination2({ page, pageCount, onPageChange, hrefFor = (n) => `?page=${n}`, className, "aria-label": ariaLabel = "Pagination", ...rest }, ref) {
2819
+ return /* @__PURE__ */ jsx70("nav", { ref, className: cx("oc-pagination", className), "aria-label": ariaLabel, ...rest, children: Array.from({ length: pageCount }, (_, i) => i + 1).map((n) => /* @__PURE__ */ jsx70(
2794
2820
  "a",
2795
2821
  {
2796
2822
  className: "oc-pagination-item",
@@ -2807,12 +2833,12 @@ var Pagination = forwardRef66(function Pagination2({ page, pageCount, onPageChan
2807
2833
  });
2808
2834
 
2809
2835
  // src/components/PasswordInput.tsx
2810
- import { forwardRef as forwardRef67, useState as useState10 } from "react";
2811
- import { jsx as jsx69, jsxs as jsxs56 } from "react/jsx-runtime";
2812
- var PasswordInput = forwardRef67(function PasswordInput2({ showLabel = "Show", hideLabel = "Hide", toggleLabel = "Toggle password visibility", error, className, ...rest }, ref) {
2836
+ import { forwardRef as forwardRef69, useState as useState10 } from "react";
2837
+ import { jsx as jsx71, jsxs as jsxs56 } from "react/jsx-runtime";
2838
+ var PasswordInput = forwardRef69(function PasswordInput2({ showLabel = "Show", hideLabel = "Hide", toggleLabel = "Toggle password visibility", error, className, ...rest }, ref) {
2813
2839
  const [shown, setShown] = useState10(false);
2814
2840
  return /* @__PURE__ */ jsxs56("div", { className: "oc-input-reveal", children: [
2815
- /* @__PURE__ */ jsx69(
2841
+ /* @__PURE__ */ jsx71(
2816
2842
  "input",
2817
2843
  {
2818
2844
  ref,
@@ -2823,27 +2849,27 @@ var PasswordInput = forwardRef67(function PasswordInput2({ showLabel = "Show", h
2823
2849
  ...rest
2824
2850
  }
2825
2851
  ),
2826
- /* @__PURE__ */ jsx69("button", { className: "oc-input-reveal-button", type: "button", "aria-pressed": shown, "aria-label": toggleLabel, onClick: () => setShown((s) => !s), children: shown ? hideLabel : showLabel })
2852
+ /* @__PURE__ */ jsx71("button", { className: "oc-input-reveal-button", type: "button", "aria-pressed": shown, "aria-label": toggleLabel, onClick: () => setShown((s) => !s), children: shown ? hideLabel : showLabel })
2827
2853
  ] });
2828
2854
  });
2829
2855
 
2830
2856
  // src/components/PasswordRequirements.tsx
2831
- import { forwardRef as forwardRef68 } from "react";
2832
- import { jsx as jsx70 } from "react/jsx-runtime";
2857
+ import { forwardRef as forwardRef70 } from "react";
2858
+ import { jsx as jsx72 } from "react/jsx-runtime";
2833
2859
  var defaultPasswordRules = [
2834
2860
  { label: "At least 8 characters", test: (p) => p.length >= 8 },
2835
2861
  { label: "One uppercase letter", test: (p) => /[A-Z]/.test(p) },
2836
2862
  { label: "One number", test: (p) => /[0-9]/.test(p) },
2837
2863
  { label: "One symbol", test: (p) => /[^A-Za-z0-9]/.test(p) }
2838
2864
  ];
2839
- var PasswordRequirements = forwardRef68(function PasswordRequirements2({ password, rules = defaultPasswordRules, inline, hideWhenEmpty, className, ...rest }, ref) {
2865
+ var PasswordRequirements = forwardRef70(function PasswordRequirements2({ password, rules = defaultPasswordRules, inline, hideWhenEmpty, className, ...rest }, ref) {
2840
2866
  if (hideWhenEmpty && !password) return null;
2841
- return /* @__PURE__ */ jsx70("ul", { ref, className: cx("oc-password-requirements", inline && "oc-password-requirements--inline", className), "aria-live": "polite", ...rest, children: rules.map((rule, i) => /* @__PURE__ */ jsx70("li", { className: cx("oc-password-requirement", rule.test(password) && "oc-password-requirement--met"), children: rule.label }, i)) });
2867
+ return /* @__PURE__ */ jsx72("ul", { ref, className: cx("oc-password-requirements", inline && "oc-password-requirements--inline", className), "aria-live": "polite", ...rest, children: rules.map((rule, i) => /* @__PURE__ */ jsx72("li", { className: cx("oc-password-requirement", rule.test(password) && "oc-password-requirement--met"), children: rule.label }, i)) });
2842
2868
  });
2843
2869
 
2844
2870
  // src/components/PhoneInput.tsx
2845
- import { forwardRef as forwardRef69, useState as useState11 } from "react";
2846
- import { jsx as jsx71, jsxs as jsxs57 } from "react/jsx-runtime";
2871
+ import { forwardRef as forwardRef71, useState as useState11 } from "react";
2872
+ import { jsx as jsx73, jsxs as jsxs57 } from "react/jsx-runtime";
2847
2873
  var DEFAULT_COUNTRIES = [
2848
2874
  { dial: "+32", label: "BE +32" },
2849
2875
  { dial: "+31", label: "NL +31" },
@@ -2860,7 +2886,7 @@ function splitPhone(full, countries) {
2860
2886
  const match = [...countries].sort((a, b) => b.dial.length - a.dial.length).find((c) => full.startsWith(c.dial));
2861
2887
  return match ? { dial: match.dial, national: full.slice(match.dial.length) } : { dial: "", national: full.replace(/^\+/, "") };
2862
2888
  }
2863
- var PhoneInput = forwardRef69(function PhoneInput2({ value, defaultValue, onChange, countries = DEFAULT_COUNTRIES, defaultDial, size = "md", error, dialLabel = "Country code", className, disabled, ...rest }, ref) {
2889
+ var PhoneInput = forwardRef71(function PhoneInput2({ value, defaultValue, onChange, countries = DEFAULT_COUNTRIES, defaultDial, size = "md", error, dialLabel = "Country code", className, disabled, ...rest }, ref) {
2864
2890
  const [full, setFull] = useControllable(value, defaultValue ?? "", onChange);
2865
2891
  const parsed = splitPhone(full, countries);
2866
2892
  const [dialState, setDialState] = useState11(parsed.dial || defaultDial || countries[0]?.dial || "");
@@ -2871,8 +2897,8 @@ var PhoneInput = forwardRef69(function PhoneInput2({ value, defaultValue, onChan
2871
2897
  setFull(digits ? nextDial + digits : "");
2872
2898
  };
2873
2899
  return /* @__PURE__ */ jsxs57("div", { className: cx("oc-phone-input", size === "sm" && "oc-phone-input--sm", error && "oc-phone-input--error", className), children: [
2874
- /* @__PURE__ */ jsx71("select", { className: "oc-phone-input-dial", "aria-label": dialLabel, value: dial, disabled, onChange: (e) => emit(e.target.value, parsed.national), children: countries.map((c) => /* @__PURE__ */ jsx71("option", { value: c.dial, children: c.label }, c.dial)) }),
2875
- /* @__PURE__ */ jsx71(
2900
+ /* @__PURE__ */ jsx73("select", { className: "oc-phone-input-dial", "aria-label": dialLabel, value: dial, disabled, onChange: (e) => emit(e.target.value, parsed.national), children: countries.map((c) => /* @__PURE__ */ jsx73("option", { value: c.dial, children: c.label }, c.dial)) }),
2901
+ /* @__PURE__ */ jsx73(
2876
2902
  "input",
2877
2903
  {
2878
2904
  ref,
@@ -2891,33 +2917,33 @@ var PhoneInput = forwardRef69(function PhoneInput2({ value, defaultValue, onChan
2891
2917
  });
2892
2918
 
2893
2919
  // src/components/Popover.tsx
2894
- import { forwardRef as forwardRef70, useId as useId25 } from "react";
2895
- import { Fragment as Fragment16, jsx as jsx72, jsxs as jsxs58 } from "react/jsx-runtime";
2896
- var Popover = forwardRef70(function Popover2({ trigger, triggerProps, size = "md", title, text, className, id, children, ...rest }, ref) {
2920
+ import { forwardRef as forwardRef72, useId as useId25 } from "react";
2921
+ import { Fragment as Fragment16, jsx as jsx74, jsxs as jsxs58 } from "react/jsx-runtime";
2922
+ var Popover = forwardRef72(function Popover2({ trigger, triggerProps, size = "md", title, text, className, id, children, ...rest }, ref) {
2897
2923
  const auto = useId25();
2898
2924
  const panelId = id ?? `oc-popover-${auto.replace(/:/g, "")}`;
2899
2925
  return /* @__PURE__ */ jsxs58(Fragment16, { children: [
2900
- /* @__PURE__ */ jsx72(Button, { variant: "outline", type: "button", ...triggerProps, popoverTarget: panelId, children: trigger }),
2926
+ /* @__PURE__ */ jsx74(Button, { variant: "outline", type: "button", ...triggerProps, popoverTarget: panelId, children: trigger }),
2901
2927
  /* @__PURE__ */ jsxs58("div", { ref, className: cx("oc-popover", size !== "md" && `oc-popover--${size}`, className), id: panelId, ...attrs({ popover: "" }), ...rest, children: [
2902
- title != null && /* @__PURE__ */ jsx72("h3", { className: "oc-popover-title", children: title }),
2903
- text != null && /* @__PURE__ */ jsx72("p", { className: "oc-popover-text", children: text }),
2928
+ title != null && /* @__PURE__ */ jsx74("h3", { className: "oc-popover-title", children: title }),
2929
+ text != null && /* @__PURE__ */ jsx74("p", { className: "oc-popover-text", children: text }),
2904
2930
  children
2905
2931
  ] })
2906
2932
  ] });
2907
2933
  });
2908
2934
 
2909
2935
  // src/components/PriceCard.tsx
2910
- import { forwardRef as forwardRef71, useId as useId26 } from "react";
2911
- import { jsx as jsx73, jsxs as jsxs59 } from "react/jsx-runtime";
2936
+ import { forwardRef as forwardRef73, useId as useId26 } from "react";
2937
+ import { jsx as jsx75, jsxs as jsxs59 } from "react/jsx-runtime";
2912
2938
  function Price({ kind, price }) {
2913
2939
  return /* @__PURE__ */ jsxs59("p", { className: `oc-price-card__price oc-price-card__price--${kind}`, children: [
2914
- /* @__PURE__ */ jsx73("span", { className: "oc-price-card__amount", children: price.amount }),
2915
- price.period != null && /* @__PURE__ */ jsx73("span", { className: "oc-price-card__period", children: price.period }),
2916
- price.was != null && /* @__PURE__ */ jsx73("s", { className: "oc-price-card__was", children: price.was }),
2917
- price.note != null && /* @__PURE__ */ jsx73("span", { className: "oc-price-card__note", children: price.note })
2940
+ /* @__PURE__ */ jsx75("span", { className: "oc-price-card__amount", children: price.amount }),
2941
+ price.period != null && /* @__PURE__ */ jsx75("span", { className: "oc-price-card__period", children: price.period }),
2942
+ price.was != null && /* @__PURE__ */ jsx75("s", { className: "oc-price-card__was", children: price.was }),
2943
+ price.note != null && /* @__PURE__ */ jsx75("span", { className: "oc-price-card__note", children: price.note })
2918
2944
  ] });
2919
2945
  }
2920
- var PriceCard = forwardRef71(function PriceCard2({
2946
+ var PriceCard = forwardRef73(function PriceCard2({
2921
2947
  name,
2922
2948
  description,
2923
2949
  discount,
@@ -2935,33 +2961,33 @@ var PriceCard = forwardRef71(function PriceCard2({
2935
2961
  const group = `oc-price-${useId26().replace(/[^\w-]/g, "")}`;
2936
2962
  return /* @__PURE__ */ jsxs59("article", { ref, className: cx("oc-price-card", featured && "oc-price-card--featured", className), ...rest, children: [
2937
2963
  /* @__PURE__ */ jsxs59("div", { className: "oc-price-card__head", children: [
2938
- /* @__PURE__ */ jsx73("h3", { className: "oc-price-card__name", children: name }),
2939
- discount != null && /* @__PURE__ */ jsx73("span", { className: "oc-price-card__discount", children: discount })
2964
+ /* @__PURE__ */ jsx75("h3", { className: "oc-price-card__name", children: name }),
2965
+ discount != null && /* @__PURE__ */ jsx75("span", { className: "oc-price-card__discount", children: discount })
2940
2966
  ] }),
2941
- description != null && /* @__PURE__ */ jsx73("p", { className: "oc-price-card__desc", children: description }),
2967
+ description != null && /* @__PURE__ */ jsx75("p", { className: "oc-price-card__desc", children: description }),
2942
2968
  yearly && /* @__PURE__ */ jsxs59("div", { className: "oc-segmented oc-price-card__toggle", role: "radiogroup", "aria-label": "Billing period", children: [
2943
2969
  /* @__PURE__ */ jsxs59("label", { className: "oc-segmented-item", children: [
2944
- /* @__PURE__ */ jsx73("input", { type: "radio", name: group, value: "monthly", defaultChecked: defaultPeriod === "monthly" }),
2970
+ /* @__PURE__ */ jsx75("input", { type: "radio", name: group, value: "monthly", defaultChecked: defaultPeriod === "monthly" }),
2945
2971
  " ",
2946
2972
  monthlyLabel
2947
2973
  ] }),
2948
2974
  /* @__PURE__ */ jsxs59("label", { className: "oc-segmented-item", children: [
2949
- /* @__PURE__ */ jsx73("input", { type: "radio", name: group, value: "yearly", defaultChecked: defaultPeriod === "yearly" }),
2975
+ /* @__PURE__ */ jsx75("input", { type: "radio", name: group, value: "yearly", defaultChecked: defaultPeriod === "yearly" }),
2950
2976
  " ",
2951
2977
  yearlyLabel
2952
2978
  ] })
2953
2979
  ] }),
2954
- /* @__PURE__ */ jsx73(Price, { kind: "monthly", price: monthly }),
2955
- yearly && /* @__PURE__ */ jsx73(Price, { kind: "yearly", price: yearly }),
2956
- features.length > 0 && /* @__PURE__ */ jsx73("ul", { className: "oc-price-card__features", children: features.map((f, i) => /* @__PURE__ */ jsx73("li", { className: cx("oc-price-card__feature", f.excluded && "oc-price-card__feature--excluded"), children: f.label }, i)) }),
2980
+ /* @__PURE__ */ jsx75(Price, { kind: "monthly", price: monthly }),
2981
+ yearly && /* @__PURE__ */ jsx75(Price, { kind: "yearly", price: yearly }),
2982
+ features.length > 0 && /* @__PURE__ */ jsx75("ul", { className: "oc-price-card__features", children: features.map((f, i) => /* @__PURE__ */ jsx75("li", { className: cx("oc-price-card__feature", f.excluded && "oc-price-card__feature--excluded"), children: f.label }, i)) }),
2957
2983
  cta
2958
2984
  ] });
2959
2985
  });
2960
2986
 
2961
2987
  // src/components/ProductMark.tsx
2962
- import { forwardRef as forwardRef72 } from "react";
2963
- import { jsx as jsx74 } from "react/jsx-runtime";
2964
- var ProductMark = forwardRef72(function ProductMark2({ size = "default", accent, soft = false, glow = false, cover = false, className, ...rest }, ref) {
2988
+ import { forwardRef as forwardRef74 } from "react";
2989
+ import { jsx as jsx76 } from "react/jsx-runtime";
2990
+ var ProductMark = forwardRef74(function ProductMark2({ size = "default", accent, soft = false, glow = false, cover = false, className, ...rest }, ref) {
2965
2991
  const classes = cx(
2966
2992
  "oc-product-mark",
2967
2993
  size !== "default" && `oc-product-mark--${size}`,
@@ -2971,132 +2997,132 @@ var ProductMark = forwardRef72(function ProductMark2({ size = "default", accent,
2971
2997
  accent && `oc-accent--${accent}`,
2972
2998
  className
2973
2999
  );
2974
- return /* @__PURE__ */ jsx74("span", { ref, className: classes, "aria-hidden": "true", ...rest });
3000
+ return /* @__PURE__ */ jsx76("span", { ref, className: classes, "aria-hidden": "true", ...rest });
2975
3001
  });
2976
3002
 
2977
3003
  // src/components/ProjectCard.tsx
2978
- import { forwardRef as forwardRef73 } from "react";
2979
- import { jsx as jsx75, jsxs as jsxs60 } from "react/jsx-runtime";
2980
- var ProjectCard = forwardRef73(function ProjectCard2({ name, type, meta, more = "View project", image, imageAlt = "", flat = false, className, ...rest }, ref) {
3004
+ import { forwardRef as forwardRef75 } from "react";
3005
+ import { jsx as jsx77, jsxs as jsxs60 } from "react/jsx-runtime";
3006
+ var ProjectCard = forwardRef75(function ProjectCard2({ name, type, meta, more = "View project", image, imageAlt = "", flat = false, className, ...rest }, ref) {
2981
3007
  return /* @__PURE__ */ jsxs60("a", { ref, className: cx("oc-project-card", flat && "oc-project-card--flat", className), ...rest, children: [
2982
3008
  /* @__PURE__ */ jsxs60("span", { className: "oc-project-card__frame", children: [
2983
3009
  /* @__PURE__ */ jsxs60("span", { className: "oc-project-card__bar", "aria-hidden": "true", children: [
2984
- /* @__PURE__ */ jsx75("i", {}),
2985
- /* @__PURE__ */ jsx75("i", {}),
2986
- /* @__PURE__ */ jsx75("i", {})
3010
+ /* @__PURE__ */ jsx77("i", {}),
3011
+ /* @__PURE__ */ jsx77("i", {}),
3012
+ /* @__PURE__ */ jsx77("i", {})
2987
3013
  ] }),
2988
- image ? /* @__PURE__ */ jsx75("img", { className: "oc-project-card__shot", src: image, alt: imageAlt, loading: "lazy" }) : /* @__PURE__ */ jsx75("span", { className: "oc-project-card__shot", role: "img", "aria-label": imageAlt || void 0, "aria-hidden": imageAlt ? void 0 : true })
3014
+ image ? /* @__PURE__ */ jsx77("img", { className: "oc-project-card__shot", src: image, alt: imageAlt, loading: "lazy" }) : /* @__PURE__ */ jsx77("span", { className: "oc-project-card__shot", role: "img", "aria-label": imageAlt || void 0, "aria-hidden": imageAlt ? void 0 : true })
2989
3015
  ] }),
2990
3016
  /* @__PURE__ */ jsxs60("span", { className: "oc-project-card__body", children: [
2991
- type != null && /* @__PURE__ */ jsx75("span", { className: "oc-project-card__type", children: type }),
2992
- /* @__PURE__ */ jsx75("span", { className: "oc-project-card__name", children: name }),
2993
- meta != null && /* @__PURE__ */ jsx75("span", { className: "oc-project-card__meta", children: meta }),
2994
- more != null && /* @__PURE__ */ jsx75("span", { className: "oc-project-card__more", children: more })
3017
+ type != null && /* @__PURE__ */ jsx77("span", { className: "oc-project-card__type", children: type }),
3018
+ /* @__PURE__ */ jsx77("span", { className: "oc-project-card__name", children: name }),
3019
+ meta != null && /* @__PURE__ */ jsx77("span", { className: "oc-project-card__meta", children: meta }),
3020
+ more != null && /* @__PURE__ */ jsx77("span", { className: "oc-project-card__more", children: more })
2995
3021
  ] })
2996
3022
  ] });
2997
3023
  });
2998
3024
 
2999
3025
  // src/components/Prose.tsx
3000
- import { forwardRef as forwardRef74 } from "react";
3001
- import { Fragment as Fragment17, jsx as jsx76, jsxs as jsxs61 } from "react/jsx-runtime";
3026
+ import { forwardRef as forwardRef76 } from "react";
3027
+ import { Fragment as Fragment17, jsx as jsx78, jsxs as jsxs61 } from "react/jsx-runtime";
3002
3028
  function ProseLead({ className, ...rest }) {
3003
- return /* @__PURE__ */ jsx76("p", { className: cx("oc-prose-lead", className), ...rest });
3029
+ return /* @__PURE__ */ jsx78("p", { className: cx("oc-prose-lead", className), ...rest });
3004
3030
  }
3005
3031
  var DEMO7 = /* @__PURE__ */ jsxs61(Fragment17, { children: [
3006
- /* @__PURE__ */ jsx76("h1", { children: "Planning a kitchen renovation" }),
3007
- /* @__PURE__ */ jsx76(ProseLead, { children: "A new kitchen takes eight to twelve weeks from the first visit to the last cabinet handle. This guide explains every step, so you know what to expect and when we need you." }),
3008
- /* @__PURE__ */ jsx76("h2", { children: "Before the first visit" }),
3032
+ /* @__PURE__ */ jsx78("h1", { children: "Planning a kitchen renovation" }),
3033
+ /* @__PURE__ */ jsx78(ProseLead, { children: "A new kitchen takes eight to twelve weeks from the first visit to the last cabinet handle. This guide explains every step, so you know what to expect and when we need you." }),
3034
+ /* @__PURE__ */ jsx78("h2", { children: "Before the first visit" }),
3009
3035
  /* @__PURE__ */ jsxs61("p", { children: [
3010
3036
  "Collect a few photos of kitchens you like and measure the room roughly. Exact measurements are not needed yet: our site manager does that during the visit. Read the ",
3011
- /* @__PURE__ */ jsx76("a", { href: "#checklist", children: "preparation checklist" }),
3037
+ /* @__PURE__ */ jsx78("a", { href: "#checklist", children: "preparation checklist" }),
3012
3038
  " if you want to be fully ready."
3013
3039
  ] }),
3014
3040
  /* @__PURE__ */ jsxs61("ul", { children: [
3015
3041
  /* @__PURE__ */ jsxs61("li", { children: [
3016
3042
  "The ",
3017
- /* @__PURE__ */ jsx76("strong", { children: "budget range" }),
3043
+ /* @__PURE__ */ jsx78("strong", { children: "budget range" }),
3018
3044
  " you have in mind, including appliances"
3019
3045
  ] }),
3020
3046
  /* @__PURE__ */ jsxs61("li", { children: [
3021
3047
  "Which walls, doors and windows can move, and which cannot",
3022
3048
  /* @__PURE__ */ jsxs61("ul", { children: [
3023
- /* @__PURE__ */ jsx76("li", { children: "Load-bearing walls need a structural engineer" }),
3024
- /* @__PURE__ */ jsx76("li", { children: "Moving a window needs a permit in most towns" })
3049
+ /* @__PURE__ */ jsx78("li", { children: "Load-bearing walls need a structural engineer" }),
3050
+ /* @__PURE__ */ jsx78("li", { children: "Moving a window needs a permit in most towns" })
3025
3051
  ] })
3026
3052
  ] }),
3027
- /* @__PURE__ */ jsx76("li", { children: "Appliances you want to keep" })
3053
+ /* @__PURE__ */ jsx78("li", { children: "Appliances you want to keep" })
3028
3054
  ] }),
3029
3055
  /* @__PURE__ */ jsxs61("figure", { children: [
3030
- /* @__PURE__ */ jsx76("div", { className: "oc-media-art oc-media-art--6", role: "img", "aria-label": "Kitchen with oak fronts and a light stone worktop" }),
3031
- /* @__PURE__ */ jsx76("figcaption", { children: "Villa Dewitte: oak fronts with a Calacatta matt worktop, finished in October 2026." })
3056
+ /* @__PURE__ */ jsx78("div", { className: "oc-media-art oc-media-art--6", role: "img", "aria-label": "Kitchen with oak fronts and a light stone worktop" }),
3057
+ /* @__PURE__ */ jsx78("figcaption", { children: "Villa Dewitte: oak fronts with a Calacatta matt worktop, finished in October 2026." })
3032
3058
  ] }),
3033
- /* @__PURE__ */ jsx76("h3", { children: "From design to installation" }),
3059
+ /* @__PURE__ */ jsx78("h3", { children: "From design to installation" }),
3034
3060
  /* @__PURE__ */ jsxs61("ol", { children: [
3035
- /* @__PURE__ */ jsx76("li", { children: "Site visit and measurements (week 1)" }),
3036
- /* @__PURE__ */ jsx76("li", { children: "Design and quote, with two revision rounds (weeks 2\u20133)" }),
3037
- /* @__PURE__ */ jsx76("li", { children: "Order and production of the cabinets (weeks 4\u20139)" }),
3038
- /* @__PURE__ */ jsx76("li", { children: "Installation, worktop and finishing (weeks 10\u201311)" })
3061
+ /* @__PURE__ */ jsx78("li", { children: "Site visit and measurements (week 1)" }),
3062
+ /* @__PURE__ */ jsx78("li", { children: "Design and quote, with two revision rounds (weeks 2\u20133)" }),
3063
+ /* @__PURE__ */ jsx78("li", { children: "Order and production of the cabinets (weeks 4\u20139)" }),
3064
+ /* @__PURE__ */ jsx78("li", { children: "Installation, worktop and finishing (weeks 10\u201311)" })
3039
3065
  ] }),
3040
3066
  /* @__PURE__ */ jsxs61("blockquote", { children: [
3041
- /* @__PURE__ */ jsx76("p", { children: "The planning was clear from day one. We always knew who was coming and when, and the kitchen was ready a week early." }),
3042
- /* @__PURE__ */ jsx76("footer", { children: "\u2014 Ann Dewitte, client in Ghent" })
3067
+ /* @__PURE__ */ jsx78("p", { children: "The planning was clear from day one. We always knew who was coming and when, and the kitchen was ready a week early." }),
3068
+ /* @__PURE__ */ jsx78("footer", { children: "\u2014 Ann Dewitte, client in Ghent" })
3043
3069
  ] }),
3044
- /* @__PURE__ */ jsx76("h2", { children: "Worktop materials compared" }),
3070
+ /* @__PURE__ */ jsx78("h2", { children: "Worktop materials compared" }),
3045
3071
  /* @__PURE__ */ jsxs61("table", { children: [
3046
- /* @__PURE__ */ jsx76("caption", { children: "Prices per running metre, 60 cm deep, installed." }),
3047
- /* @__PURE__ */ jsx76("thead", { children: /* @__PURE__ */ jsxs61("tr", { children: [
3048
- /* @__PURE__ */ jsx76("th", { children: "Material" }),
3049
- /* @__PURE__ */ jsx76("th", { children: "Thickness" }),
3050
- /* @__PURE__ */ jsx76("th", { children: "Heat resistant" }),
3051
- /* @__PURE__ */ jsx76("th", { children: "Price" })
3072
+ /* @__PURE__ */ jsx78("caption", { children: "Prices per running metre, 60 cm deep, installed." }),
3073
+ /* @__PURE__ */ jsx78("thead", { children: /* @__PURE__ */ jsxs61("tr", { children: [
3074
+ /* @__PURE__ */ jsx78("th", { children: "Material" }),
3075
+ /* @__PURE__ */ jsx78("th", { children: "Thickness" }),
3076
+ /* @__PURE__ */ jsx78("th", { children: "Heat resistant" }),
3077
+ /* @__PURE__ */ jsx78("th", { children: "Price" })
3052
3078
  ] }) }),
3053
3079
  /* @__PURE__ */ jsxs61("tbody", { children: [
3054
3080
  /* @__PURE__ */ jsxs61("tr", { children: [
3055
- /* @__PURE__ */ jsx76("td", { children: "Compact laminate" }),
3056
- /* @__PURE__ */ jsx76("td", { children: "12 mm" }),
3057
- /* @__PURE__ */ jsx76("td", { children: "Up to 180 \xB0C" }),
3058
- /* @__PURE__ */ jsx76("td", { children: "\u20AC 290" })
3081
+ /* @__PURE__ */ jsx78("td", { children: "Compact laminate" }),
3082
+ /* @__PURE__ */ jsx78("td", { children: "12 mm" }),
3083
+ /* @__PURE__ */ jsx78("td", { children: "Up to 180 \xB0C" }),
3084
+ /* @__PURE__ */ jsx78("td", { children: "\u20AC 290" })
3059
3085
  ] }),
3060
3086
  /* @__PURE__ */ jsxs61("tr", { children: [
3061
- /* @__PURE__ */ jsx76("td", { children: "Quartz composite" }),
3062
- /* @__PURE__ */ jsx76("td", { children: "20 mm" }),
3063
- /* @__PURE__ */ jsx76("td", { children: "Up to 150 \xB0C" }),
3064
- /* @__PURE__ */ jsx76("td", { children: "\u20AC 540" })
3087
+ /* @__PURE__ */ jsx78("td", { children: "Quartz composite" }),
3088
+ /* @__PURE__ */ jsx78("td", { children: "20 mm" }),
3089
+ /* @__PURE__ */ jsx78("td", { children: "Up to 150 \xB0C" }),
3090
+ /* @__PURE__ */ jsx78("td", { children: "\u20AC 540" })
3065
3091
  ] }),
3066
3092
  /* @__PURE__ */ jsxs61("tr", { children: [
3067
- /* @__PURE__ */ jsx76("td", { children: "Natural stone" }),
3068
- /* @__PURE__ */ jsx76("td", { children: "20 mm" }),
3069
- /* @__PURE__ */ jsx76("td", { children: "Yes" }),
3070
- /* @__PURE__ */ jsx76("td", { children: "\u20AC 720" })
3093
+ /* @__PURE__ */ jsx78("td", { children: "Natural stone" }),
3094
+ /* @__PURE__ */ jsx78("td", { children: "20 mm" }),
3095
+ /* @__PURE__ */ jsx78("td", { children: "Yes" }),
3096
+ /* @__PURE__ */ jsx78("td", { children: "\u20AC 720" })
3071
3097
  ] })
3072
3098
  ] })
3073
3099
  ] }),
3074
- /* @__PURE__ */ jsx76("h3", { children: "Sharing your floor plan" }),
3100
+ /* @__PURE__ */ jsx78("h3", { children: "Sharing your floor plan" }),
3075
3101
  /* @__PURE__ */ jsxs61("p", { children: [
3076
3102
  "Upload a PDF or a photo in the client portal, or send it by e-mail. Press ",
3077
- /* @__PURE__ */ jsx76("kbd", { children: "Ctrl" }),
3103
+ /* @__PURE__ */ jsx78("kbd", { children: "Ctrl" }),
3078
3104
  " + ",
3079
- /* @__PURE__ */ jsx76("kbd", { children: "V" }),
3105
+ /* @__PURE__ */ jsx78("kbd", { children: "V" }),
3080
3106
  " in the chat to paste a screenshot. Files are stored as ",
3081
- /* @__PURE__ */ jsx76("code", { children: "project-id/plans/" }),
3107
+ /* @__PURE__ */ jsx78("code", { children: "project-id/plans/" }),
3082
3108
  " and only your project team can see them."
3083
3109
  ] }),
3084
- /* @__PURE__ */ jsx76("pre", { children: /* @__PURE__ */ jsx76("code", { children: "Project: 2026-114 Villa Dewitte\nRoom: Kitchen, ground floor\nWall A: 412 cm (window at 160 cm)\nWall B: 298 cm (door at the left)" }) }),
3085
- /* @__PURE__ */ jsx76("hr", {}),
3086
- /* @__PURE__ */ jsx76("p", { children: /* @__PURE__ */ jsxs61("small", { children: [
3110
+ /* @__PURE__ */ jsx78("pre", { children: /* @__PURE__ */ jsx78("code", { children: "Project: 2026-114 Villa Dewitte\nRoom: Kitchen, ground floor\nWall A: 412 cm (window at 160 cm)\nWall B: 298 cm (door at the left)" }) }),
3111
+ /* @__PURE__ */ jsx78("hr", {}),
3112
+ /* @__PURE__ */ jsx78("p", { children: /* @__PURE__ */ jsxs61("small", { children: [
3087
3113
  "Lead times are an estimate. ",
3088
- /* @__PURE__ */ jsx76("mark", { children: "Natural stone" }),
3114
+ /* @__PURE__ */ jsx78("mark", { children: "Natural stone" }),
3089
3115
  " can take two weeks longer in summer."
3090
3116
  ] }) })
3091
3117
  ] });
3092
- var Prose = forwardRef74(function Prose2({ size = "md", full, as: Tag = "article", className, children, ...rest }, ref) {
3093
- return /* @__PURE__ */ jsx76(Tag, { ref, className: cx("oc-prose", size !== "md" && `oc-prose--${size}`, full && "oc-prose--full", className), ...rest, children: children ?? DEMO7 });
3118
+ var Prose = forwardRef76(function Prose2({ size = "md", full, as: Tag = "article", className, children, ...rest }, ref) {
3119
+ return /* @__PURE__ */ jsx78(Tag, { ref, className: cx("oc-prose", size !== "md" && `oc-prose--${size}`, full && "oc-prose--full", className), ...rest, children: children ?? DEMO7 });
3094
3120
  });
3095
3121
 
3096
3122
  // src/components/RecoveryCodes.tsx
3097
- import { forwardRef as forwardRef75 } from "react";
3098
- import { jsx as jsx77, jsxs as jsxs62 } from "react/jsx-runtime";
3099
- var RecoveryCodes = forwardRef75(function RecoveryCodes2({
3123
+ import { forwardRef as forwardRef77 } from "react";
3124
+ import { jsx as jsx79, jsxs as jsxs62 } from "react/jsx-runtime";
3125
+ var RecoveryCodes = forwardRef77(function RecoveryCodes2({
3100
3126
  codes,
3101
3127
  title = "Recovery codes",
3102
3128
  warning = "Store these codes somewhere safe. Each code works once.",
@@ -3125,24 +3151,24 @@ var RecoveryCodes = forwardRef75(function RecoveryCodes2({
3125
3151
  onDownload?.(codes);
3126
3152
  };
3127
3153
  return /* @__PURE__ */ jsxs62("div", { ref, className: cx("oc-recovery-codes", className), ...rest, children: [
3128
- /* @__PURE__ */ jsx77("h3", { className: "oc-recovery-codes-title", children: title }),
3129
- /* @__PURE__ */ jsx77("p", { className: "oc-recovery-codes-warning", children: warning }),
3130
- /* @__PURE__ */ jsx77("ul", { className: "oc-recovery-codes-list", children: codes.map((code) => /* @__PURE__ */ jsx77("li", { children: code }, code)) }),
3154
+ /* @__PURE__ */ jsx79("h3", { className: "oc-recovery-codes-title", children: title }),
3155
+ /* @__PURE__ */ jsx79("p", { className: "oc-recovery-codes-warning", children: warning }),
3156
+ /* @__PURE__ */ jsx79("ul", { className: "oc-recovery-codes-list", children: codes.map((code) => /* @__PURE__ */ jsx79("li", { children: code }, code)) }),
3131
3157
  /* @__PURE__ */ jsxs62("div", { className: "oc-recovery-codes-actions", children: [
3132
- /* @__PURE__ */ jsx77("button", { className: "oc-btn oc-btn--outline oc-btn--sm", type: "button", onClick: copy, children: copyLabel }),
3133
- /* @__PURE__ */ jsx77("button", { className: "oc-btn oc-btn--outline oc-btn--sm", type: "button", onClick: download2, children: downloadLabel })
3158
+ /* @__PURE__ */ jsx79("button", { className: "oc-btn oc-btn--outline oc-btn--sm", type: "button", onClick: copy, children: copyLabel }),
3159
+ /* @__PURE__ */ jsx79("button", { className: "oc-btn oc-btn--outline oc-btn--sm", type: "button", onClick: download2, children: downloadLabel })
3134
3160
  ] })
3135
3161
  ] });
3136
3162
  });
3137
3163
 
3138
3164
  // src/components/Segmented.tsx
3139
- import { forwardRef as forwardRef76, useId as useId27 } from "react";
3140
- import { jsx as jsx78, jsxs as jsxs63 } from "react/jsx-runtime";
3141
- var Segmented = forwardRef76(function Segmented2({ options, value, defaultValue, onChange, name, block, size = "md", className, ...rest }, ref) {
3165
+ import { forwardRef as forwardRef78, useId as useId27 } from "react";
3166
+ import { jsx as jsx80, jsxs as jsxs63 } from "react/jsx-runtime";
3167
+ var Segmented = forwardRef78(function Segmented2({ options, value, defaultValue, onChange, name, block, size = "md", className, ...rest }, ref) {
3142
3168
  const auto = useId27();
3143
3169
  const group = name ?? `oc-segmented-${auto.replace(/:/g, "")}`;
3144
3170
  const [current, setCurrent] = useControllable(value, defaultValue ?? options[0]?.value ?? "", onChange);
3145
- return /* @__PURE__ */ jsx78(
3171
+ return /* @__PURE__ */ jsx80(
3146
3172
  "div",
3147
3173
  {
3148
3174
  ref,
@@ -3150,7 +3176,7 @@ var Segmented = forwardRef76(function Segmented2({ options, value, defaultValue,
3150
3176
  role: "radiogroup",
3151
3177
  ...rest,
3152
3178
  children: options.map((o) => /* @__PURE__ */ jsxs63("label", { className: "oc-segmented-item", children: [
3153
- /* @__PURE__ */ jsx78("input", { type: "radio", name: group, value: o.value, checked: current === o.value, onChange: () => setCurrent(o.value) }),
3179
+ /* @__PURE__ */ jsx80("input", { type: "radio", name: group, value: o.value, checked: current === o.value, onChange: () => setCurrent(o.value) }),
3154
3180
  " ",
3155
3181
  o.label
3156
3182
  ] }, o.value))
@@ -3159,44 +3185,44 @@ var Segmented = forwardRef76(function Segmented2({ options, value, defaultValue,
3159
3185
  });
3160
3186
 
3161
3187
  // src/components/Select.tsx
3162
- import { forwardRef as forwardRef77 } from "react";
3163
- import { jsx as jsx79, jsxs as jsxs64 } from "react/jsx-runtime";
3164
- var Select = forwardRef77(function Select2({ options, className, children, ...rest }, ref) {
3188
+ import { forwardRef as forwardRef79 } from "react";
3189
+ import { jsx as jsx81, jsxs as jsxs64 } from "react/jsx-runtime";
3190
+ var Select = forwardRef79(function Select2({ options, className, children, ...rest }, ref) {
3165
3191
  return /* @__PURE__ */ jsxs64("select", { ref, className: cx("oc-select", className), ...rest, children: [
3166
3192
  options?.map((o) => {
3167
3193
  const opt = typeof o === "string" ? { value: o, label: o } : o;
3168
- return /* @__PURE__ */ jsx79("option", { value: opt.value, disabled: opt.disabled, children: opt.label }, opt.value);
3194
+ return /* @__PURE__ */ jsx81("option", { value: opt.value, disabled: opt.disabled, children: opt.label }, opt.value);
3169
3195
  }),
3170
3196
  children
3171
3197
  ] });
3172
3198
  });
3173
3199
 
3174
3200
  // src/components/SeverityCard.tsx
3175
- import { forwardRef as forwardRef78 } from "react";
3176
- import { jsx as jsx80, jsxs as jsxs65 } from "react/jsx-runtime";
3201
+ import { forwardRef as forwardRef80 } from "react";
3202
+ import { jsx as jsx82, jsxs as jsxs65 } from "react/jsx-runtime";
3177
3203
  var LEVEL_TEXT = { low: "Low", medium: "Medium", high: "High", critical: "Critical" };
3178
- var SeverityCard = forwardRef78(function SeverityCard2({ level, title, tags, levelLabel, icon, resolved, actions, className, children, ...rest }, ref) {
3204
+ var SeverityCard = forwardRef80(function SeverityCard2({ level, title, tags, levelLabel, icon, resolved, actions, className, children, ...rest }, ref) {
3179
3205
  const cls = cx("oc-severity-card", `oc-severity-card--${level}`, resolved && "is-resolved", className);
3180
3206
  return /* @__PURE__ */ jsxs65("details", { ref, className: cls, ...rest, children: [
3181
3207
  /* @__PURE__ */ jsxs65("summary", { className: "oc-severity-card-head", children: [
3182
- icon != null && /* @__PURE__ */ jsx80("span", { className: "oc-severity-card-icon", "aria-hidden": "true", children: icon }),
3208
+ icon != null && /* @__PURE__ */ jsx82("span", { className: "oc-severity-card-icon", "aria-hidden": "true", children: icon }),
3183
3209
  /* @__PURE__ */ jsxs65("span", { className: "oc-severity-card-main", children: [
3184
- /* @__PURE__ */ jsx80("span", { className: "oc-severity-card-title", children: title }),
3185
- tags && tags.length > 0 && /* @__PURE__ */ jsx80("span", { className: "oc-severity-card-tags", children: tags.map((t, i) => /* @__PURE__ */ jsx80("span", { className: "oc-severity-card-tag", children: t }, i)) })
3210
+ /* @__PURE__ */ jsx82("span", { className: "oc-severity-card-title", children: title }),
3211
+ tags && tags.length > 0 && /* @__PURE__ */ jsx82("span", { className: "oc-severity-card-tags", children: tags.map((t, i) => /* @__PURE__ */ jsx82("span", { className: "oc-severity-card-tag", children: t }, i)) })
3186
3212
  ] }),
3187
- /* @__PURE__ */ jsx80("span", { className: "oc-severity-card-level", children: levelLabel ?? LEVEL_TEXT[level] })
3213
+ /* @__PURE__ */ jsx82("span", { className: "oc-severity-card-level", children: levelLabel ?? LEVEL_TEXT[level] })
3188
3214
  ] }),
3189
3215
  /* @__PURE__ */ jsxs65("div", { className: "oc-severity-card-body", children: [
3190
3216
  children,
3191
- actions != null && /* @__PURE__ */ jsx80("div", { className: "oc-severity-card-actions", children: actions })
3217
+ actions != null && /* @__PURE__ */ jsx82("div", { className: "oc-severity-card-actions", children: actions })
3192
3218
  ] })
3193
3219
  ] });
3194
3220
  });
3195
3221
 
3196
3222
  // src/components/Sheet.tsx
3197
- import { forwardRef as forwardRef79, useId as useId28, useRef as useRef10 } from "react";
3198
- import { jsx as jsx81, jsxs as jsxs66 } from "react/jsx-runtime";
3199
- var Sheet = forwardRef79(function Sheet2({ open, defaultOpen, onOpenChange, side = "right", wide, title, description, footer, closeLabel = "Close", className, children, ...rest }, forwardedRef) {
3223
+ import { forwardRef as forwardRef81, useId as useId28, useRef as useRef10 } from "react";
3224
+ import { jsx as jsx83, jsxs as jsxs66 } from "react/jsx-runtime";
3225
+ var Sheet = forwardRef81(function Sheet2({ open, defaultOpen, onOpenChange, side = "right", wide, title, description, footer, closeLabel = "Close", className, children, ...rest }, forwardedRef) {
3200
3226
  const inner = useRef10(null);
3201
3227
  const ref = useMergedRef(inner, forwardedRef);
3202
3228
  const titleId = useId28();
@@ -3205,7 +3231,7 @@ var Sheet = forwardRef79(function Sheet2({ open, defaultOpen, onOpenChange, side
3205
3231
  rest.onClick?.(e);
3206
3232
  if (e.target === e.currentTarget) dlg.close();
3207
3233
  };
3208
- return /* @__PURE__ */ jsx81(
3234
+ return /* @__PURE__ */ jsx83(
3209
3235
  "dialog",
3210
3236
  {
3211
3237
  ref,
@@ -3215,23 +3241,23 @@ var Sheet = forwardRef79(function Sheet2({ open, defaultOpen, onOpenChange, side
3215
3241
  ...rest,
3216
3242
  onClick,
3217
3243
  onClose: dlg.onClose,
3218
- children: /* @__PURE__ */ jsx81(DialogContext.Provider, { value: { close: dlg.close }, children: /* @__PURE__ */ jsxs66("div", { className: cx("oc-sheet-content", wide && "oc-sheet-content--wide"), children: [
3219
- /* @__PURE__ */ jsx81("button", { className: "oc-sheet-close", type: "button", "aria-label": closeLabel, onClick: dlg.close, children: "\xD7" }),
3244
+ children: /* @__PURE__ */ jsx83(DialogContext.Provider, { value: { close: dlg.close }, children: /* @__PURE__ */ jsxs66("div", { className: cx("oc-sheet-content", wide && "oc-sheet-content--wide"), children: [
3245
+ /* @__PURE__ */ jsx83("button", { className: "oc-sheet-close", type: "button", "aria-label": closeLabel, onClick: dlg.close, children: "\xD7" }),
3220
3246
  (title != null || description != null) && /* @__PURE__ */ jsxs66("div", { className: "oc-sheet-header", children: [
3221
- title != null && /* @__PURE__ */ jsx81("h2", { className: "oc-sheet-title", id: titleId, children: title }),
3222
- description != null && /* @__PURE__ */ jsx81("p", { className: "oc-sheet-description", children: description })
3247
+ title != null && /* @__PURE__ */ jsx83("h2", { className: "oc-sheet-title", id: titleId, children: title }),
3248
+ description != null && /* @__PURE__ */ jsx83("p", { className: "oc-sheet-description", children: description })
3223
3249
  ] }),
3224
- /* @__PURE__ */ jsx81("div", { className: "oc-sheet-body", children }),
3225
- footer != null && /* @__PURE__ */ jsx81("div", { className: "oc-sheet-footer", children: footer })
3250
+ /* @__PURE__ */ jsx83("div", { className: "oc-sheet-body", children }),
3251
+ footer != null && /* @__PURE__ */ jsx83("div", { className: "oc-sheet-footer", children: footer })
3226
3252
  ] }) })
3227
3253
  }
3228
3254
  );
3229
3255
  });
3230
3256
 
3231
3257
  // src/components/Sidebar.tsx
3232
- import { forwardRef as forwardRef80 } from "react";
3233
- import { Fragment as Fragment18, jsx as jsx82, jsxs as jsxs67 } from "react/jsx-runtime";
3234
- var Sidebar = forwardRef80(function Sidebar2({ collapsed, right, floating, dark, header, footer, className, children, ...rest }, ref) {
3258
+ import { forwardRef as forwardRef82 } from "react";
3259
+ import { Fragment as Fragment18, jsx as jsx84, jsxs as jsxs67 } from "react/jsx-runtime";
3260
+ var Sidebar = forwardRef82(function Sidebar2({ collapsed, right, floating, dark, header, footer, className, children, ...rest }, ref) {
3235
3261
  return /* @__PURE__ */ jsxs67(
3236
3262
  "aside",
3237
3263
  {
@@ -3239,33 +3265,33 @@ var Sidebar = forwardRef80(function Sidebar2({ collapsed, right, floating, dark,
3239
3265
  className: cx("oc-sidebar", collapsed && "oc-sidebar--collapsed", right && "oc-sidebar--right", floating && "oc-sidebar--floating", dark && "oc-sidebar--dark", className),
3240
3266
  ...rest,
3241
3267
  children: [
3242
- header != null && /* @__PURE__ */ jsx82("div", { className: "oc-sidebar-header", children: header }),
3243
- /* @__PURE__ */ jsx82("div", { className: "oc-sidebar-content", children }),
3244
- footer != null && /* @__PURE__ */ jsx82("div", { className: "oc-sidebar-footer", children: footer })
3268
+ header != null && /* @__PURE__ */ jsx84("div", { className: "oc-sidebar-header", children: header }),
3269
+ /* @__PURE__ */ jsx84("div", { className: "oc-sidebar-content", children }),
3270
+ footer != null && /* @__PURE__ */ jsx84("div", { className: "oc-sidebar-footer", children: footer })
3245
3271
  ]
3246
3272
  }
3247
3273
  );
3248
3274
  });
3249
- var SidebarGroup = forwardRef80(function SidebarGroup2({ label, className, children, ...rest }, ref) {
3275
+ var SidebarGroup = forwardRef82(function SidebarGroup2({ label, className, children, ...rest }, ref) {
3250
3276
  return /* @__PURE__ */ jsxs67("div", { ref, className: cx("oc-sidebar-group", className), ...rest, children: [
3251
- label != null && /* @__PURE__ */ jsx82("div", { className: "oc-sidebar-group-label", children: label }),
3277
+ label != null && /* @__PURE__ */ jsx84("div", { className: "oc-sidebar-group-label", children: label }),
3252
3278
  children
3253
3279
  ] });
3254
3280
  });
3255
3281
  function SidebarSeparator({ className, ...rest }) {
3256
- return /* @__PURE__ */ jsx82("div", { className: cx("oc-sidebar-separator", className), ...rest });
3282
+ return /* @__PURE__ */ jsx84("div", { className: cx("oc-sidebar-separator", className), ...rest });
3257
3283
  }
3258
- var SidebarMenu = forwardRef80(function SidebarMenu2({ className, ...rest }, ref) {
3259
- return /* @__PURE__ */ jsx82("ul", { ref, className: cx("oc-sidebar-menu", className), ...rest });
3284
+ var SidebarMenu = forwardRef82(function SidebarMenu2({ className, ...rest }, ref) {
3285
+ return /* @__PURE__ */ jsx84("ul", { ref, className: cx("oc-sidebar-menu", className), ...rest });
3260
3286
  });
3261
3287
  function SidebarMenuItem(props) {
3262
- return /* @__PURE__ */ jsx82("li", { ...props });
3288
+ return /* @__PURE__ */ jsx84("li", { ...props });
3263
3289
  }
3264
- var SidebarMenuButton = forwardRef80(function SidebarMenuButton2({ icon, badge, current, disabled, size = "md", label = true, className, children, href, ...rest }, ref) {
3290
+ var SidebarMenuButton = forwardRef82(function SidebarMenuButton2({ icon, badge, current, disabled, size = "md", label = true, className, children, href, ...rest }, ref) {
3265
3291
  const content = /* @__PURE__ */ jsxs67(Fragment18, { children: [
3266
3292
  icon,
3267
- label ? /* @__PURE__ */ jsx82("span", { className: "oc-sidebar-menu-label", children }) : children,
3268
- badge != null && /* @__PURE__ */ jsx82("span", { className: "oc-sidebar-menu-badge", children: badge })
3293
+ label ? /* @__PURE__ */ jsx84("span", { className: "oc-sidebar-menu-label", children }) : children,
3294
+ badge != null && /* @__PURE__ */ jsx84("span", { className: "oc-sidebar-menu-badge", children: badge })
3269
3295
  ] });
3270
3296
  const props = {
3271
3297
  className: cx("oc-sidebar-menu-button", size === "lg" && "oc-sidebar-menu-button--lg", className),
@@ -3273,11 +3299,11 @@ var SidebarMenuButton = forwardRef80(function SidebarMenuButton2({ icon, badge,
3273
3299
  "aria-disabled": disabled ? true : void 0
3274
3300
  };
3275
3301
  if (href === void 0) {
3276
- return /* @__PURE__ */ jsx82("button", { type: "button", ...props, ...rest, children: content });
3302
+ return /* @__PURE__ */ jsx84("button", { type: "button", ...props, ...rest, children: content });
3277
3303
  }
3278
- return /* @__PURE__ */ jsx82("a", { ref, href, ...props, ...rest, children: content });
3304
+ return /* @__PURE__ */ jsx84("a", { ref, href, ...props, ...rest, children: content });
3279
3305
  });
3280
- var SidebarCollapsible = forwardRef80(function SidebarCollapsible2({ icon, label, open, defaultOpen, onOpenChange, className, children, ...rest }, ref) {
3306
+ var SidebarCollapsible = forwardRef82(function SidebarCollapsible2({ icon, label, open, defaultOpen, onOpenChange, className, children, ...rest }, ref) {
3281
3307
  const [isOpen, setOpen] = useControllable(open, defaultOpen ?? false, onOpenChange);
3282
3308
  return /* @__PURE__ */ jsxs67(
3283
3309
  "details",
@@ -3292,28 +3318,28 @@ var SidebarCollapsible = forwardRef80(function SidebarCollapsible2({ icon, label
3292
3318
  children: [
3293
3319
  /* @__PURE__ */ jsxs67("summary", { className: "oc-sidebar-menu-button", children: [
3294
3320
  icon,
3295
- /* @__PURE__ */ jsx82("span", { className: "oc-sidebar-menu-label", children: label })
3321
+ /* @__PURE__ */ jsx84("span", { className: "oc-sidebar-menu-label", children: label })
3296
3322
  ] }),
3297
- /* @__PURE__ */ jsx82("ul", { className: "oc-sidebar-menu-sub", children })
3323
+ /* @__PURE__ */ jsx84("ul", { className: "oc-sidebar-menu-sub", children })
3298
3324
  ]
3299
3325
  }
3300
3326
  );
3301
3327
  });
3302
3328
 
3303
3329
  // src/components/Skeleton.tsx
3304
- import { forwardRef as forwardRef81 } from "react";
3305
- import { jsx as jsx83 } from "react/jsx-runtime";
3306
- var Skeleton = forwardRef81(function Skeleton2({ variant, className, ...rest }, ref) {
3307
- return /* @__PURE__ */ jsx83("div", { ref, className: cx("oc-skeleton", variant && `oc-skeleton--${variant}`, className), ...rest });
3330
+ import { forwardRef as forwardRef83 } from "react";
3331
+ import { jsx as jsx85 } from "react/jsx-runtime";
3332
+ var Skeleton = forwardRef83(function Skeleton2({ variant, className, ...rest }, ref) {
3333
+ return /* @__PURE__ */ jsx85("div", { ref, className: cx("oc-skeleton", variant && `oc-skeleton--${variant}`, className), ...rest });
3308
3334
  });
3309
3335
 
3310
3336
  // src/components/SortableRow.tsx
3311
- import { forwardRef as forwardRef82 } from "react";
3312
- import { jsx as jsx84, jsxs as jsxs68 } from "react/jsx-runtime";
3313
- var SortableRow = forwardRef82(function SortableRow2({ gripLabel, dragging, drop, locked, grabbed, onGripKeyDown, className, children, ...rest }, ref) {
3337
+ import { forwardRef as forwardRef84 } from "react";
3338
+ import { jsx as jsx86, jsxs as jsxs68 } from "react/jsx-runtime";
3339
+ var SortableRow = forwardRef84(function SortableRow2({ gripLabel, dragging, drop, locked, grabbed, onGripKeyDown, className, children, ...rest }, ref) {
3314
3340
  const cls = cx("oc-sortable-row", dragging && "is-dragging", drop && `is-drop-${drop}`, className);
3315
3341
  return /* @__PURE__ */ jsxs68("tr", { ref, className: cls, draggable: locked ? void 0 : true, ...rest, children: [
3316
- /* @__PURE__ */ jsx84("td", { className: "oc-sortable-row-grip-cell", children: /* @__PURE__ */ jsx84(
3342
+ /* @__PURE__ */ jsx86("td", { className: "oc-sortable-row-grip-cell", children: /* @__PURE__ */ jsx86(
3317
3343
  "button",
3318
3344
  {
3319
3345
  className: "oc-sortable-row-grip",
@@ -3329,64 +3355,64 @@ var SortableRow = forwardRef82(function SortableRow2({ gripLabel, dragging, drop
3329
3355
  });
3330
3356
 
3331
3357
  // src/components/StackCard.tsx
3332
- import { forwardRef as forwardRef83 } from "react";
3333
- import { jsx as jsx85, jsxs as jsxs69 } from "react/jsx-runtime";
3334
- var StackCard = forwardRef83(function StackCard2({ title, href, meta, count, panel, thumb, className, ...rest }, ref) {
3358
+ import { forwardRef as forwardRef85 } from "react";
3359
+ import { jsx as jsx87, jsxs as jsxs69 } from "react/jsx-runtime";
3360
+ var StackCard = forwardRef85(function StackCard2({ title, href, meta, count, panel, thumb, className, ...rest }, ref) {
3335
3361
  return /* @__PURE__ */ jsxs69("article", { ref, className: cx("oc-stack-card", panel && "oc-stack-card--panel", className), ...rest, children: [
3336
3362
  /* @__PURE__ */ jsxs69("div", { className: "oc-stack-card__deck", children: [
3337
- /* @__PURE__ */ jsx85(MediaThumb, { ...thumb }),
3338
- count != null && /* @__PURE__ */ jsx85("span", { className: "oc-stack-card__count", children: count })
3363
+ /* @__PURE__ */ jsx87(MediaThumb, { ...thumb }),
3364
+ count != null && /* @__PURE__ */ jsx87("span", { className: "oc-stack-card__count", children: count })
3339
3365
  ] }),
3340
3366
  /* @__PURE__ */ jsxs69("div", { children: [
3341
- /* @__PURE__ */ jsx85("h3", { className: "oc-stack-card__title", children: /* @__PURE__ */ jsx85("a", { href, children: title }) }),
3342
- meta != null && /* @__PURE__ */ jsx85("p", { className: "oc-stack-card__meta", children: meta })
3367
+ /* @__PURE__ */ jsx87("h3", { className: "oc-stack-card__title", children: /* @__PURE__ */ jsx87("a", { href, children: title }) }),
3368
+ meta != null && /* @__PURE__ */ jsx87("p", { className: "oc-stack-card__meta", children: meta })
3343
3369
  ] })
3344
3370
  ] });
3345
3371
  });
3346
3372
 
3347
3373
  // src/components/StackList.tsx
3348
- import { forwardRef as forwardRef84 } from "react";
3349
- import { Fragment as Fragment19, jsx as jsx86, jsxs as jsxs70 } from "react/jsx-runtime";
3374
+ import { forwardRef as forwardRef86 } from "react";
3375
+ import { Fragment as Fragment19, jsx as jsx88, jsxs as jsxs70 } from "react/jsx-runtime";
3350
3376
  var isItem = (v) => typeof v === "object" && v !== null && "label" in v;
3351
- var StackList = forwardRef84(function StackList2({ items, neutral = false, size = "default", className, ...rest }, ref) {
3352
- return /* @__PURE__ */ jsx86("ul", { ref, className: cx("oc-stack-list", neutral && "oc-stack-list--neutral", size === "sm" && "oc-stack-list--sm", className), ...rest, children: items.map((item, i) => /* @__PURE__ */ jsx86("li", { className: "oc-stack-list__item", children: isItem(item) ? /* @__PURE__ */ jsxs70(Fragment19, { children: [
3353
- item.icon != null && /* @__PURE__ */ jsx86("span", { className: "oc-stack-list__icon", "aria-hidden": "true", children: item.icon }),
3377
+ var StackList = forwardRef86(function StackList2({ items, neutral = false, size = "default", className, ...rest }, ref) {
3378
+ return /* @__PURE__ */ jsx88("ul", { ref, className: cx("oc-stack-list", neutral && "oc-stack-list--neutral", size === "sm" && "oc-stack-list--sm", className), ...rest, children: items.map((item, i) => /* @__PURE__ */ jsx88("li", { className: "oc-stack-list__item", children: isItem(item) ? /* @__PURE__ */ jsxs70(Fragment19, { children: [
3379
+ item.icon != null && /* @__PURE__ */ jsx88("span", { className: "oc-stack-list__icon", "aria-hidden": "true", children: item.icon }),
3354
3380
  item.label
3355
3381
  ] }) : item }, i)) });
3356
3382
  });
3357
3383
 
3358
3384
  // src/components/StatCard.tsx
3359
- import { forwardRef as forwardRef85 } from "react";
3360
- import { Fragment as Fragment20, jsx as jsx87, jsxs as jsxs71 } from "react/jsx-runtime";
3361
- var StatCardGrid = forwardRef85(function StatCardGrid2({ className, ...rest }, ref) {
3362
- return /* @__PURE__ */ jsx87("div", { ref, className: cx("oc-stat-card-grid", className), ...rest });
3385
+ import { forwardRef as forwardRef87 } from "react";
3386
+ import { Fragment as Fragment20, jsx as jsx89, jsxs as jsxs71 } from "react/jsx-runtime";
3387
+ var StatCardGrid = forwardRef87(function StatCardGrid2({ className, ...rest }, ref) {
3388
+ return /* @__PURE__ */ jsx89("div", { ref, className: cx("oc-stat-card-grid", className), ...rest });
3363
3389
  });
3364
3390
  function StatCard({ value, label, icon, trend, trendDirection = "up", tone = "default", stripe, href, onClick, className, ...rest }) {
3365
3391
  const cls = cx("oc-stat-card", tone !== "default" && `oc-stat-card--${tone}`, stripe && "oc-stat-card--stripe", className);
3366
3392
  const content = /* @__PURE__ */ jsxs71(Fragment20, { children: [
3367
- icon != null && /* @__PURE__ */ jsx87("span", { className: "oc-stat-card-icon", "aria-hidden": "true", children: icon }),
3393
+ icon != null && /* @__PURE__ */ jsx89("span", { className: "oc-stat-card-icon", "aria-hidden": "true", children: icon }),
3368
3394
  /* @__PURE__ */ jsxs71("span", { className: "oc-stat-card-body", children: [
3369
3395
  /* @__PURE__ */ jsxs71("span", { className: "oc-stat-card-value", children: [
3370
3396
  value,
3371
- trend != null && /* @__PURE__ */ jsx87("span", { className: `oc-stat-card-trend oc-stat-card-trend--${trendDirection}`, children: trend })
3397
+ trend != null && /* @__PURE__ */ jsx89("span", { className: `oc-stat-card-trend oc-stat-card-trend--${trendDirection}`, children: trend })
3372
3398
  ] }),
3373
- /* @__PURE__ */ jsx87("span", { className: "oc-stat-card-label", children: label })
3399
+ /* @__PURE__ */ jsx89("span", { className: "oc-stat-card-label", children: label })
3374
3400
  ] })
3375
3401
  ] });
3376
- if (href !== void 0) return /* @__PURE__ */ jsx87("a", { className: cls, href, ...rest, children: content });
3377
- if (onClick) return /* @__PURE__ */ jsx87("button", { className: cls, type: "button", onClick, ...rest, children: content });
3378
- return /* @__PURE__ */ jsx87("div", { className: cls, ...rest, children: content });
3402
+ if (href !== void 0) return /* @__PURE__ */ jsx89("a", { className: cls, href, ...rest, children: content });
3403
+ if (onClick) return /* @__PURE__ */ jsx89("button", { className: cls, type: "button", onClick, ...rest, children: content });
3404
+ return /* @__PURE__ */ jsx89("div", { className: cls, ...rest, children: content });
3379
3405
  }
3380
3406
 
3381
3407
  // src/components/Stepper.tsx
3382
- import { forwardRef as forwardRef86 } from "react";
3383
- import { jsx as jsx88, jsxs as jsxs72 } from "react/jsx-runtime";
3384
- var Stepper = forwardRef86(function Stepper2({ steps, current, horizontal, onStepChange, className, ...rest }, ref) {
3385
- return /* @__PURE__ */ jsx88("ol", { ref, className: cx("oc-stepper", horizontal && "oc-stepper--horizontal", className), ...rest, children: steps.map((step, i) => {
3408
+ import { forwardRef as forwardRef88 } from "react";
3409
+ import { jsx as jsx90, jsxs as jsxs72 } from "react/jsx-runtime";
3410
+ var Stepper = forwardRef88(function Stepper2({ steps, current, horizontal, onStepChange, className, ...rest }, ref) {
3411
+ return /* @__PURE__ */ jsx90("ol", { ref, className: cx("oc-stepper", horizontal && "oc-stepper--horizontal", className), ...rest, children: steps.map((step, i) => {
3386
3412
  const done = i < current;
3387
3413
  const active = i === current;
3388
- const label = /* @__PURE__ */ jsx88("span", { className: "oc-stepper-label", children: step.label });
3389
- return /* @__PURE__ */ jsx88("li", { children: /* @__PURE__ */ jsx88(
3414
+ const label = /* @__PURE__ */ jsx90("span", { className: "oc-stepper-label", children: step.label });
3415
+ return /* @__PURE__ */ jsx90("li", { children: /* @__PURE__ */ jsx90(
3390
3416
  "button",
3391
3417
  {
3392
3418
  className: cx("oc-stepper-item", done && "oc-stepper-item--done", active && "oc-stepper-item--active"),
@@ -3396,7 +3422,7 @@ var Stepper = forwardRef86(function Stepper2({ steps, current, horizontal, onSte
3396
3422
  onClick: () => onStepChange?.(i),
3397
3423
  children: step.meta != null ? /* @__PURE__ */ jsxs72("span", { children: [
3398
3424
  label,
3399
- /* @__PURE__ */ jsx88("span", { className: "oc-stepper-meta", children: step.meta })
3425
+ /* @__PURE__ */ jsx90("span", { className: "oc-stepper-meta", children: step.meta })
3400
3426
  ] }) : label
3401
3427
  }
3402
3428
  ) }, i);
@@ -3404,20 +3430,20 @@ var Stepper = forwardRef86(function Stepper2({ steps, current, horizontal, onSte
3404
3430
  });
3405
3431
 
3406
3432
  // src/components/Switch.tsx
3407
- import { forwardRef as forwardRef87 } from "react";
3408
- import { jsx as jsx89, jsxs as jsxs73 } from "react/jsx-runtime";
3409
- var Switch = forwardRef87(function Switch2({ labelClassName, className, ...rest }, ref) {
3433
+ import { forwardRef as forwardRef89 } from "react";
3434
+ import { jsx as jsx91, jsxs as jsxs73 } from "react/jsx-runtime";
3435
+ var Switch = forwardRef89(function Switch2({ labelClassName, className, ...rest }, ref) {
3410
3436
  return /* @__PURE__ */ jsxs73("label", { className: cx("oc-switch", labelClassName), children: [
3411
- /* @__PURE__ */ jsx89("input", { ref, type: "checkbox", role: "switch", className, ...rest }),
3412
- /* @__PURE__ */ jsx89("span", { className: "oc-switch-track" })
3437
+ /* @__PURE__ */ jsx91("input", { ref, type: "checkbox", role: "switch", className, ...rest }),
3438
+ /* @__PURE__ */ jsx91("span", { className: "oc-switch-track" })
3413
3439
  ] });
3414
3440
  });
3415
3441
 
3416
3442
  // src/components/Table.tsx
3417
- import { forwardRef as forwardRef88 } from "react";
3418
- import { jsx as jsx90, jsxs as jsxs74 } from "react/jsx-runtime";
3419
- var Table = forwardRef88(function Table2({ striped, compact, borderless, sticky, caption, wrapClassName, className, children, ...rest }, ref) {
3420
- return /* @__PURE__ */ jsx90("div", { className: cx("oc-table-wrap", wrapClassName), children: /* @__PURE__ */ jsxs74(
3443
+ import { forwardRef as forwardRef90 } from "react";
3444
+ import { jsx as jsx92, jsxs as jsxs74 } from "react/jsx-runtime";
3445
+ var Table = forwardRef90(function Table2({ striped, compact, borderless, sticky, caption, wrapClassName, className, children, ...rest }, ref) {
3446
+ return /* @__PURE__ */ jsx92("div", { className: cx("oc-table-wrap", wrapClassName), children: /* @__PURE__ */ jsxs74(
3421
3447
  "table",
3422
3448
  {
3423
3449
  ref,
@@ -3431,84 +3457,84 @@ var Table = forwardRef88(function Table2({ striped, compact, borderless, sticky,
3431
3457
  ),
3432
3458
  ...rest,
3433
3459
  children: [
3434
- caption != null && /* @__PURE__ */ jsx90("caption", { children: caption }),
3460
+ caption != null && /* @__PURE__ */ jsx92("caption", { children: caption }),
3435
3461
  children
3436
3462
  ]
3437
3463
  }
3438
3464
  ) });
3439
3465
  });
3440
- var TableSort = forwardRef88(function TableSort2({ className, ...rest }, ref) {
3441
- return /* @__PURE__ */ jsx90("a", { ref, className: cx("oc-table-sort", className), ...rest });
3466
+ var TableSort = forwardRef90(function TableSort2({ className, ...rest }, ref) {
3467
+ return /* @__PURE__ */ jsx92("a", { ref, className: cx("oc-table-sort", className), ...rest });
3442
3468
  });
3443
3469
  function TableActions({ className, ...rest }) {
3444
- return /* @__PURE__ */ jsx90("td", { className: cx("oc-table-actions", className), ...rest });
3470
+ return /* @__PURE__ */ jsx92("td", { className: cx("oc-table-actions", className), ...rest });
3445
3471
  }
3446
3472
  function TableRowAction({ tone = "default", className, ...props }) {
3447
3473
  const cls = cx("oc-table-row-action", tone !== "default" && `oc-table-row-action--${tone}`, className);
3448
- if (props.href !== void 0) return /* @__PURE__ */ jsx90("a", { className: cls, ...props });
3449
- return /* @__PURE__ */ jsx90("button", { type: "button", className: cls, ...props });
3474
+ if (props.href !== void 0) return /* @__PURE__ */ jsx92("a", { className: cls, ...props });
3475
+ return /* @__PURE__ */ jsx92("button", { type: "button", className: cls, ...props });
3450
3476
  }
3451
3477
  function TableEmpty({ colSpan, children, ...rest }) {
3452
- return /* @__PURE__ */ jsx90("tr", { className: "oc-table-empty", ...rest, children: /* @__PURE__ */ jsx90("td", { colSpan, children }) });
3478
+ return /* @__PURE__ */ jsx92("tr", { className: "oc-table-empty", ...rest, children: /* @__PURE__ */ jsx92("td", { colSpan, children }) });
3453
3479
  }
3454
3480
 
3455
3481
  // src/components/TableActions.tsx
3456
- import { forwardRef as forwardRef89, useId as useId29 } from "react";
3457
- import { Fragment as Fragment21, jsx as jsx91, jsxs as jsxs75 } from "react/jsx-runtime";
3482
+ import { forwardRef as forwardRef91, useId as useId29 } from "react";
3483
+ import { Fragment as Fragment21, jsx as jsx93, jsxs as jsxs75 } from "react/jsx-runtime";
3458
3484
  function TableActionIcon({ label, tone = "default", className, children, ...props }) {
3459
3485
  const cls = cx("oc-table-actions-icon", tone !== "default" && `oc-table-actions-icon--${tone}`, className);
3460
3486
  const common = { className: cls, "aria-label": label, title: label };
3461
3487
  if (props.href !== void 0) {
3462
- return /* @__PURE__ */ jsx91("a", { ...common, ...props, children });
3488
+ return /* @__PURE__ */ jsx93("a", { ...common, ...props, children });
3463
3489
  }
3464
- return /* @__PURE__ */ jsx91("button", { type: "button", ...common, ...props, children });
3490
+ return /* @__PURE__ */ jsx93("button", { type: "button", ...common, ...props, children });
3465
3491
  }
3466
- var TableActionsMenu = forwardRef89(function TableActionsMenu2({ label, id, className, children, ...rest }, ref) {
3492
+ var TableActionsMenu = forwardRef91(function TableActionsMenu2({ label, id, className, children, ...rest }, ref) {
3467
3493
  const auto = useId29();
3468
3494
  const menuId = id ?? `oc-table-actions-menu-${auto.replace(/:/g, "")}`;
3469
3495
  return /* @__PURE__ */ jsxs75(Fragment21, { children: [
3470
- /* @__PURE__ */ jsx91("button", { className: "oc-table-actions-more", type: "button", "aria-label": label, popoverTarget: menuId }),
3471
- /* @__PURE__ */ jsx91("div", { ref, id: menuId, className: cx("oc-dropdown-menu", className), ...attrs({ popover: "" }), ...rest, children })
3496
+ /* @__PURE__ */ jsx93("button", { className: "oc-table-actions-more", type: "button", "aria-label": label, popoverTarget: menuId }),
3497
+ /* @__PURE__ */ jsx93("div", { ref, id: menuId, className: cx("oc-dropdown-menu", className), ...attrs({ popover: "" }), ...rest, children })
3472
3498
  ] });
3473
3499
  });
3474
3500
 
3475
3501
  // src/components/TableCompact.tsx
3476
- import { forwardRef as forwardRef90 } from "react";
3477
- import { jsx as jsx92, jsxs as jsxs76 } from "react/jsx-runtime";
3502
+ import { forwardRef as forwardRef92 } from "react";
3503
+ import { jsx as jsx94, jsxs as jsxs76 } from "react/jsx-runtime";
3478
3504
  var cellAttrs = (c) => ({
3479
3505
  "data-numeric": c.numeric ? "" : void 0,
3480
3506
  "data-wrap": c.wrap ? "" : void 0
3481
3507
  });
3482
- var TableCompact = forwardRef90(function TableCompact2({ columns, rows = [], footer, bordered, plain, className, children, ...rest }, ref) {
3508
+ var TableCompact = forwardRef92(function TableCompact2({ columns, rows = [], footer, bordered, plain, className, children, ...rest }, ref) {
3483
3509
  const cls = cx("oc-table-compact", bordered && "oc-table-compact--bordered", plain && "oc-table-compact--plain", className);
3484
- return /* @__PURE__ */ jsx92("div", { ref, className: cls, ...rest, children: columns ? /* @__PURE__ */ jsxs76("table", { className: "oc-table", children: [
3485
- /* @__PURE__ */ jsx92("thead", { children: /* @__PURE__ */ jsx92("tr", { children: columns.map((c) => /* @__PURE__ */ jsx92("th", { ...cellAttrs(c), children: c.label }, c.key)) }) }),
3486
- /* @__PURE__ */ jsx92("tbody", { children: rows.map((row, i) => /* @__PURE__ */ jsx92("tr", { children: columns.map((c) => /* @__PURE__ */ jsx92("td", { ...cellAttrs(c), children: row[c.key] }, c.key)) }, i)) }),
3487
- footer && /* @__PURE__ */ jsx92("tfoot", { children: /* @__PURE__ */ jsx92("tr", { children: columns.map((c) => /* @__PURE__ */ jsx92("td", { ...cellAttrs(c), children: footer[c.key] }, c.key)) }) })
3510
+ return /* @__PURE__ */ jsx94("div", { ref, className: cls, ...rest, children: columns ? /* @__PURE__ */ jsxs76("table", { className: "oc-table", children: [
3511
+ /* @__PURE__ */ jsx94("thead", { children: /* @__PURE__ */ jsx94("tr", { children: columns.map((c) => /* @__PURE__ */ jsx94("th", { ...cellAttrs(c), children: c.label }, c.key)) }) }),
3512
+ /* @__PURE__ */ jsx94("tbody", { children: rows.map((row, i) => /* @__PURE__ */ jsx94("tr", { children: columns.map((c) => /* @__PURE__ */ jsx94("td", { ...cellAttrs(c), children: row[c.key] }, c.key)) }, i)) }),
3513
+ footer && /* @__PURE__ */ jsx94("tfoot", { children: /* @__PURE__ */ jsx94("tr", { children: columns.map((c) => /* @__PURE__ */ jsx94("td", { ...cellAttrs(c), children: footer[c.key] }, c.key)) }) })
3488
3514
  ] }) : children });
3489
3515
  });
3490
3516
 
3491
3517
  // src/components/Tabs.tsx
3492
- import { forwardRef as forwardRef91, useId as useId30 } from "react";
3493
- import { jsx as jsx93, jsxs as jsxs77 } from "react/jsx-runtime";
3494
- var Tabs = forwardRef91(function Tabs2({ tabs, value, defaultValue, onChange, name, className, ...rest }, ref) {
3518
+ import { forwardRef as forwardRef93, useId as useId30 } from "react";
3519
+ import { jsx as jsx95, jsxs as jsxs77 } from "react/jsx-runtime";
3520
+ var Tabs = forwardRef93(function Tabs2({ tabs, value, defaultValue, onChange, name, className, ...rest }, ref) {
3495
3521
  const auto = useId30();
3496
3522
  const group = name ?? `oc-tabs-${auto.replace(/:/g, "")}`;
3497
3523
  const [current, setCurrent] = useControllable(value, defaultValue ?? tabs[0]?.value ?? "", onChange);
3498
3524
  return /* @__PURE__ */ jsxs77("div", { ref, className: cx("oc-tabset", className), ...rest, children: [
3499
- /* @__PURE__ */ jsx93("div", { className: "oc-tab-list", role: "tablist", children: tabs.map((t) => /* @__PURE__ */ jsxs77("label", { className: "oc-tab-trigger", children: [
3500
- /* @__PURE__ */ jsx93("input", { type: "radio", name: group, value: t.value, checked: current === t.value, onChange: () => setCurrent(t.value) }),
3525
+ /* @__PURE__ */ jsx95("div", { className: "oc-tab-list", role: "tablist", children: tabs.map((t) => /* @__PURE__ */ jsxs77("label", { className: "oc-tab-trigger", children: [
3526
+ /* @__PURE__ */ jsx95("input", { type: "radio", name: group, value: t.value, checked: current === t.value, onChange: () => setCurrent(t.value) }),
3501
3527
  " ",
3502
3528
  t.label
3503
3529
  ] }, t.value)) }),
3504
- tabs.map((t) => /* @__PURE__ */ jsx93("div", { className: "oc-tab-panel", children: t.content }, t.value))
3530
+ tabs.map((t) => /* @__PURE__ */ jsx95("div", { className: "oc-tab-panel", children: t.content }, t.value))
3505
3531
  ] });
3506
3532
  });
3507
3533
 
3508
3534
  // src/components/TagInput.tsx
3509
- import { forwardRef as forwardRef92, useState as useState12 } from "react";
3510
- import { Fragment as Fragment22, jsx as jsx94, jsxs as jsxs78 } from "react/jsx-runtime";
3511
- var TagInput = forwardRef92(function TagInput2({ value, defaultValue = [], onChange, suggestions, placeholder = "Add tag...", label = "Add tag", disabled, className, ...rest }, ref) {
3535
+ import { forwardRef as forwardRef94, useState as useState12 } from "react";
3536
+ import { Fragment as Fragment22, jsx as jsx96, jsxs as jsxs78 } from "react/jsx-runtime";
3537
+ var TagInput = forwardRef94(function TagInput2({ value, defaultValue = [], onChange, suggestions, placeholder = "Add tag...", label = "Add tag", disabled, className, ...rest }, ref) {
3512
3538
  const [tags, setTags] = useControllable(value, defaultValue, onChange);
3513
3539
  const [draft, setDraft] = useState12("");
3514
3540
  const add = (raw) => {
@@ -3531,9 +3557,9 @@ var TagInput = forwardRef92(function TagInput2({ value, defaultValue = [], onCha
3531
3557
  tags.map((tag) => /* @__PURE__ */ jsxs78("span", { className: "oc-tag", children: [
3532
3558
  tag,
3533
3559
  " ",
3534
- /* @__PURE__ */ jsx94("button", { className: "oc-tag-remove", type: "button", "aria-label": `Remove ${tag}`, disabled, onClick: () => remove(tag), children: "\xD7" })
3560
+ /* @__PURE__ */ jsx96("button", { className: "oc-tag-remove", type: "button", "aria-label": `Remove ${tag}`, disabled, onClick: () => remove(tag), children: "\xD7" })
3535
3561
  ] }, tag)),
3536
- /* @__PURE__ */ jsx94(
3562
+ /* @__PURE__ */ jsx96(
3537
3563
  "input",
3538
3564
  {
3539
3565
  type: "text",
@@ -3547,14 +3573,14 @@ var TagInput = forwardRef92(function TagInput2({ value, defaultValue = [], onCha
3547
3573
  }
3548
3574
  )
3549
3575
  ] }),
3550
- open.length > 0 && /* @__PURE__ */ jsx94("div", { className: "oc-tag-suggestions", children: open.map((s) => /* @__PURE__ */ jsx94("button", { type: "button", disabled, onClick: () => add(s), children: s }, s)) })
3576
+ open.length > 0 && /* @__PURE__ */ jsx96("div", { className: "oc-tag-suggestions", children: open.map((s) => /* @__PURE__ */ jsx96("button", { type: "button", disabled, onClick: () => add(s), children: s }, s)) })
3551
3577
  ] });
3552
3578
  });
3553
3579
 
3554
3580
  // src/components/TerminalLog.tsx
3555
- import { forwardRef as forwardRef93, useEffect as useEffect8, useRef as useRef11 } from "react";
3556
- import { jsx as jsx95, jsxs as jsxs79 } from "react/jsx-runtime";
3557
- var TerminalLog = forwardRef93(function TerminalLog2({ lines, title, status, prompt, height, autoScroll = true, className, style, "aria-label": label = "Log output", ...rest }, ref) {
3581
+ import { forwardRef as forwardRef95, useEffect as useEffect8, useRef as useRef11 } from "react";
3582
+ import { jsx as jsx97, jsxs as jsxs79 } from "react/jsx-runtime";
3583
+ var TerminalLog = forwardRef95(function TerminalLog2({ lines, title, status, prompt, height, autoScroll = true, className, style, "aria-label": label = "Log output", ...rest }, ref) {
3558
3584
  const body = useRef11(null);
3559
3585
  useEffect8(() => {
3560
3586
  if (autoScroll && body.current) body.current.scrollTop = body.current.scrollHeight;
@@ -3562,28 +3588,28 @@ var TerminalLog = forwardRef93(function TerminalLog2({ lines, title, status, pro
3562
3588
  const vars = height ? { "--oc-terminal-log-height": height } : void 0;
3563
3589
  return /* @__PURE__ */ jsxs79("div", { ref, className: cx("oc-terminal-log", className), style: { ...vars, ...style }, ...rest, children: [
3564
3590
  /* @__PURE__ */ jsxs79("div", { className: "oc-terminal-log__bar", children: [
3565
- /* @__PURE__ */ jsx95("i", {}),
3566
- /* @__PURE__ */ jsx95("i", {}),
3567
- /* @__PURE__ */ jsx95("i", {}),
3568
- title != null && /* @__PURE__ */ jsx95("span", { className: "oc-terminal-log__title", children: title }),
3569
- status != null && /* @__PURE__ */ jsx95("span", { className: "oc-terminal-log__status", children: status })
3591
+ /* @__PURE__ */ jsx97("i", {}),
3592
+ /* @__PURE__ */ jsx97("i", {}),
3593
+ /* @__PURE__ */ jsx97("i", {}),
3594
+ title != null && /* @__PURE__ */ jsx97("span", { className: "oc-terminal-log__title", children: title }),
3595
+ status != null && /* @__PURE__ */ jsx97("span", { className: "oc-terminal-log__status", children: status })
3570
3596
  ] }),
3571
3597
  /* @__PURE__ */ jsxs79("div", { ref: body, className: "oc-terminal-log__body", role: "log", "aria-live": "polite", "aria-label": label, tabIndex: 0, children: [
3572
3598
  lines.map((l, i) => /* @__PURE__ */ jsxs79("p", { className: cx("oc-terminal-log__line", `oc-terminal-log__line--${l.level}`), children: [
3573
- l.time && /* @__PURE__ */ jsx95("time", { className: "oc-terminal-log__time", children: l.time }),
3574
- /* @__PURE__ */ jsx95("span", { className: "oc-terminal-log__level", children: l.label ?? (l.level === "success" ? "ok" : l.level) }),
3575
- /* @__PURE__ */ jsx95("span", { className: "oc-terminal-log__msg", children: l.message })
3599
+ l.time && /* @__PURE__ */ jsx97("time", { className: "oc-terminal-log__time", children: l.time }),
3600
+ /* @__PURE__ */ jsx97("span", { className: "oc-terminal-log__level", children: l.label ?? (l.level === "success" ? "ok" : l.level) }),
3601
+ /* @__PURE__ */ jsx97("span", { className: "oc-terminal-log__msg", children: l.message })
3576
3602
  ] }, i)),
3577
- prompt != null && prompt !== false && /* @__PURE__ */ jsx95("p", { className: "oc-terminal-log__prompt", children: prompt === true ? null : prompt })
3603
+ prompt != null && prompt !== false && /* @__PURE__ */ jsx97("p", { className: "oc-terminal-log__prompt", children: prompt === true ? null : prompt })
3578
3604
  ] })
3579
3605
  ] });
3580
3606
  });
3581
3607
 
3582
3608
  // src/components/Textarea.tsx
3583
- import { forwardRef as forwardRef94 } from "react";
3584
- import { jsx as jsx96 } from "react/jsx-runtime";
3585
- var Textarea = forwardRef94(function Textarea2({ error, className, ...rest }, ref) {
3586
- return /* @__PURE__ */ jsx96(
3609
+ import { forwardRef as forwardRef96 } from "react";
3610
+ import { jsx as jsx98 } from "react/jsx-runtime";
3611
+ var Textarea = forwardRef96(function Textarea2({ error, className, ...rest }, ref) {
3612
+ return /* @__PURE__ */ jsx98(
3587
3613
  "textarea",
3588
3614
  {
3589
3615
  ref,
@@ -3595,24 +3621,24 @@ var Textarea = forwardRef94(function Textarea2({ error, className, ...rest }, re
3595
3621
  });
3596
3622
 
3597
3623
  // src/components/ThemeSwitch.tsx
3598
- import { forwardRef as forwardRef95, useId as useId31 } from "react";
3599
- import { jsx as jsx97, jsxs as jsxs80 } from "react/jsx-runtime";
3624
+ import { forwardRef as forwardRef97, useId as useId31 } from "react";
3625
+ import { jsx as jsx99, jsxs as jsxs80 } from "react/jsx-runtime";
3600
3626
  var LABELS = { system: "System", light: "Light", dark: "Dark" };
3601
- var ThemeSwitch = forwardRef95(function ThemeSwitch2({ value, defaultValue = "system", onChange, modes = ["system", "light", "dark"], name, as = "fieldset", className, "aria-label": ariaLabel = "Color theme", ...rest }, ref) {
3627
+ var ThemeSwitch = forwardRef97(function ThemeSwitch2({ value, defaultValue = "system", onChange, modes = ["system", "light", "dark"], name, as = "fieldset", className, "aria-label": ariaLabel = "Color theme", ...rest }, ref) {
3602
3628
  const auto = useId31();
3603
3629
  const group = name ?? `oc-theme-${auto.replace(/:/g, "")}`;
3604
3630
  const [current, setCurrent] = useControllable(value, defaultValue, onChange);
3605
3631
  const items = modes.map((m) => /* @__PURE__ */ jsxs80("label", { children: [
3606
- /* @__PURE__ */ jsx97("input", { type: "radio", name: group, value: m, checked: current === m, onChange: () => setCurrent(m) }),
3632
+ /* @__PURE__ */ jsx99("input", { type: "radio", name: group, value: m, checked: current === m, onChange: () => setCurrent(m) }),
3607
3633
  " ",
3608
3634
  LABELS[m]
3609
3635
  ] }, m));
3610
- return as === "div" ? /* @__PURE__ */ jsx97("div", { ref, className: cx("oc-theme-switch", className), role: "radiogroup", "aria-label": ariaLabel, ...rest, children: items }) : /* @__PURE__ */ jsx97("fieldset", { ref, className: cx("oc-theme-switch", className), "aria-label": ariaLabel, ...rest, children: items });
3636
+ return as === "div" ? /* @__PURE__ */ jsx99("div", { ref, className: cx("oc-theme-switch", className), role: "radiogroup", "aria-label": ariaLabel, ...rest, children: items }) : /* @__PURE__ */ jsx99("fieldset", { ref, className: cx("oc-theme-switch", className), "aria-label": ariaLabel, ...rest, children: items });
3611
3637
  });
3612
3638
 
3613
3639
  // src/components/TimeInput.tsx
3614
- import { forwardRef as forwardRef96, useId as useId32 } from "react";
3615
- import { Fragment as Fragment23, jsx as jsx98, jsxs as jsxs81 } from "react/jsx-runtime";
3640
+ import { forwardRef as forwardRef98, useId as useId32 } from "react";
3641
+ import { Fragment as Fragment23, jsx as jsx100, jsxs as jsxs81 } from "react/jsx-runtime";
3616
3642
  function formatTime24h(raw) {
3617
3643
  const digits = raw.replace(/\D/g, "").slice(0, 4);
3618
3644
  return digits.length <= 2 ? digits : `${digits.slice(0, 2)}:${digits.slice(2)}`;
@@ -3623,11 +3649,11 @@ function completeTime(text) {
3623
3649
  if (digits.length === 3) return `0${digits[0]}:${digits.slice(1)}`;
3624
3650
  return text;
3625
3651
  }
3626
- var TimeInput = forwardRef96(function TimeInput2({ value, defaultValue, onChange, slots, error, className, onBlur, placeholder = "hh:mm", ...rest }, ref) {
3652
+ var TimeInput = forwardRef98(function TimeInput2({ value, defaultValue, onChange, slots, error, className, onBlur, placeholder = "hh:mm", ...rest }, ref) {
3627
3653
  const listId = `oc-time-${useId32().replace(/:/g, "")}`;
3628
3654
  const [current, setCurrent] = useControllable(value, defaultValue ?? "", onChange);
3629
3655
  return /* @__PURE__ */ jsxs81(Fragment23, { children: [
3630
- /* @__PURE__ */ jsx98(
3656
+ /* @__PURE__ */ jsx100(
3631
3657
  "input",
3632
3658
  {
3633
3659
  ref,
@@ -3652,37 +3678,37 @@ var TimeInput = forwardRef96(function TimeInput2({ value, defaultValue, onChange
3652
3678
  ...rest
3653
3679
  }
3654
3680
  ),
3655
- slots?.length ? /* @__PURE__ */ jsx98("datalist", { id: listId, children: slots.map((s) => /* @__PURE__ */ jsx98("option", { value: s }, s)) }) : null
3681
+ slots?.length ? /* @__PURE__ */ jsx100("datalist", { id: listId, children: slots.map((s) => /* @__PURE__ */ jsx100("option", { value: s }, s)) }) : null
3656
3682
  ] });
3657
3683
  });
3658
3684
 
3659
3685
  // src/components/Timeline.tsx
3660
- import { forwardRef as forwardRef97 } from "react";
3661
- import { jsx as jsx99, jsxs as jsxs82 } from "react/jsx-runtime";
3662
- var Timeline = forwardRef97(function Timeline2({ items, size = "default", accent = false, className, ...rest }, ref) {
3663
- return /* @__PURE__ */ jsx99("ol", { ref, className: cx("oc-timeline", size === "lg" && "oc-timeline--lg", accent && "oc-timeline--accent", className), ...rest, children: items.map((item, i) => /* @__PURE__ */ jsxs82("li", { className: cx("oc-timeline__item", item.current && "oc-timeline__item--current"), children: [
3664
- item.dateTime ? /* @__PURE__ */ jsx99("time", { className: "oc-timeline__date", dateTime: item.dateTime, children: item.date }) : /* @__PURE__ */ jsx99("span", { className: "oc-timeline__date", children: item.date }),
3665
- item.title != null && /* @__PURE__ */ jsx99("h3", { className: "oc-timeline__title", children: item.title }),
3666
- item.text != null && /* @__PURE__ */ jsx99("p", { className: "oc-timeline__text", children: item.text })
3686
+ import { forwardRef as forwardRef99 } from "react";
3687
+ import { jsx as jsx101, jsxs as jsxs82 } from "react/jsx-runtime";
3688
+ var Timeline = forwardRef99(function Timeline2({ items, size = "default", accent = false, className, ...rest }, ref) {
3689
+ return /* @__PURE__ */ jsx101("ol", { ref, className: cx("oc-timeline", size === "lg" && "oc-timeline--lg", accent && "oc-timeline--accent", className), ...rest, children: items.map((item, i) => /* @__PURE__ */ jsxs82("li", { className: cx("oc-timeline__item", item.current && "oc-timeline__item--current"), children: [
3690
+ item.dateTime ? /* @__PURE__ */ jsx101("time", { className: "oc-timeline__date", dateTime: item.dateTime, children: item.date }) : /* @__PURE__ */ jsx101("span", { className: "oc-timeline__date", children: item.date }),
3691
+ item.title != null && /* @__PURE__ */ jsx101("h3", { className: "oc-timeline__title", children: item.title }),
3692
+ item.text != null && /* @__PURE__ */ jsx101("p", { className: "oc-timeline__text", children: item.text })
3667
3693
  ] }, i)) });
3668
3694
  });
3669
3695
 
3670
3696
  // src/components/Toast.tsx
3671
- import { createContext as createContext2, forwardRef as forwardRef98, useCallback as useCallback2, useContext as useContext2, useEffect as useEffect9, useMemo as useMemo2, useRef as useRef12, useState as useState13 } from "react";
3672
- import { jsx as jsx100, jsxs as jsxs83 } from "react/jsx-runtime";
3697
+ import { createContext as createContext2, forwardRef as forwardRef100, useCallback as useCallback2, useContext as useContext2, useEffect as useEffect9, useMemo as useMemo2, useRef as useRef12, useState as useState13 } from "react";
3698
+ import { jsx as jsx102, jsxs as jsxs83 } from "react/jsx-runtime";
3673
3699
  var GLYPHS3 = { success: "\u2713", error: "!", warning: "!", info: "i" };
3674
- var Toast = forwardRef98(function Toast2({ variant = "info", title, description, icon, onDismiss, dismissLabel = "Dismiss", className, ...rest }, ref) {
3700
+ var Toast = forwardRef100(function Toast2({ variant = "info", title, description, icon, onDismiss, dismissLabel = "Dismiss", className, ...rest }, ref) {
3675
3701
  return /* @__PURE__ */ jsxs83("div", { ref, className: cx("oc-toast", `oc-toast--${variant}`, className), role: variant === "error" ? "alert" : "status", ...rest, children: [
3676
- /* @__PURE__ */ jsx100("span", { className: "oc-toast-icon", "aria-hidden": "true", children: icon ?? GLYPHS3[variant] }),
3702
+ /* @__PURE__ */ jsx102("span", { className: "oc-toast-icon", "aria-hidden": "true", children: icon ?? GLYPHS3[variant] }),
3677
3703
  /* @__PURE__ */ jsxs83("div", { className: "oc-toast-body", children: [
3678
- /* @__PURE__ */ jsx100("p", { className: "oc-toast-title", children: title }),
3679
- description != null && /* @__PURE__ */ jsx100("p", { className: "oc-toast-description", children: description })
3704
+ /* @__PURE__ */ jsx102("p", { className: "oc-toast-title", children: title }),
3705
+ description != null && /* @__PURE__ */ jsx102("p", { className: "oc-toast-description", children: description })
3680
3706
  ] }),
3681
- onDismiss && /* @__PURE__ */ jsx100("button", { className: "oc-toast-close", type: "button", "aria-label": dismissLabel, onClick: onDismiss, children: "\xD7" })
3707
+ onDismiss && /* @__PURE__ */ jsx102("button", { className: "oc-toast-close", type: "button", "aria-label": dismissLabel, onClick: onDismiss, children: "\xD7" })
3682
3708
  ] });
3683
3709
  });
3684
- var ToastContainer = forwardRef98(function ToastContainer2({ top, static: isStatic, className, ...rest }, ref) {
3685
- return /* @__PURE__ */ jsx100(
3710
+ var ToastContainer = forwardRef100(function ToastContainer2({ top, static: isStatic, className, ...rest }, ref) {
3711
+ return /* @__PURE__ */ jsx102(
3686
3712
  "div",
3687
3713
  {
3688
3714
  ref,
@@ -3724,7 +3750,7 @@ function ToastProvider({ children, top, duration = 5e3, limit = 5 }) {
3724
3750
  const api = useMemo2(() => ({ toast, dismiss }), [toast, dismiss]);
3725
3751
  return /* @__PURE__ */ jsxs83(ToastContext.Provider, { value: api, children: [
3726
3752
  children,
3727
- /* @__PURE__ */ jsx100(ToastContainer, { top, "aria-live": "polite", children: items.map((t) => /* @__PURE__ */ jsx100(Toast, { variant: t.variant, title: t.title, description: t.description, onDismiss: () => dismiss(t.id) }, t.id)) })
3753
+ /* @__PURE__ */ jsx102(ToastContainer, { top, "aria-live": "polite", children: items.map((t) => /* @__PURE__ */ jsx102(Toast, { variant: t.variant, title: t.title, description: t.description, onDismiss: () => dismiss(t.id) }, t.id)) })
3728
3754
  ] });
3729
3755
  }
3730
3756
  function useToast() {
@@ -3734,41 +3760,41 @@ function useToast() {
3734
3760
  }
3735
3761
 
3736
3762
  // src/components/ToggleField.tsx
3737
- import { forwardRef as forwardRef99, useId as useId33 } from "react";
3738
- import { jsx as jsx101, jsxs as jsxs84 } from "react/jsx-runtime";
3739
- var ToggleField = forwardRef99(function ToggleField2({ label, description, card, reverse, fieldClassName, className, ...rest }, ref) {
3763
+ import { forwardRef as forwardRef101, useId as useId33 } from "react";
3764
+ import { jsx as jsx103, jsxs as jsxs84 } from "react/jsx-runtime";
3765
+ var ToggleField = forwardRef101(function ToggleField2({ label, description, card, reverse, fieldClassName, className, ...rest }, ref) {
3740
3766
  const descId = `oc-toggle-field-${useId33().replace(/:/g, "")}`;
3741
3767
  return /* @__PURE__ */ jsxs84("label", { className: cx("oc-toggle-field", card && "oc-toggle-field--card", reverse && "oc-toggle-field--reverse", fieldClassName), children: [
3742
3768
  /* @__PURE__ */ jsxs84("span", { className: "oc-toggle-field-text", children: [
3743
- /* @__PURE__ */ jsx101("span", { className: "oc-toggle-field-label", children: label }),
3744
- description != null && /* @__PURE__ */ jsx101("span", { className: "oc-toggle-field-description", id: descId, children: description })
3769
+ /* @__PURE__ */ jsx103("span", { className: "oc-toggle-field-label", children: label }),
3770
+ description != null && /* @__PURE__ */ jsx103("span", { className: "oc-toggle-field-description", id: descId, children: description })
3745
3771
  ] }),
3746
3772
  /* @__PURE__ */ jsxs84("span", { className: "oc-switch", children: [
3747
- /* @__PURE__ */ jsx101("input", { ref, type: "checkbox", role: "switch", className, "aria-describedby": description != null ? descId : void 0, ...rest }),
3748
- /* @__PURE__ */ jsx101("span", { className: "oc-switch-track" })
3773
+ /* @__PURE__ */ jsx103("input", { ref, type: "checkbox", role: "switch", className, "aria-describedby": description != null ? descId : void 0, ...rest }),
3774
+ /* @__PURE__ */ jsx103("span", { className: "oc-switch-track" })
3749
3775
  ] })
3750
3776
  ] });
3751
3777
  });
3752
3778
 
3753
3779
  // src/components/Tooltip.tsx
3754
- import { forwardRef as forwardRef100 } from "react";
3755
- import { jsx as jsx102, jsxs as jsxs85 } from "react/jsx-runtime";
3756
- var Tooltip = forwardRef100(function Tooltip2({ content, multiline, heading, side, className, children, ...rest }, ref) {
3780
+ import { forwardRef as forwardRef102 } from "react";
3781
+ import { jsx as jsx104, jsxs as jsxs85 } from "react/jsx-runtime";
3782
+ var Tooltip = forwardRef102(function Tooltip2({ content, multiline, heading, side, className, children, ...rest }, ref) {
3757
3783
  const classes = cx("oc-tooltip", multiline && !heading && "oc-tooltip--multiline", side && side !== "top" && `oc-tooltip--${side}`, className);
3758
- if (!heading) return /* @__PURE__ */ jsx102("span", { ref, className: classes, "data-tooltip": content, ...rest, children });
3784
+ if (!heading) return /* @__PURE__ */ jsx104("span", { ref, className: classes, "data-tooltip": content, ...rest, children });
3759
3785
  return /* @__PURE__ */ jsxs85("span", { ref, className: classes, ...rest, children: [
3760
3786
  children,
3761
3787
  /* @__PURE__ */ jsxs85("span", { className: "oc-tooltip__content", role: "tooltip", children: [
3762
- /* @__PURE__ */ jsx102("span", { className: "oc-tooltip__title", children: heading }),
3788
+ /* @__PURE__ */ jsx104("span", { className: "oc-tooltip__title", children: heading }),
3763
3789
  content
3764
3790
  ] })
3765
3791
  ] });
3766
3792
  });
3767
3793
 
3768
3794
  // src/components/TopProgress.tsx
3769
- import { forwardRef as forwardRef101, useEffect as useEffect10, useState as useState14 } from "react";
3770
- import { jsx as jsx103 } from "react/jsx-runtime";
3771
- var TopProgress = forwardRef101(function TopProgress2({ active = true, tone = "default", large, static: inFlow, fadeMs = 400, className, ...rest }, ref) {
3795
+ import { forwardRef as forwardRef103, useEffect as useEffect10, useState as useState14 } from "react";
3796
+ import { jsx as jsx105 } from "react/jsx-runtime";
3797
+ var TopProgress = forwardRef103(function TopProgress2({ active = true, tone = "default", large, static: inFlow, fadeMs = 400, className, ...rest }, ref) {
3772
3798
  const [phase, setPhase] = useState14(active ? "active" : "hidden");
3773
3799
  useEffect10(() => {
3774
3800
  if (active) {
@@ -3787,64 +3813,64 @@ var TopProgress = forwardRef101(function TopProgress2({ active = true, tone = "d
3787
3813
  phase === "done" && "is-done",
3788
3814
  className
3789
3815
  );
3790
- return /* @__PURE__ */ jsx103("progress", { ref, className: cls, hidden: phase === "hidden", ...rest });
3816
+ return /* @__PURE__ */ jsx105("progress", { ref, className: cls, hidden: phase === "hidden", ...rest });
3791
3817
  });
3792
3818
 
3793
3819
  // src/components/Tree.tsx
3794
- import { forwardRef as forwardRef102 } from "react";
3795
- import { Fragment as Fragment24, jsx as jsx104, jsxs as jsxs86 } from "react/jsx-runtime";
3820
+ import { forwardRef as forwardRef104 } from "react";
3821
+ import { Fragment as Fragment24, jsx as jsx106, jsxs as jsxs86 } from "react/jsx-runtime";
3796
3822
  function RowContent({ item }) {
3797
3823
  const isLink = item.href !== void 0;
3798
3824
  return /* @__PURE__ */ jsxs86(Fragment24, { children: [
3799
- item.icon != null && /* @__PURE__ */ jsx104("span", { className: "oc-tree-icon", "aria-hidden": "true", children: item.icon }),
3800
- isLink ? /* @__PURE__ */ jsx104("a", { className: "oc-tree-label", href: item.href, "aria-current": item.current ? "true" : void 0, children: item.label }) : /* @__PURE__ */ jsx104("span", { className: "oc-tree-label", children: item.label }),
3801
- item.count != null && /* @__PURE__ */ jsx104("span", { className: "oc-tree-count", children: item.count }),
3802
- item.actions != null && /* @__PURE__ */ jsx104("span", { className: "oc-tree-actions", children: item.actions })
3825
+ item.icon != null && /* @__PURE__ */ jsx106("span", { className: "oc-tree-icon", "aria-hidden": "true", children: item.icon }),
3826
+ isLink ? /* @__PURE__ */ jsx106("a", { className: "oc-tree-label", href: item.href, "aria-current": item.current ? "true" : void 0, children: item.label }) : /* @__PURE__ */ jsx106("span", { className: "oc-tree-label", children: item.label }),
3827
+ item.count != null && /* @__PURE__ */ jsx106("span", { className: "oc-tree-count", children: item.count }),
3828
+ item.actions != null && /* @__PURE__ */ jsx106("span", { className: "oc-tree-actions", children: item.actions })
3803
3829
  ] });
3804
3830
  }
3805
3831
  function TreeNode({ item }) {
3806
3832
  const rowCurrent = item.current && item.href === void 0 ? "true" : void 0;
3807
3833
  const rowCls = cx("oc-tree-row", item.muted && "is-muted");
3808
3834
  if (!item.children?.length) {
3809
- return /* @__PURE__ */ jsx104("li", { children: /* @__PURE__ */ jsx104("div", { className: rowCls, "aria-current": rowCurrent, children: /* @__PURE__ */ jsx104(RowContent, { item }) }) });
3835
+ return /* @__PURE__ */ jsx106("li", { children: /* @__PURE__ */ jsx106("div", { className: rowCls, "aria-current": rowCurrent, children: /* @__PURE__ */ jsx106(RowContent, { item }) }) });
3810
3836
  }
3811
- return /* @__PURE__ */ jsx104("li", { children: /* @__PURE__ */ jsxs86("details", { className: "oc-tree-node", open: item.open, children: [
3812
- /* @__PURE__ */ jsx104("summary", { className: rowCls, "aria-current": rowCurrent, children: /* @__PURE__ */ jsx104(RowContent, { item }) }),
3813
- /* @__PURE__ */ jsx104(TreeList, { items: item.children })
3837
+ return /* @__PURE__ */ jsx106("li", { children: /* @__PURE__ */ jsxs86("details", { className: "oc-tree-node", open: item.open, children: [
3838
+ /* @__PURE__ */ jsx106("summary", { className: rowCls, "aria-current": rowCurrent, children: /* @__PURE__ */ jsx106(RowContent, { item }) }),
3839
+ /* @__PURE__ */ jsx106(TreeList, { items: item.children })
3814
3840
  ] }) });
3815
3841
  }
3816
3842
  function TreeList({ items }) {
3817
- return /* @__PURE__ */ jsx104("ul", { className: "oc-tree-list", children: items.map((item, i) => /* @__PURE__ */ jsx104(TreeNode, { item }, i)) });
3843
+ return /* @__PURE__ */ jsx106("ul", { className: "oc-tree-list", children: items.map((item, i) => /* @__PURE__ */ jsx106(TreeNode, { item }, i)) });
3818
3844
  }
3819
- var Tree = forwardRef102(function Tree2({ items, head, headActions, quiet, flush, className, ...rest }, ref) {
3845
+ var Tree = forwardRef104(function Tree2({ items, head, headActions, quiet, flush, className, ...rest }, ref) {
3820
3846
  return /* @__PURE__ */ jsxs86("div", { ref, className: cx("oc-tree", quiet && "oc-tree--quiet", flush && "oc-tree--flush", className), ...rest, children: [
3821
3847
  head != null && /* @__PURE__ */ jsxs86("div", { className: "oc-tree-row oc-tree-head", children: [
3822
- /* @__PURE__ */ jsx104("span", { className: "oc-tree-label", children: head }),
3823
- headActions != null && /* @__PURE__ */ jsx104("span", { className: "oc-tree-actions", children: headActions })
3848
+ /* @__PURE__ */ jsx106("span", { className: "oc-tree-label", children: head }),
3849
+ headActions != null && /* @__PURE__ */ jsx106("span", { className: "oc-tree-actions", children: headActions })
3824
3850
  ] }),
3825
- /* @__PURE__ */ jsx104(TreeList, { items })
3851
+ /* @__PURE__ */ jsx106(TreeList, { items })
3826
3852
  ] });
3827
3853
  });
3828
3854
 
3829
3855
  // src/components/UpgradeBanner.tsx
3830
- import { forwardRef as forwardRef103 } from "react";
3831
- import { Fragment as Fragment25, jsx as jsx105, jsxs as jsxs87 } from "react/jsx-runtime";
3832
- var UpgradeBanner = forwardRef103(function UpgradeBanner2({ title, plan, text, usage, icon, actions, premium, compact, onDismiss, dismissLabel = "Dismiss", className, children, ...rest }, ref) {
3856
+ import { forwardRef as forwardRef105 } from "react";
3857
+ import { Fragment as Fragment25, jsx as jsx107, jsxs as jsxs87 } from "react/jsx-runtime";
3858
+ var UpgradeBanner = forwardRef105(function UpgradeBanner2({ title, plan, text, usage, icon, actions, premium, compact, onDismiss, dismissLabel = "Dismiss", className, children, ...rest }, ref) {
3833
3859
  const cls = cx("oc-upgrade-banner", premium && "oc-upgrade-banner--premium", compact && "oc-upgrade-banner--compact", className);
3834
3860
  const body = text ?? children;
3835
3861
  return /* @__PURE__ */ jsxs87("aside", { ref, className: cls, ...rest, children: [
3836
- icon != null && /* @__PURE__ */ jsx105("span", { className: "oc-upgrade-banner-icon", "aria-hidden": "true", children: icon }),
3862
+ icon != null && /* @__PURE__ */ jsx107("span", { className: "oc-upgrade-banner-icon", "aria-hidden": "true", children: icon }),
3837
3863
  /* @__PURE__ */ jsxs87("div", { className: "oc-upgrade-banner-body", children: [
3838
3864
  /* @__PURE__ */ jsxs87("p", { className: "oc-upgrade-banner-title", children: [
3839
3865
  title,
3840
3866
  plan != null && /* @__PURE__ */ jsxs87(Fragment25, { children: [
3841
3867
  " ",
3842
- /* @__PURE__ */ jsx105("span", { className: "oc-upgrade-banner-plan", children: plan })
3868
+ /* @__PURE__ */ jsx107("span", { className: "oc-upgrade-banner-plan", children: plan })
3843
3869
  ] })
3844
3870
  ] }),
3845
- body != null && /* @__PURE__ */ jsx105("p", { className: "oc-upgrade-banner-text", children: body }),
3871
+ body != null && /* @__PURE__ */ jsx107("p", { className: "oc-upgrade-banner-text", children: body }),
3846
3872
  usage && /* @__PURE__ */ jsxs87("div", { className: "oc-upgrade-banner-usage", children: [
3847
- /* @__PURE__ */ jsx105("span", { children: usage.label }),
3873
+ /* @__PURE__ */ jsx107("span", { children: usage.label }),
3848
3874
  /* @__PURE__ */ jsxs87("meter", { className: "oc-upgrade-banner-meter", min: 0, max: usage.max, low: usage.max * 0.6, high: usage.max * 0.8, optimum: 0, value: usage.value, children: [
3849
3875
  usage.value,
3850
3876
  " of ",
@@ -3857,76 +3883,85 @@ var UpgradeBanner = forwardRef103(function UpgradeBanner2({ title, plan, text, u
3857
3883
  ] })
3858
3884
  ] })
3859
3885
  ] }),
3860
- actions != null && /* @__PURE__ */ jsx105("div", { className: "oc-upgrade-banner-actions", children: actions }),
3861
- onDismiss && /* @__PURE__ */ jsx105("button", { className: "oc-upgrade-banner-dismiss", type: "button", "aria-label": dismissLabel, onClick: onDismiss, children: "\xD7" })
3886
+ actions != null && /* @__PURE__ */ jsx107("div", { className: "oc-upgrade-banner-actions", children: actions }),
3887
+ onDismiss && /* @__PURE__ */ jsx107("button", { className: "oc-upgrade-banner-dismiss", type: "button", "aria-label": dismissLabel, onClick: onDismiss, children: "\xD7" })
3862
3888
  ] });
3863
3889
  });
3864
3890
 
3865
3891
  // src/components/User.tsx
3866
- import { forwardRef as forwardRef104 } from "react";
3867
- import { jsx as jsx106, jsxs as jsxs88 } from "react/jsx-runtime";
3868
- var User = forwardRef104(function User2({ name, email, initials, avatarSrc, avatarSize = "md", className, ...rest }, ref) {
3892
+ import { forwardRef as forwardRef106 } from "react";
3893
+ import { jsx as jsx108, jsxs as jsxs88 } from "react/jsx-runtime";
3894
+ var User = forwardRef106(function User2({ name, email, initials, avatarSrc, avatarSize = "md", className, ...rest }, ref) {
3869
3895
  return /* @__PURE__ */ jsxs88("div", { ref, className: cx("oc-user", className), ...rest, children: [
3870
- /* @__PURE__ */ jsx106(Avatar, { size: avatarSize, src: avatarSrc, children: initials }),
3896
+ /* @__PURE__ */ jsx108(Avatar, { size: avatarSize, src: avatarSrc, children: initials }),
3871
3897
  /* @__PURE__ */ jsxs88("span", { className: "oc-user-text", children: [
3872
- /* @__PURE__ */ jsx106("span", { className: "oc-user-name", children: name }),
3873
- email != null && /* @__PURE__ */ jsx106("span", { className: "oc-user-email", children: email })
3898
+ /* @__PURE__ */ jsx108("span", { className: "oc-user-name", children: name }),
3899
+ email != null && /* @__PURE__ */ jsx108("span", { className: "oc-user-email", children: email })
3874
3900
  ] })
3875
3901
  ] });
3876
3902
  });
3877
3903
 
3878
3904
  // src/components/VersionBanner.tsx
3879
- import { forwardRef as forwardRef105 } from "react";
3880
- import { jsx as jsx107, jsxs as jsxs89 } from "react/jsx-runtime";
3881
- var VersionBanner = forwardRef105(function VersionBanner2({ version, text, short = "New version", actionLabel = "Reload", onReload, tone = "warning", floating, className, ...rest }, ref) {
3905
+ import { forwardRef as forwardRef107 } from "react";
3906
+ import { jsx as jsx109, jsxs as jsxs89 } from "react/jsx-runtime";
3907
+ var VersionBanner = forwardRef107(function VersionBanner2({ version, text, short = "New version", actionLabel = "Reload", onReload, tone = "warning", floating, className, ...rest }, ref) {
3882
3908
  if (!version) return null;
3883
3909
  const cls = cx("oc-version-banner", tone !== "warning" && `oc-version-banner--${tone}`, floating && "oc-version-banner--floating", className);
3884
3910
  return /* @__PURE__ */ jsxs89("div", { ref, className: cls, role: "status", ...rest, children: [
3885
- /* @__PURE__ */ jsx107("span", { className: "oc-version-banner-dot", "aria-hidden": "true" }),
3886
- /* @__PURE__ */ jsx107("span", { className: "oc-version-banner-text", children: text ?? `New version (${version}) available - reload the page` }),
3887
- /* @__PURE__ */ jsx107("span", { className: "oc-version-banner-short", children: short }),
3888
- onReload ? /* @__PURE__ */ jsx107("button", { className: "oc-version-banner-action", type: "button", onClick: onReload, children: actionLabel }) : /* @__PURE__ */ jsx107("a", { className: "oc-version-banner-action", href: "", children: actionLabel })
3911
+ /* @__PURE__ */ jsx109("span", { className: "oc-version-banner-dot", "aria-hidden": "true" }),
3912
+ /* @__PURE__ */ jsx109("span", { className: "oc-version-banner-text", children: text ?? `New version (${version}) available - reload the page` }),
3913
+ /* @__PURE__ */ jsx109("span", { className: "oc-version-banner-short", children: short }),
3914
+ onReload ? /* @__PURE__ */ jsx109("button", { className: "oc-version-banner-action", type: "button", onClick: onReload, children: actionLabel }) : /* @__PURE__ */ jsx109("a", { className: "oc-version-banner-action", href: "", children: actionLabel })
3889
3915
  ] });
3890
3916
  });
3891
3917
 
3918
+ // src/components/Watermark.tsx
3919
+ import { forwardRef as forwardRef108, Fragment as Fragment26 } from "react";
3920
+ import { jsx as jsx110 } from "react/jsx-runtime";
3921
+ var Watermark = forwardRef108(function Watermark2({ text = "Concept", variant = "diagonal", tone = "default", repeat = 12, mono = false, className, ...rest }, ref) {
3922
+ const classes = cx("oc-watermark", variant !== "diagonal" && `oc-watermark--${variant}`, tone !== "default" && `oc-watermark--${tone}`, mono && "oc-watermark--mono", className);
3923
+ const count = variant === "tile" ? Math.max(1, repeat) : 1;
3924
+ return /* @__PURE__ */ jsx110("span", { ref, className: classes, "aria-hidden": "true", ...rest, children: Array.from({ length: count }, (_, i) => typeof text === "string" || typeof text === "number" ? /* @__PURE__ */ jsx110("span", { children: text }, i) : /* @__PURE__ */ jsx110(Fragment26, { children: text }, i)) });
3925
+ });
3926
+
3892
3927
  // src/blocks/BlockAboutTimeline.tsx
3893
- import { forwardRef as forwardRef106, useId as useId34 } from "react";
3894
- import { jsx as jsx108, jsxs as jsxs90 } from "react/jsx-runtime";
3895
- var BlockAboutTimeline = forwardRef106(function BlockAboutTimeline2({ eyebrow, title, children, timeline = [], image, imageAlt = "", badge, reverse = false, className, ...rest }, ref) {
3928
+ import { forwardRef as forwardRef109, useId as useId34 } from "react";
3929
+ import { jsx as jsx111, jsxs as jsxs90 } from "react/jsx-runtime";
3930
+ var BlockAboutTimeline = forwardRef109(function BlockAboutTimeline2({ eyebrow, title, children, timeline = [], image, imageAlt = "", badge, reverse = false, className, ...rest }, ref) {
3896
3931
  const titleId = `oc-about-title-${useId34().replace(/[^\w-]/g, "")}`;
3897
- return /* @__PURE__ */ jsx108("section", { ref, className: cx("oc-block-about", reverse && "oc-block-about--reverse", className), "aria-labelledby": titleId, ...rest, children: /* @__PURE__ */ jsxs90("div", { className: "oc-block-about-inner", children: [
3932
+ return /* @__PURE__ */ jsx111("section", { ref, className: cx("oc-block-about", reverse && "oc-block-about--reverse", className), "aria-labelledby": titleId, ...rest, children: /* @__PURE__ */ jsxs90("div", { className: "oc-block-about-inner", children: [
3898
3933
  /* @__PURE__ */ jsxs90("figure", { className: "oc-block-about-media", "aria-hidden": image ? void 0 : true, children: [
3899
- image && /* @__PURE__ */ jsx108("img", { src: image, alt: imageAlt, loading: "lazy" }),
3900
- badge != null && /* @__PURE__ */ jsx108("span", { className: "oc-block-about-badge", children: badge })
3934
+ image && /* @__PURE__ */ jsx111("img", { src: image, alt: imageAlt, loading: "lazy" }),
3935
+ badge != null && /* @__PURE__ */ jsx111("span", { className: "oc-block-about-badge", children: badge })
3901
3936
  ] }),
3902
3937
  /* @__PURE__ */ jsxs90("div", { className: "oc-block-about-copy", children: [
3903
- eyebrow != null && /* @__PURE__ */ jsx108("p", { className: "oc-eyebrow", children: eyebrow }),
3904
- /* @__PURE__ */ jsx108("h2", { className: "oc-block-about-title", id: titleId, children: title }),
3938
+ eyebrow != null && /* @__PURE__ */ jsx111("p", { className: "oc-eyebrow", children: eyebrow }),
3939
+ /* @__PURE__ */ jsx111("h2", { className: "oc-block-about-title", id: titleId, children: title }),
3905
3940
  children,
3906
- timeline.length > 0 && /* @__PURE__ */ jsx108(Timeline, { items: timeline })
3941
+ timeline.length > 0 && /* @__PURE__ */ jsx111(Timeline, { items: timeline })
3907
3942
  ] })
3908
3943
  ] }) });
3909
3944
  });
3910
3945
 
3911
3946
  // src/blocks/BlockAppHeader.tsx
3912
- import { forwardRef as forwardRef107 } from "react";
3913
- import { jsx as jsx109, jsxs as jsxs91 } from "react/jsx-runtime";
3914
- var BlockAppHeader = forwardRef107(function BlockAppHeader2({ toggleFor, toggleLabel = "Toggle sidebar", nav, navLabel = "Module navigation", actions, title, className, ...rest }, ref) {
3947
+ import { forwardRef as forwardRef110 } from "react";
3948
+ import { jsx as jsx112, jsxs as jsxs91 } from "react/jsx-runtime";
3949
+ var BlockAppHeader = forwardRef110(function BlockAppHeader2({ toggleFor, toggleLabel = "Toggle sidebar", nav, navLabel = "Module navigation", actions, title, className, ...rest }, ref) {
3915
3950
  return /* @__PURE__ */ jsxs91("header", { ref, className: cx("oc-block-appbar", className), ...rest, children: [
3916
3951
  toggleFor && /* @__PURE__ */ jsxs91("label", { className: "oc-btn oc-btn--ghost oc-btn--icon", htmlFor: toggleFor, title: toggleLabel, children: [
3917
- /* @__PURE__ */ jsx109(Icon, { d: "M4 6h16M4 12h16M4 18h16" }),
3918
- /* @__PURE__ */ jsx109("span", { className: "oc-visually-hidden", children: toggleLabel })
3952
+ /* @__PURE__ */ jsx112(Icon, { d: "M4 6h16M4 12h16M4 18h16" }),
3953
+ /* @__PURE__ */ jsx112("span", { className: "oc-visually-hidden", children: toggleLabel })
3919
3954
  ] }),
3920
- title != null && /* @__PURE__ */ jsx109("span", { className: "oc-block-appbar-title", children: title }),
3921
- nav && /* @__PURE__ */ jsx109(Navmenu, { label: navLabel, navClassName: "oc-block-appbar-nav", children: nav.map((item, i) => /* @__PURE__ */ jsx109(NavmenuItem, { children: /* @__PURE__ */ jsx109(NavmenuLink, { href: item.href, current: item.current, children: item.label }) }, i)) }),
3922
- actions != null && /* @__PURE__ */ jsx109("div", { className: "oc-block-appbar-actions", children: actions })
3955
+ title != null && /* @__PURE__ */ jsx112("span", { className: "oc-block-appbar-title", children: title }),
3956
+ nav && /* @__PURE__ */ jsx112(Navmenu, { label: navLabel, navClassName: "oc-block-appbar-nav", children: nav.map((item, i) => /* @__PURE__ */ jsx112(NavmenuItem, { children: /* @__PURE__ */ jsx112(NavmenuLink, { href: item.href, current: item.current, children: item.label }) }, i)) }),
3957
+ actions != null && /* @__PURE__ */ jsx112("div", { className: "oc-block-appbar-actions", children: actions })
3923
3958
  ] });
3924
3959
  });
3925
3960
 
3926
3961
  // src/blocks/BlockAppShell.tsx
3927
- import { forwardRef as forwardRef108, useId as useId35 } from "react";
3928
- import { jsx as jsx110, jsxs as jsxs92 } from "react/jsx-runtime";
3929
- var BlockAppShell = forwardRef108(function BlockAppShell2({ sidebar, header, breadcrumbs, toggleId, height, className, style, children, ...rest }, ref) {
3962
+ import { forwardRef as forwardRef111, useId as useId35 } from "react";
3963
+ import { jsx as jsx113, jsxs as jsxs92 } from "react/jsx-runtime";
3964
+ var BlockAppShell = forwardRef111(function BlockAppShell2({ sidebar, header, breadcrumbs, toggleId, height, className, style, children, ...rest }, ref) {
3930
3965
  const auto = useId35();
3931
3966
  const id = toggleId ?? `oc-shell-toggle-${auto.replace(/:/g, "")}`;
3932
3967
  return /* @__PURE__ */ jsxs92(
@@ -3937,14 +3972,14 @@ var BlockAppShell = forwardRef108(function BlockAppShell2({ sidebar, header, bre
3937
3972
  style: height ? { "--oc-block-shell-height": height, ...style } : style,
3938
3973
  ...rest,
3939
3974
  children: [
3940
- /* @__PURE__ */ jsx110("input", { className: "oc-block-shell-toggle", type: "checkbox", id, "aria-label": "Collapse sidebar" }),
3975
+ /* @__PURE__ */ jsx113("input", { className: "oc-block-shell-toggle", type: "checkbox", id, "aria-label": "Collapse sidebar" }),
3941
3976
  sidebar,
3942
3977
  /* @__PURE__ */ jsxs92("div", { className: "oc-block-shell-main", children: [
3943
3978
  header,
3944
- breadcrumbs && /* @__PURE__ */ jsx110("div", { className: "oc-block-shell-breadcrumbs", children: /* @__PURE__ */ jsx110("nav", { "aria-label": "Breadcrumb", children: /* @__PURE__ */ jsx110("ol", { className: "oc-breadcrumb", children: breadcrumbs.map(
3945
- (item, i) => item.href && i < breadcrumbs.length - 1 ? /* @__PURE__ */ jsx110("li", { className: "oc-breadcrumb-item", children: /* @__PURE__ */ jsx110("a", { href: item.href, children: item.label }) }, i) : /* @__PURE__ */ jsx110("li", { className: "oc-breadcrumb-item", "aria-current": "page", children: item.label }, i)
3979
+ breadcrumbs && /* @__PURE__ */ jsx113("div", { className: "oc-block-shell-breadcrumbs", children: /* @__PURE__ */ jsx113("nav", { "aria-label": "Breadcrumb", children: /* @__PURE__ */ jsx113("ol", { className: "oc-breadcrumb", children: breadcrumbs.map(
3980
+ (item, i) => item.href && i < breadcrumbs.length - 1 ? /* @__PURE__ */ jsx113("li", { className: "oc-breadcrumb-item", children: /* @__PURE__ */ jsx113("a", { href: item.href, children: item.label }) }, i) : /* @__PURE__ */ jsx113("li", { className: "oc-breadcrumb-item", "aria-current": "page", children: item.label }, i)
3946
3981
  ) }) }) }),
3947
- /* @__PURE__ */ jsx110("main", { className: "oc-block-shell-content", children })
3982
+ /* @__PURE__ */ jsx113("main", { className: "oc-block-shell-content", children })
3948
3983
  ] })
3949
3984
  ]
3950
3985
  }
@@ -3952,9 +3987,9 @@ var BlockAppShell = forwardRef108(function BlockAppShell2({ sidebar, header, bre
3952
3987
  });
3953
3988
 
3954
3989
  // src/blocks/BlockAuth.tsx
3955
- import { forwardRef as forwardRef109, useId as useId36 } from "react";
3956
- import { Fragment as Fragment26, jsx as jsx111, jsxs as jsxs93 } from "react/jsx-runtime";
3957
- var BlockAuth = forwardRef109(function BlockAuth2({ title = "Sign in", subtitle, submitLabel = "Sign in", socialLabel, dividerLabel = "or continue with", footer, onSubmit, onSocial, className, ...rest }, ref) {
3990
+ import { forwardRef as forwardRef112, useId as useId36 } from "react";
3991
+ import { Fragment as Fragment27, jsx as jsx114, jsxs as jsxs93 } from "react/jsx-runtime";
3992
+ var BlockAuth = forwardRef112(function BlockAuth2({ title = "Sign in", subtitle, submitLabel = "Sign in", socialLabel, dividerLabel = "or continue with", footer, onSubmit, onSocial, className, ...rest }, ref) {
3958
3993
  const id = useId36().replace(/:/g, "");
3959
3994
  const submit = (e) => {
3960
3995
  e.preventDefault();
@@ -3963,30 +3998,30 @@ var BlockAuth = forwardRef109(function BlockAuth2({ title = "Sign in", subtitle,
3963
3998
  };
3964
3999
  return /* @__PURE__ */ jsxs93("div", { ref, className: cx("oc-block-auth", className), ...rest, children: [
3965
4000
  /* @__PURE__ */ jsxs93("form", { className: "oc-block-auth-card", onSubmit: submit, children: [
3966
- /* @__PURE__ */ jsx111("h2", { children: title }),
3967
- subtitle != null && /* @__PURE__ */ jsx111("p", { className: "oc-block-subtitle", children: subtitle }),
4001
+ /* @__PURE__ */ jsx114("h2", { children: title }),
4002
+ subtitle != null && /* @__PURE__ */ jsx114("p", { className: "oc-block-subtitle", children: subtitle }),
3968
4003
  /* @__PURE__ */ jsxs93("div", { className: "oc-form-group", children: [
3969
- /* @__PURE__ */ jsx111("label", { className: "oc-label", htmlFor: `${id}-email`, children: "Email" }),
3970
- /* @__PURE__ */ jsx111("input", { className: "oc-input", id: `${id}-email`, name: "email", type: "email", placeholder: "name@company.com" })
4004
+ /* @__PURE__ */ jsx114("label", { className: "oc-label", htmlFor: `${id}-email`, children: "Email" }),
4005
+ /* @__PURE__ */ jsx114("input", { className: "oc-input", id: `${id}-email`, name: "email", type: "email", placeholder: "name@company.com" })
3971
4006
  ] }),
3972
4007
  /* @__PURE__ */ jsxs93("div", { className: "oc-form-group", children: [
3973
- /* @__PURE__ */ jsx111("label", { className: "oc-label", htmlFor: `${id}-password`, children: "Password" }),
3974
- /* @__PURE__ */ jsx111("input", { className: "oc-input", id: `${id}-password`, name: "password", type: "password", placeholder: "********" })
4008
+ /* @__PURE__ */ jsx114("label", { className: "oc-label", htmlFor: `${id}-password`, children: "Password" }),
4009
+ /* @__PURE__ */ jsx114("input", { className: "oc-input", id: `${id}-password`, name: "password", type: "password", placeholder: "********" })
3975
4010
  ] }),
3976
- /* @__PURE__ */ jsx111("button", { className: "oc-btn", type: "submit", style: { width: "100%" }, children: submitLabel }),
3977
- socialLabel != null && /* @__PURE__ */ jsxs93(Fragment26, { children: [
3978
- /* @__PURE__ */ jsx111("div", { className: "oc-block-auth-divider", children: dividerLabel }),
3979
- /* @__PURE__ */ jsx111("button", { className: "oc-btn oc-btn--outline", type: "button", style: { width: "100%" }, onClick: onSocial, children: socialLabel })
4011
+ /* @__PURE__ */ jsx114("button", { className: "oc-btn", type: "submit", style: { width: "100%" }, children: submitLabel }),
4012
+ socialLabel != null && /* @__PURE__ */ jsxs93(Fragment27, { children: [
4013
+ /* @__PURE__ */ jsx114("div", { className: "oc-block-auth-divider", children: dividerLabel }),
4014
+ /* @__PURE__ */ jsx114("button", { className: "oc-btn oc-btn--outline", type: "button", style: { width: "100%" }, onClick: onSocial, children: socialLabel })
3980
4015
  ] })
3981
4016
  ] }),
3982
- footer != null && /* @__PURE__ */ jsx111("div", { className: "oc-block-auth-footer", children: footer })
4017
+ footer != null && /* @__PURE__ */ jsx114("div", { className: "oc-block-auth-footer", children: footer })
3983
4018
  ] });
3984
4019
  });
3985
4020
 
3986
4021
  // src/blocks/BlockAuthSplit.tsx
3987
- import { forwardRef as forwardRef110, useId as useId37 } from "react";
3988
- import { jsx as jsx112, jsxs as jsxs94 } from "react/jsx-runtime";
3989
- var BlockAuthSplit = forwardRef110(function BlockAuthSplit2({
4022
+ import { forwardRef as forwardRef113, useId as useId37 } from "react";
4023
+ import { jsx as jsx115, jsxs as jsxs94 } from "react/jsx-runtime";
4024
+ var BlockAuthSplit = forwardRef113(function BlockAuthSplit2({
3990
4025
  logo,
3991
4026
  logoHref = "#",
3992
4027
  quote,
@@ -4013,58 +4048,58 @@ var BlockAuthSplit = forwardRef110(function BlockAuthSplit2({
4013
4048
  };
4014
4049
  return /* @__PURE__ */ jsxs94("div", { ref, className: cx("oc-block-authsplit", className), ...rest, children: [
4015
4050
  /* @__PURE__ */ jsxs94("aside", { className: "oc-block-authsplit-brand", children: [
4016
- logo != null && /* @__PURE__ */ jsx112("a", { className: "oc-block-authsplit-logo", href: logoHref, children: logo }),
4051
+ logo != null && /* @__PURE__ */ jsx115("a", { className: "oc-block-authsplit-logo", href: logoHref, children: logo }),
4017
4052
  quote != null && /* @__PURE__ */ jsxs94("blockquote", { className: "oc-block-authsplit-quote", children: [
4018
- /* @__PURE__ */ jsx112("p", { children: quote }),
4019
- quoteAuthor != null && /* @__PURE__ */ jsx112("footer", { children: quoteAuthor })
4053
+ /* @__PURE__ */ jsx115("p", { children: quote }),
4054
+ quoteAuthor != null && /* @__PURE__ */ jsx115("footer", { children: quoteAuthor })
4020
4055
  ] })
4021
4056
  ] }),
4022
- /* @__PURE__ */ jsx112("div", { className: "oc-block-authsplit-form", children: /* @__PURE__ */ jsxs94("form", { className: "oc-block-authsplit-card", onSubmit: submit, children: [
4023
- /* @__PURE__ */ jsx112("h1", { className: "oc-block-authsplit-title", children: title }),
4024
- subtitle != null && /* @__PURE__ */ jsx112("p", { className: "oc-block-authsplit-subtitle", children: subtitle }),
4057
+ /* @__PURE__ */ jsx115("div", { className: "oc-block-authsplit-form", children: /* @__PURE__ */ jsxs94("form", { className: "oc-block-authsplit-card", onSubmit: submit, children: [
4058
+ /* @__PURE__ */ jsx115("h1", { className: "oc-block-authsplit-title", children: title }),
4059
+ subtitle != null && /* @__PURE__ */ jsx115("p", { className: "oc-block-authsplit-subtitle", children: subtitle }),
4025
4060
  /* @__PURE__ */ jsxs94("div", { className: "oc-block-authsplit-fields", children: [
4026
4061
  /* @__PURE__ */ jsxs94("div", { className: "oc-field", children: [
4027
- /* @__PURE__ */ jsx112("label", { className: "oc-field-label", htmlFor: `${id}-email`, children: "E-mail" }),
4028
- /* @__PURE__ */ jsx112("input", { className: "oc-input", id: `${id}-email`, name: "email", type: "email", autoComplete: "username", placeholder: "name@company.com", required: true })
4062
+ /* @__PURE__ */ jsx115("label", { className: "oc-field-label", htmlFor: `${id}-email`, children: "E-mail" }),
4063
+ /* @__PURE__ */ jsx115("input", { className: "oc-input", id: `${id}-email`, name: "email", type: "email", autoComplete: "username", placeholder: "name@company.com", required: true })
4029
4064
  ] }),
4030
4065
  /* @__PURE__ */ jsxs94("div", { className: "oc-field", children: [
4031
- /* @__PURE__ */ jsx112("label", { className: "oc-field-label", htmlFor: `${id}-password`, children: "Password" }),
4032
- /* @__PURE__ */ jsx112(PasswordInput, { id: `${id}-password`, name: "password", required: true })
4066
+ /* @__PURE__ */ jsx115("label", { className: "oc-field-label", htmlFor: `${id}-password`, children: "Password" }),
4067
+ /* @__PURE__ */ jsx115(PasswordInput, { id: `${id}-password`, name: "password", required: true })
4033
4068
  ] }),
4034
4069
  /* @__PURE__ */ jsxs94("div", { className: "oc-block-authsplit-row", children: [
4035
4070
  /* @__PURE__ */ jsxs94("label", { children: [
4036
- /* @__PURE__ */ jsx112("input", { className: "oc-checkbox", type: "checkbox", name: "remember" }),
4071
+ /* @__PURE__ */ jsx115("input", { className: "oc-checkbox", type: "checkbox", name: "remember" }),
4037
4072
  " ",
4038
4073
  rememberLabel
4039
4074
  ] }),
4040
- /* @__PURE__ */ jsx112("a", { className: "oc-link", href: forgotHref, children: forgotLabel })
4075
+ /* @__PURE__ */ jsx115("a", { className: "oc-link", href: forgotHref, children: forgotLabel })
4041
4076
  ] }),
4042
- /* @__PURE__ */ jsx112("button", { className: "oc-btn", type: "submit", style: { width: "100%" }, children: submitLabel })
4077
+ /* @__PURE__ */ jsx115("button", { className: "oc-btn", type: "submit", style: { width: "100%" }, children: submitLabel })
4043
4078
  ] })
4044
4079
  ] }) })
4045
4080
  ] });
4046
4081
  });
4047
4082
 
4048
4083
  // src/blocks/BlockContactGrid.tsx
4049
- import { forwardRef as forwardRef111, useId as useId38 } from "react";
4050
- import { jsx as jsx113, jsxs as jsxs95 } from "react/jsx-runtime";
4051
- var BlockContactGrid = forwardRef111(function BlockContactGrid2({ eyebrow, title, lead, cards, plain = false, className, ...rest }, ref) {
4084
+ import { forwardRef as forwardRef114, useId as useId38 } from "react";
4085
+ import { jsx as jsx116, jsxs as jsxs95 } from "react/jsx-runtime";
4086
+ var BlockContactGrid = forwardRef114(function BlockContactGrid2({ eyebrow, title, lead, cards, plain = false, className, ...rest }, ref) {
4052
4087
  const titleId = `oc-contact-title-${useId38().replace(/[^\w-]/g, "")}`;
4053
4088
  return /* @__PURE__ */ jsxs95("section", { ref, className: cx("oc-block-contact", plain && "oc-block-contact--plain", className), "aria-labelledby": title != null ? titleId : void 0, ...rest, children: [
4054
4089
  (eyebrow != null || title != null || lead != null) && /* @__PURE__ */ jsxs95("div", { className: "oc-block-contact-head", children: [
4055
- eyebrow != null && /* @__PURE__ */ jsx113("p", { className: "oc-eyebrow", children: eyebrow }),
4056
- title != null && /* @__PURE__ */ jsx113("h2", { className: "oc-block-contact-heading", id: titleId, children: title }),
4057
- lead != null && /* @__PURE__ */ jsx113("p", { className: "oc-block-contact-lead", children: lead })
4090
+ eyebrow != null && /* @__PURE__ */ jsx116("p", { className: "oc-eyebrow", children: eyebrow }),
4091
+ title != null && /* @__PURE__ */ jsx116("h2", { className: "oc-block-contact-heading", id: titleId, children: title }),
4092
+ lead != null && /* @__PURE__ */ jsx116("p", { className: "oc-block-contact-lead", children: lead })
4058
4093
  ] }),
4059
- /* @__PURE__ */ jsx113("div", { className: "oc-block-contact-grid", children: cards.map((card, i) => {
4094
+ /* @__PURE__ */ jsx116("div", { className: "oc-block-contact-grid", children: cards.map((card, i) => {
4060
4095
  const Card2 = card.address ? "address" : "article";
4061
4096
  const Title = card.address ? "span" : "h3";
4062
4097
  const Line = card.address ? "span" : "p";
4063
4098
  return /* @__PURE__ */ jsxs95(Card2, { className: "oc-block-contact-card", children: [
4064
- card.icon != null && /* @__PURE__ */ jsx113("span", { className: cx("oc-product-mark oc-product-mark--sm oc-product-mark--soft", card.accent && `oc-accent--${card.accent}`), "aria-hidden": "true", children: card.icon }),
4065
- /* @__PURE__ */ jsx113(Title, { className: "oc-block-contact-title", children: card.title }),
4099
+ card.icon != null && /* @__PURE__ */ jsx116("span", { className: cx("oc-product-mark oc-product-mark--sm oc-product-mark--soft", card.accent && `oc-accent--${card.accent}`), "aria-hidden": "true", children: card.icon }),
4100
+ /* @__PURE__ */ jsx116(Title, { className: "oc-block-contact-title", children: card.title }),
4066
4101
  card.lines.map(
4067
- (line, j) => line.href ? /* @__PURE__ */ jsx113("a", { className: "oc-block-contact-line", href: line.href, children: line.text }, j) : /* @__PURE__ */ jsx113(Line, { className: "oc-block-contact-line", children: line.text }, j)
4102
+ (line, j) => line.href ? /* @__PURE__ */ jsx116("a", { className: "oc-block-contact-line", href: line.href, children: line.text }, j) : /* @__PURE__ */ jsx116(Line, { className: "oc-block-contact-line", children: line.text }, j)
4068
4103
  )
4069
4104
  ] }, i);
4070
4105
  }) })
@@ -4072,160 +4107,160 @@ var BlockContactGrid = forwardRef111(function BlockContactGrid2({ eyebrow, title
4072
4107
  });
4073
4108
 
4074
4109
  // src/blocks/BlockCta.tsx
4075
- import { forwardRef as forwardRef112 } from "react";
4076
- import { jsx as jsx114, jsxs as jsxs96 } from "react/jsx-runtime";
4077
- var BlockCta = forwardRef112(function BlockCta2({ title, description, actions, className, ...rest }, ref) {
4110
+ import { forwardRef as forwardRef115 } from "react";
4111
+ import { jsx as jsx117, jsxs as jsxs96 } from "react/jsx-runtime";
4112
+ var BlockCta = forwardRef115(function BlockCta2({ title, description, actions, className, ...rest }, ref) {
4078
4113
  return /* @__PURE__ */ jsxs96("div", { ref, className: cx("oc-block-cta", className), ...rest, children: [
4079
- /* @__PURE__ */ jsx114("h2", { children: title }),
4080
- description != null && /* @__PURE__ */ jsx114("p", { children: description }),
4081
- actions != null && /* @__PURE__ */ jsx114("div", { className: "oc-block-hero-actions", children: actions })
4114
+ /* @__PURE__ */ jsx117("h2", { children: title }),
4115
+ description != null && /* @__PURE__ */ jsx117("p", { children: description }),
4116
+ actions != null && /* @__PURE__ */ jsx117("div", { className: "oc-block-hero-actions", children: actions })
4082
4117
  ] });
4083
4118
  });
4084
4119
 
4085
4120
  // src/blocks/BlockDataTable.tsx
4086
- import { forwardRef as forwardRef113 } from "react";
4087
- import { jsx as jsx115, jsxs as jsxs97 } from "react/jsx-runtime";
4088
- var BlockDataTable = forwardRef113(function BlockDataTable2({ title, description, actions, toolbar, bulk, footer, className, children, ...rest }, ref) {
4121
+ import { forwardRef as forwardRef116 } from "react";
4122
+ import { jsx as jsx118, jsxs as jsxs97 } from "react/jsx-runtime";
4123
+ var BlockDataTable = forwardRef116(function BlockDataTable2({ title, description, actions, toolbar, bulk, footer, className, children, ...rest }, ref) {
4089
4124
  return /* @__PURE__ */ jsxs97("section", { ref, className: cx("oc-card oc-block-datatable", className), ...rest, children: [
4090
4125
  /* @__PURE__ */ jsxs97("header", { className: "oc-block-datatable-head", children: [
4091
4126
  /* @__PURE__ */ jsxs97("div", { children: [
4092
- title != null && /* @__PURE__ */ jsx115("h2", { className: "oc-block-datatable-title", children: title }),
4093
- description != null && /* @__PURE__ */ jsx115("p", { className: "oc-block-datatable-description", children: description })
4127
+ title != null && /* @__PURE__ */ jsx118("h2", { className: "oc-block-datatable-title", children: title }),
4128
+ description != null && /* @__PURE__ */ jsx118("p", { className: "oc-block-datatable-description", children: description })
4094
4129
  ] }),
4095
- actions != null && /* @__PURE__ */ jsx115("div", { children: actions })
4130
+ actions != null && /* @__PURE__ */ jsx118("div", { children: actions })
4096
4131
  ] }),
4097
4132
  /* @__PURE__ */ jsxs97("div", { className: "oc-block-datatable-body", children: [
4098
- toolbar != null && /* @__PURE__ */ jsx115("div", { className: "oc-table-toolbar", children: toolbar }),
4099
- bulk != null && /* @__PURE__ */ jsx115("div", { className: "oc-block-datatable-bulk", children: bulk }),
4133
+ toolbar != null && /* @__PURE__ */ jsx118("div", { className: "oc-table-toolbar", children: toolbar }),
4134
+ bulk != null && /* @__PURE__ */ jsx118("div", { className: "oc-block-datatable-bulk", children: bulk }),
4100
4135
  children,
4101
- footer != null && /* @__PURE__ */ jsx115("div", { className: "oc-table-footer", children: footer })
4136
+ footer != null && /* @__PURE__ */ jsx118("div", { className: "oc-table-footer", children: footer })
4102
4137
  ] })
4103
4138
  ] });
4104
4139
  });
4105
4140
  function BlockDataTableSpacer() {
4106
- return /* @__PURE__ */ jsx115("span", { className: "oc-table-toolbar-spacer" });
4141
+ return /* @__PURE__ */ jsx118("span", { className: "oc-table-toolbar-spacer" });
4107
4142
  }
4108
4143
  function FilterPills({ className, ...rest }) {
4109
- return /* @__PURE__ */ jsx115("div", { className: cx("oc-filter-pills", className), role: "group", ...rest });
4144
+ return /* @__PURE__ */ jsx118("div", { className: cx("oc-filter-pills", className), role: "group", ...rest });
4110
4145
  }
4111
4146
  function FilterPill({ current, className, ...rest }) {
4112
- return /* @__PURE__ */ jsx115("a", { className: cx("oc-filter-pill", className), "aria-current": current ? "true" : void 0, ...rest });
4147
+ return /* @__PURE__ */ jsx118("a", { className: cx("oc-filter-pill", className), "aria-current": current ? "true" : void 0, ...rest });
4113
4148
  }
4114
4149
 
4115
4150
  // src/blocks/BlockFaq.tsx
4116
- import { forwardRef as forwardRef114, useId as useId39 } from "react";
4117
- import { jsx as jsx116, jsxs as jsxs98 } from "react/jsx-runtime";
4118
- var BlockFaq = forwardRef114(function BlockFaq2({ eyebrow, title, lead, items, openIndex = 0, more, split = false, name, className, ...rest }, ref) {
4151
+ import { forwardRef as forwardRef117, useId as useId39 } from "react";
4152
+ import { jsx as jsx119, jsxs as jsxs98 } from "react/jsx-runtime";
4153
+ var BlockFaq = forwardRef117(function BlockFaq2({ eyebrow, title, lead, items, openIndex = 0, more, split = false, name, className, ...rest }, ref) {
4119
4154
  const auto = useId39().replace(/[^\w-]/g, "");
4120
4155
  const group = name ?? `oc-faq-${auto}`;
4121
4156
  const titleId = `oc-faq-title-${auto}`;
4122
- return /* @__PURE__ */ jsx116("section", { ref, className: cx("oc-block-faq", split && "oc-block-faq--split", className), "aria-labelledby": titleId, ...rest, children: /* @__PURE__ */ jsxs98("div", { className: "oc-block-faq-inner", children: [
4157
+ return /* @__PURE__ */ jsx119("section", { ref, className: cx("oc-block-faq", split && "oc-block-faq--split", className), "aria-labelledby": titleId, ...rest, children: /* @__PURE__ */ jsxs98("div", { className: "oc-block-faq-inner", children: [
4123
4158
  /* @__PURE__ */ jsxs98("div", { className: "oc-block-faq-head", children: [
4124
- eyebrow != null && /* @__PURE__ */ jsx116("p", { className: "oc-eyebrow", children: eyebrow }),
4125
- /* @__PURE__ */ jsx116("h2", { className: "oc-block-faq-title", id: titleId, children: title }),
4126
- lead != null && /* @__PURE__ */ jsx116("p", { className: "oc-block-faq-lead", children: lead })
4159
+ eyebrow != null && /* @__PURE__ */ jsx119("p", { className: "oc-eyebrow", children: eyebrow }),
4160
+ /* @__PURE__ */ jsx119("h2", { className: "oc-block-faq-title", id: titleId, children: title }),
4161
+ lead != null && /* @__PURE__ */ jsx119("p", { className: "oc-block-faq-lead", children: lead })
4127
4162
  ] }),
4128
- /* @__PURE__ */ jsx116("div", { className: "oc-accordion oc-block-faq-list", children: items.map((item, i) => (
4163
+ /* @__PURE__ */ jsx119("div", { className: "oc-accordion oc-block-faq-list", children: items.map((item, i) => (
4129
4164
  // "name" groups the items; React 19 passes it through, older versions too (unknown attribute on details).
4130
4165
  /* @__PURE__ */ jsxs98("details", { className: "oc-accordion-item", ...{ name: group }, open: i === openIndex || void 0, children: [
4131
- /* @__PURE__ */ jsx116("summary", { className: "oc-accordion-trigger", children: item.question }),
4132
- /* @__PURE__ */ jsx116("div", { className: "oc-accordion-content", children: item.answer })
4166
+ /* @__PURE__ */ jsx119("summary", { className: "oc-accordion-trigger", children: item.question }),
4167
+ /* @__PURE__ */ jsx119("div", { className: "oc-accordion-content", children: item.answer })
4133
4168
  ] }, i)
4134
4169
  )) }),
4135
- more != null && /* @__PURE__ */ jsx116("p", { className: "oc-block-faq-more", children: more })
4170
+ more != null && /* @__PURE__ */ jsx119("p", { className: "oc-block-faq-more", children: more })
4136
4171
  ] }) });
4137
4172
  });
4138
4173
 
4139
4174
  // src/blocks/BlockFeatures.tsx
4140
- import { forwardRef as forwardRef115 } from "react";
4141
- import { jsx as jsx117, jsxs as jsxs99 } from "react/jsx-runtime";
4142
- var BlockFeatures = forwardRef115(function BlockFeatures2({ title, description, features, className, ...rest }, ref) {
4175
+ import { forwardRef as forwardRef118 } from "react";
4176
+ import { jsx as jsx120, jsxs as jsxs99 } from "react/jsx-runtime";
4177
+ var BlockFeatures = forwardRef118(function BlockFeatures2({ title, description, features, className, ...rest }, ref) {
4143
4178
  return /* @__PURE__ */ jsxs99("div", { ref, className: cx("oc-block-features", className), ...rest, children: [
4144
- title != null && /* @__PURE__ */ jsx117("h2", { children: title }),
4145
- description != null && /* @__PURE__ */ jsx117("p", { children: description }),
4146
- /* @__PURE__ */ jsx117("div", { className: "oc-block-features-grid", children: features.map((f, i) => /* @__PURE__ */ jsxs99("div", { className: "oc-block-feature-card", children: [
4147
- f.icon != null && /* @__PURE__ */ jsx117("div", { className: "oc-block-feature-icon", children: f.icon }),
4148
- /* @__PURE__ */ jsx117("h3", { children: f.title }),
4149
- f.description != null && /* @__PURE__ */ jsx117("p", { children: f.description })
4179
+ title != null && /* @__PURE__ */ jsx120("h2", { children: title }),
4180
+ description != null && /* @__PURE__ */ jsx120("p", { children: description }),
4181
+ /* @__PURE__ */ jsx120("div", { className: "oc-block-features-grid", children: features.map((f, i) => /* @__PURE__ */ jsxs99("div", { className: "oc-block-feature-card", children: [
4182
+ f.icon != null && /* @__PURE__ */ jsx120("div", { className: "oc-block-feature-icon", children: f.icon }),
4183
+ /* @__PURE__ */ jsx120("h3", { children: f.title }),
4184
+ f.description != null && /* @__PURE__ */ jsx120("p", { children: f.description })
4150
4185
  ] }, i)) })
4151
4186
  ] });
4152
4187
  });
4153
4188
 
4154
4189
  // src/blocks/BlockFooter.tsx
4155
- import { forwardRef as forwardRef116 } from "react";
4156
- import { jsx as jsx118, jsxs as jsxs100 } from "react/jsx-runtime";
4157
- var BlockFooter = forwardRef116(function BlockFooter2({ columns, copyright, credit, className, ...rest }, ref) {
4190
+ import { forwardRef as forwardRef119 } from "react";
4191
+ import { jsx as jsx121, jsxs as jsxs100 } from "react/jsx-runtime";
4192
+ var BlockFooter = forwardRef119(function BlockFooter2({ columns, copyright, credit, className, ...rest }, ref) {
4158
4193
  return /* @__PURE__ */ jsxs100("div", { ref, className: cx("oc-block-footer", className), ...rest, children: [
4159
- /* @__PURE__ */ jsx118("div", { className: "oc-block-footer-grid", children: columns.map((col, i) => /* @__PURE__ */ jsxs100("div", { className: "oc-block-footer-col", children: [
4160
- /* @__PURE__ */ jsx118("h4", { children: col.title }),
4161
- /* @__PURE__ */ jsx118("ul", { children: col.links.map((l, j) => /* @__PURE__ */ jsx118("li", { children: /* @__PURE__ */ jsx118("a", { href: l.href, children: l.label }) }, j)) })
4194
+ /* @__PURE__ */ jsx121("div", { className: "oc-block-footer-grid", children: columns.map((col, i) => /* @__PURE__ */ jsxs100("div", { className: "oc-block-footer-col", children: [
4195
+ /* @__PURE__ */ jsx121("h4", { children: col.title }),
4196
+ /* @__PURE__ */ jsx121("ul", { children: col.links.map((l, j) => /* @__PURE__ */ jsx121("li", { children: /* @__PURE__ */ jsx121("a", { href: l.href, children: l.label }) }, j)) })
4162
4197
  ] }, i)) }),
4163
4198
  (copyright != null || credit != null) && /* @__PURE__ */ jsxs100("div", { className: "oc-block-footer-bottom", children: [
4164
- /* @__PURE__ */ jsx118("span", { children: copyright }),
4165
- /* @__PURE__ */ jsx118("span", { children: credit })
4199
+ /* @__PURE__ */ jsx121("span", { children: copyright }),
4200
+ /* @__PURE__ */ jsx121("span", { children: credit })
4166
4201
  ] })
4167
4202
  ] });
4168
4203
  });
4169
4204
 
4170
4205
  // src/blocks/BlockFormPage.tsx
4171
- import { forwardRef as forwardRef117 } from "react";
4172
- import { jsx as jsx119, jsxs as jsxs101 } from "react/jsx-runtime";
4173
- var BlockFormPage = forwardRef117(function BlockFormPage2({ actions, className, children, ...rest }, ref) {
4206
+ import { forwardRef as forwardRef120 } from "react";
4207
+ import { jsx as jsx122, jsxs as jsxs101 } from "react/jsx-runtime";
4208
+ var BlockFormPage = forwardRef120(function BlockFormPage2({ actions, className, children, ...rest }, ref) {
4174
4209
  return /* @__PURE__ */ jsxs101("form", { ref, className: cx("oc-block-formpage", className), ...rest, children: [
4175
4210
  children,
4176
- actions != null && /* @__PURE__ */ jsx119("div", { className: "oc-block-formpage-actions", children: actions })
4211
+ actions != null && /* @__PURE__ */ jsx122("div", { className: "oc-block-formpage-actions", children: actions })
4177
4212
  ] });
4178
4213
  });
4179
4214
  function BlockFormPageGrid({ className, ...rest }) {
4180
- return /* @__PURE__ */ jsx119("div", { className: cx("oc-block-formpage-grid", className), ...rest });
4215
+ return /* @__PURE__ */ jsx122("div", { className: cx("oc-block-formpage-grid", className), ...rest });
4181
4216
  }
4182
4217
 
4183
4218
  // src/blocks/BlockHero.tsx
4184
- import { forwardRef as forwardRef118 } from "react";
4185
- import { jsx as jsx120, jsxs as jsxs102 } from "react/jsx-runtime";
4186
- var BlockHero = forwardRef118(function BlockHero2({ badge, title, description, actions, className, ...rest }, ref) {
4219
+ import { forwardRef as forwardRef121 } from "react";
4220
+ import { jsx as jsx123, jsxs as jsxs102 } from "react/jsx-runtime";
4221
+ var BlockHero = forwardRef121(function BlockHero2({ badge, title, description, actions, className, ...rest }, ref) {
4187
4222
  return /* @__PURE__ */ jsxs102("div", { ref, className: cx("oc-block-hero", className), ...rest, children: [
4188
- badge != null && /* @__PURE__ */ jsx120("span", { className: "oc-block-hero-badge", children: badge }),
4189
- /* @__PURE__ */ jsx120("h1", { children: title }),
4190
- description != null && /* @__PURE__ */ jsx120("p", { children: description }),
4191
- actions != null && /* @__PURE__ */ jsx120("div", { className: "oc-block-hero-actions", children: actions })
4223
+ badge != null && /* @__PURE__ */ jsx123("span", { className: "oc-block-hero-badge", children: badge }),
4224
+ /* @__PURE__ */ jsx123("h1", { children: title }),
4225
+ description != null && /* @__PURE__ */ jsx123("p", { children: description }),
4226
+ actions != null && /* @__PURE__ */ jsx123("div", { className: "oc-block-hero-actions", children: actions })
4192
4227
  ] });
4193
4228
  });
4194
4229
 
4195
4230
  // src/blocks/BlockHeroCode.tsx
4196
- import { forwardRef as forwardRef119 } from "react";
4197
- import { jsx as jsx121, jsxs as jsxs103 } from "react/jsx-runtime";
4231
+ import { forwardRef as forwardRef122 } from "react";
4232
+ import { jsx as jsx124, jsxs as jsxs103 } from "react/jsx-runtime";
4198
4233
  var DEFAULT_TILES = [
4199
4234
  { glyph: "\u25C6", accent: "green", style: { inset: "-0.5rem auto auto 8%" } },
4200
4235
  { glyph: "\u25C9", accent: "violet", style: { inset: "0 6% auto auto", animationDelay: "-2s" } },
4201
4236
  { glyph: "\u25B2", accent: "orange", style: { inset: "auto 10% -0.5rem auto", animationDelay: "-4s" } }
4202
4237
  ];
4203
- var BlockHeroCode = forwardRef119(function BlockHeroCode2({ eyebrow, title, lead, actions, codeTitle, code, tiles = DEFAULT_TILES, className, ...rest }, ref) {
4204
- return /* @__PURE__ */ jsx121("section", { ref, className: cx("oc-section-pad", className), ...rest, children: /* @__PURE__ */ jsxs103("div", { className: "oc-container oc-split", children: [
4238
+ var BlockHeroCode = forwardRef122(function BlockHeroCode2({ eyebrow, title, lead, actions, codeTitle, code, tiles = DEFAULT_TILES, className, ...rest }, ref) {
4239
+ return /* @__PURE__ */ jsx124("section", { ref, className: cx("oc-section-pad", className), ...rest, children: /* @__PURE__ */ jsxs103("div", { className: "oc-container oc-split", children: [
4205
4240
  /* @__PURE__ */ jsxs103("div", { children: [
4206
- eyebrow != null && /* @__PURE__ */ jsx121("p", { className: "oc-eyebrow", children: eyebrow }),
4207
- /* @__PURE__ */ jsx121("h1", { className: "oc-display", children: title }),
4208
- lead != null && /* @__PURE__ */ jsx121("p", { className: "oc-lead", children: lead }),
4209
- actions != null && /* @__PURE__ */ jsx121("div", { className: "flex flex-wrap gap-1 mt-2", children: actions })
4241
+ eyebrow != null && /* @__PURE__ */ jsx124("p", { className: "oc-eyebrow", children: eyebrow }),
4242
+ /* @__PURE__ */ jsx124("h1", { className: "oc-display", children: title }),
4243
+ lead != null && /* @__PURE__ */ jsx124("p", { className: "oc-lead", children: lead }),
4244
+ actions != null && /* @__PURE__ */ jsx124("div", { className: "flex flex-wrap gap-1 mt-2", children: actions })
4210
4245
  ] }),
4211
4246
  /* @__PURE__ */ jsxs103("div", { className: "relative p-2", children: [
4212
- tiles.map((tile, i) => /* @__PURE__ */ jsx121("span", { className: `oc-icon-tile oc-icon-tile--float oc-accent--${tile.accent} absolute`, style: tile.style, "aria-hidden": "true", children: tile.glyph }, i)),
4247
+ tiles.map((tile, i) => /* @__PURE__ */ jsx124("span", { className: `oc-icon-tile oc-icon-tile--float oc-accent--${tile.accent} absolute`, style: tile.style, "aria-hidden": "true", children: tile.glyph }, i)),
4213
4248
  /* @__PURE__ */ jsxs103("div", { className: "oc-code-window", children: [
4214
4249
  /* @__PURE__ */ jsxs103("div", { className: "oc-code-window__bar", children: [
4215
- /* @__PURE__ */ jsx121("i", {}),
4216
- /* @__PURE__ */ jsx121("i", {}),
4217
- /* @__PURE__ */ jsx121("i", {}),
4218
- codeTitle != null && /* @__PURE__ */ jsx121("span", { className: "oc-code-window__title", children: codeTitle })
4250
+ /* @__PURE__ */ jsx124("i", {}),
4251
+ /* @__PURE__ */ jsx124("i", {}),
4252
+ /* @__PURE__ */ jsx124("i", {}),
4253
+ codeTitle != null && /* @__PURE__ */ jsx124("span", { className: "oc-code-window__title", children: codeTitle })
4219
4254
  ] }),
4220
- /* @__PURE__ */ jsx121("pre", { className: "oc-code-window__body", children: code })
4255
+ /* @__PURE__ */ jsx124("pre", { className: "oc-code-window__body", children: code })
4221
4256
  ] })
4222
4257
  ] })
4223
4258
  ] }) });
4224
4259
  });
4225
4260
 
4226
4261
  // src/blocks/BlockHeroOrbit.tsx
4227
- import { forwardRef as forwardRef120 } from "react";
4228
- import { jsx as jsx122, jsxs as jsxs104 } from "react/jsx-runtime";
4262
+ import { forwardRef as forwardRef123 } from "react";
4263
+ import { jsx as jsx125, jsxs as jsxs104 } from "react/jsx-runtime";
4229
4264
  var DEFAULT_MARKS = [
4230
4265
  { glyph: "\u25C6", accent: "green" },
4231
4266
  { glyph: "\u25C9", accent: "violet" },
@@ -4234,303 +4269,303 @@ var DEFAULT_MARKS = [
4234
4269
  { glyph: "\u2665", accent: "red" },
4235
4270
  { glyph: "\u2600", accent: "yellow" }
4236
4271
  ];
4237
- var BlockHeroOrbit = forwardRef120(function BlockHeroOrbit2({ eyebrow, title, lead, actions, marks = DEFAULT_MARKS, codeTitle, code = "", center, duration, className, ...rest }, ref) {
4272
+ var BlockHeroOrbit = forwardRef123(function BlockHeroOrbit2({ eyebrow, title, lead, actions, marks = DEFAULT_MARKS, codeTitle, code = "", center, duration, className, ...rest }, ref) {
4238
4273
  const visualStyle = duration ? { "--oc-orbit-duration": duration } : void 0;
4239
- return /* @__PURE__ */ jsx122("section", { ref, className: cx("oc-block-orbit oc-section-pad", className), ...rest, children: /* @__PURE__ */ jsxs104("div", { className: "oc-container oc-split", children: [
4274
+ return /* @__PURE__ */ jsx125("section", { ref, className: cx("oc-block-orbit oc-section-pad", className), ...rest, children: /* @__PURE__ */ jsxs104("div", { className: "oc-container oc-split", children: [
4240
4275
  /* @__PURE__ */ jsxs104("div", { children: [
4241
- eyebrow != null && /* @__PURE__ */ jsx122("p", { className: "oc-eyebrow", children: eyebrow }),
4242
- /* @__PURE__ */ jsx122("h1", { className: "oc-display", children: title }),
4243
- lead != null && /* @__PURE__ */ jsx122("p", { className: "oc-lead", children: lead }),
4244
- actions != null && /* @__PURE__ */ jsx122("div", { className: "flex flex-wrap gap-1 mt-2", children: actions })
4276
+ eyebrow != null && /* @__PURE__ */ jsx125("p", { className: "oc-eyebrow", children: eyebrow }),
4277
+ /* @__PURE__ */ jsx125("h1", { className: "oc-display", children: title }),
4278
+ lead != null && /* @__PURE__ */ jsx125("p", { className: "oc-lead", children: lead }),
4279
+ actions != null && /* @__PURE__ */ jsx125("div", { className: "flex flex-wrap gap-1 mt-2", children: actions })
4245
4280
  ] }),
4246
4281
  /* @__PURE__ */ jsxs104("div", { className: "oc-block-orbit-visual", style: visualStyle, children: [
4247
- /* @__PURE__ */ jsx122("div", { className: "oc-block-orbit-ring", "aria-hidden": "true", children: marks.map((mark, i) => /* @__PURE__ */ jsx122("span", { className: "oc-block-orbit-mark", style: { "--oc-orbit-angle": `${360 / marks.length * i}deg` }, children: /* @__PURE__ */ jsx122("span", { className: `oc-product-mark oc-product-mark--sm oc-accent--${mark.accent}`, children: mark.glyph }) }, i)) }),
4282
+ /* @__PURE__ */ jsx125("div", { className: "oc-block-orbit-ring", "aria-hidden": "true", children: marks.map((mark, i) => /* @__PURE__ */ jsx125("span", { className: "oc-block-orbit-mark", style: { "--oc-orbit-angle": `${360 / marks.length * i}deg` }, children: /* @__PURE__ */ jsx125("span", { className: `oc-product-mark oc-product-mark--sm oc-accent--${mark.accent}`, children: mark.glyph }) }, i)) }),
4248
4283
  center ?? /* @__PURE__ */ jsxs104("div", { className: "oc-code-window oc-block-orbit-center", children: [
4249
4284
  /* @__PURE__ */ jsxs104("div", { className: "oc-code-window__bar", children: [
4250
- /* @__PURE__ */ jsx122("i", {}),
4251
- /* @__PURE__ */ jsx122("i", {}),
4252
- /* @__PURE__ */ jsx122("i", {}),
4253
- codeTitle != null && /* @__PURE__ */ jsx122("span", { className: "oc-code-window__title", children: codeTitle })
4285
+ /* @__PURE__ */ jsx125("i", {}),
4286
+ /* @__PURE__ */ jsx125("i", {}),
4287
+ /* @__PURE__ */ jsx125("i", {}),
4288
+ codeTitle != null && /* @__PURE__ */ jsx125("span", { className: "oc-code-window__title", children: codeTitle })
4254
4289
  ] }),
4255
- /* @__PURE__ */ jsx122("pre", { className: "oc-code-window__body", children: code })
4290
+ /* @__PURE__ */ jsx125("pre", { className: "oc-code-window__body", children: code })
4256
4291
  ] })
4257
4292
  ] })
4258
4293
  ] }) });
4259
4294
  });
4260
4295
 
4261
4296
  // src/blocks/BlockHeroSplit.tsx
4262
- import { forwardRef as forwardRef121 } from "react";
4263
- import { jsx as jsx123, jsxs as jsxs105 } from "react/jsx-runtime";
4264
- var BlockHeroSplit = forwardRef121(function BlockHeroSplit2({ title, description, actions, visual, className, ...rest }, ref) {
4297
+ import { forwardRef as forwardRef124 } from "react";
4298
+ import { jsx as jsx126, jsxs as jsxs105 } from "react/jsx-runtime";
4299
+ var BlockHeroSplit = forwardRef124(function BlockHeroSplit2({ title, description, actions, visual, className, ...rest }, ref) {
4265
4300
  return /* @__PURE__ */ jsxs105("div", { ref, className: cx("oc-block-hero-split", className), ...rest, children: [
4266
4301
  /* @__PURE__ */ jsxs105("div", { children: [
4267
- /* @__PURE__ */ jsx123("h1", { children: title }),
4268
- description != null && /* @__PURE__ */ jsx123("p", { children: description }),
4269
- actions != null && /* @__PURE__ */ jsx123("div", { className: "oc-block-hero-actions justify-start", children: actions })
4302
+ /* @__PURE__ */ jsx126("h1", { children: title }),
4303
+ description != null && /* @__PURE__ */ jsx126("p", { children: description }),
4304
+ actions != null && /* @__PURE__ */ jsx126("div", { className: "oc-block-hero-actions justify-start", children: actions })
4270
4305
  ] }),
4271
- /* @__PURE__ */ jsx123("div", { className: "oc-block-hero-visual", children: visual })
4306
+ /* @__PURE__ */ jsx126("div", { className: "oc-block-hero-visual", children: visual })
4272
4307
  ] });
4273
4308
  });
4274
4309
 
4275
4310
  // src/blocks/BlockModuleHeader.tsx
4276
- import { forwardRef as forwardRef122 } from "react";
4277
- import { jsx as jsx124, jsxs as jsxs106 } from "react/jsx-runtime";
4278
- var BlockModuleHeader = forwardRef122(function BlockModuleHeader2({ icon, title, intro, meta, actions, className, ...rest }, ref) {
4311
+ import { forwardRef as forwardRef125 } from "react";
4312
+ import { jsx as jsx127, jsxs as jsxs106 } from "react/jsx-runtime";
4313
+ var BlockModuleHeader = forwardRef125(function BlockModuleHeader2({ icon, title, intro, meta, actions, className, ...rest }, ref) {
4279
4314
  return /* @__PURE__ */ jsxs106("header", { ref, className: cx("oc-block-modulehead", className), ...rest, children: [
4280
4315
  /* @__PURE__ */ jsxs106("div", { className: "oc-block-modulehead-band", children: [
4281
- icon != null && /* @__PURE__ */ jsx124("span", { className: "oc-block-modulehead-icon", "aria-hidden": "true", children: icon }),
4316
+ icon != null && /* @__PURE__ */ jsx127("span", { className: "oc-block-modulehead-icon", "aria-hidden": "true", children: icon }),
4282
4317
  /* @__PURE__ */ jsxs106("div", { className: "oc-block-modulehead-body", children: [
4283
- /* @__PURE__ */ jsx124("h1", { className: "oc-block-modulehead-title", children: title }),
4284
- intro != null && /* @__PURE__ */ jsx124("p", { className: "oc-block-modulehead-intro", children: intro }),
4285
- meta != null && /* @__PURE__ */ jsx124("div", { className: "oc-block-modulehead-meta", children: meta })
4318
+ /* @__PURE__ */ jsx127("h1", { className: "oc-block-modulehead-title", children: title }),
4319
+ intro != null && /* @__PURE__ */ jsx127("p", { className: "oc-block-modulehead-intro", children: intro }),
4320
+ meta != null && /* @__PURE__ */ jsx127("div", { className: "oc-block-modulehead-meta", children: meta })
4286
4321
  ] })
4287
4322
  ] }),
4288
- actions != null && /* @__PURE__ */ jsx124("div", { className: "oc-block-modulehead-actions", children: actions })
4323
+ actions != null && /* @__PURE__ */ jsx127("div", { className: "oc-block-modulehead-actions", children: actions })
4289
4324
  ] });
4290
4325
  });
4291
4326
 
4292
4327
  // src/blocks/BlockPageHero.tsx
4293
- import { forwardRef as forwardRef123 } from "react";
4294
- import { jsx as jsx125, jsxs as jsxs107 } from "react/jsx-runtime";
4295
- var BlockPageHero = forwardRef123(function BlockPageHero2({ eyebrow, title, description, actions, className, ...rest }, ref) {
4328
+ import { forwardRef as forwardRef126 } from "react";
4329
+ import { jsx as jsx128, jsxs as jsxs107 } from "react/jsx-runtime";
4330
+ var BlockPageHero = forwardRef126(function BlockPageHero2({ eyebrow, title, description, actions, className, ...rest }, ref) {
4296
4331
  return /* @__PURE__ */ jsxs107("section", { ref, className: cx("oc-hero", className), ...rest, children: [
4297
- eyebrow != null && /* @__PURE__ */ jsx125("span", { className: "oc-hero-eyebrow", children: eyebrow }),
4298
- /* @__PURE__ */ jsx125("h1", { className: "oc-hero-title", children: title }),
4299
- description != null && /* @__PURE__ */ jsx125("p", { className: "oc-hero-text", children: description }),
4300
- actions != null && /* @__PURE__ */ jsx125("div", { className: "oc-hero-actions", children: actions })
4332
+ eyebrow != null && /* @__PURE__ */ jsx128("span", { className: "oc-hero-eyebrow", children: eyebrow }),
4333
+ /* @__PURE__ */ jsx128("h1", { className: "oc-hero-title", children: title }),
4334
+ description != null && /* @__PURE__ */ jsx128("p", { className: "oc-hero-text", children: description }),
4335
+ actions != null && /* @__PURE__ */ jsx128("div", { className: "oc-hero-actions", children: actions })
4301
4336
  ] });
4302
4337
  });
4303
4338
 
4304
4339
  // src/blocks/BlockPortfolioGrid.tsx
4305
- import { forwardRef as forwardRef124, useId as useId40 } from "react";
4306
- import { jsx as jsx126, jsxs as jsxs108 } from "react/jsx-runtime";
4307
- var BlockPortfolioGrid = forwardRef124(function BlockPortfolioGrid2({ eyebrow, title, lead, link, projects, two = false, className, ...rest }, ref) {
4340
+ import { forwardRef as forwardRef127, useId as useId40 } from "react";
4341
+ import { jsx as jsx129, jsxs as jsxs108 } from "react/jsx-runtime";
4342
+ var BlockPortfolioGrid = forwardRef127(function BlockPortfolioGrid2({ eyebrow, title, lead, link, projects, two = false, className, ...rest }, ref) {
4308
4343
  const titleId = `oc-portfolio-title-${useId40().replace(/[^\w-]/g, "")}`;
4309
- return /* @__PURE__ */ jsx126("section", { ref, className: cx("oc-block-portfolio oc-section-pad", two && "oc-block-portfolio--two", className), "aria-labelledby": titleId, ...rest, children: /* @__PURE__ */ jsxs108("div", { className: "oc-container", children: [
4344
+ return /* @__PURE__ */ jsx129("section", { ref, className: cx("oc-block-portfolio oc-section-pad", two && "oc-block-portfolio--two", className), "aria-labelledby": titleId, ...rest, children: /* @__PURE__ */ jsxs108("div", { className: "oc-container", children: [
4310
4345
  /* @__PURE__ */ jsxs108("div", { className: "oc-block-portfolio-head", children: [
4311
4346
  /* @__PURE__ */ jsxs108("div", { children: [
4312
- eyebrow != null && /* @__PURE__ */ jsx126("p", { className: "oc-eyebrow", children: eyebrow }),
4313
- /* @__PURE__ */ jsx126("h2", { className: "oc-display oc-display--md", id: titleId, children: title }),
4314
- lead != null && /* @__PURE__ */ jsx126("p", { className: "oc-block-portfolio-lead", children: lead })
4347
+ eyebrow != null && /* @__PURE__ */ jsx129("p", { className: "oc-eyebrow", children: eyebrow }),
4348
+ /* @__PURE__ */ jsx129("h2", { className: "oc-display oc-display--md", id: titleId, children: title }),
4349
+ lead != null && /* @__PURE__ */ jsx129("p", { className: "oc-block-portfolio-lead", children: lead })
4315
4350
  ] }),
4316
4351
  link
4317
4352
  ] }),
4318
- /* @__PURE__ */ jsx126("div", { className: "oc-block-portfolio-grid", children: projects.map(({ accent, className: cardClass, ...card }, i) => /* @__PURE__ */ jsx126(ProjectCard, { className: cx(accent && `oc-accent--${accent}`, cardClass), ...card }, i)) })
4353
+ /* @__PURE__ */ jsx129("div", { className: "oc-block-portfolio-grid", children: projects.map(({ accent, className: cardClass, ...card }, i) => /* @__PURE__ */ jsx129(ProjectCard, { className: cx(accent && `oc-accent--${accent}`, cardClass), ...card }, i)) })
4319
4354
  ] }) });
4320
4355
  });
4321
4356
 
4322
4357
  // src/blocks/BlockPricing.tsx
4323
- import { forwardRef as forwardRef125 } from "react";
4324
- import { Fragment as Fragment27, jsx as jsx127, jsxs as jsxs109 } from "react/jsx-runtime";
4325
- var BlockPricing = forwardRef125(function BlockPricing2({ title, description, plans, className, ...rest }, ref) {
4358
+ import { forwardRef as forwardRef128 } from "react";
4359
+ import { Fragment as Fragment28, jsx as jsx130, jsxs as jsxs109 } from "react/jsx-runtime";
4360
+ var BlockPricing = forwardRef128(function BlockPricing2({ title, description, plans, className, ...rest }, ref) {
4326
4361
  return /* @__PURE__ */ jsxs109("div", { ref, className: cx("oc-block-pricing", className), ...rest, children: [
4327
- title != null && /* @__PURE__ */ jsx127("h2", { children: title }),
4328
- description != null && /* @__PURE__ */ jsx127("p", { children: description }),
4329
- /* @__PURE__ */ jsx127("div", { className: "oc-block-pricing-grid", children: plans.map((plan, i) => {
4362
+ title != null && /* @__PURE__ */ jsx130("h2", { children: title }),
4363
+ description != null && /* @__PURE__ */ jsx130("p", { children: description }),
4364
+ /* @__PURE__ */ jsx130("div", { className: "oc-block-pricing-grid", children: plans.map((plan, i) => {
4330
4365
  const variant = plan.featured ? "default" : "outline";
4331
4366
  return /* @__PURE__ */ jsxs109("div", { className: cx("oc-block-pricing-card", plan.featured && "oc-block-pricing-card--featured"), children: [
4332
- /* @__PURE__ */ jsx127("p", { className: "oc-block-pricing-name", children: plan.name }),
4333
- plan.description != null && /* @__PURE__ */ jsx127("p", { className: "oc-block-pricing-desc", children: plan.description }),
4367
+ /* @__PURE__ */ jsx130("p", { className: "oc-block-pricing-name", children: plan.name }),
4368
+ plan.description != null && /* @__PURE__ */ jsx130("p", { className: "oc-block-pricing-desc", children: plan.description }),
4334
4369
  /* @__PURE__ */ jsxs109("p", { className: "oc-block-pricing-price", children: [
4335
4370
  plan.price,
4336
- plan.period != null && /* @__PURE__ */ jsxs109(Fragment27, { children: [
4371
+ plan.period != null && /* @__PURE__ */ jsxs109(Fragment28, { children: [
4337
4372
  " ",
4338
- /* @__PURE__ */ jsx127("span", { children: plan.period })
4373
+ /* @__PURE__ */ jsx130("span", { children: plan.period })
4339
4374
  ] })
4340
4375
  ] }),
4341
- /* @__PURE__ */ jsx127("ul", { className: "oc-block-pricing-features", children: plan.features.map((f, j) => /* @__PURE__ */ jsx127("li", { children: f }, j)) }),
4342
- plan.href ? /* @__PURE__ */ jsx127(ButtonLink, { variant, href: plan.href, style: { width: "100%" }, children: plan.action }) : /* @__PURE__ */ jsx127(Button, { variant, style: { width: "100%" }, onClick: plan.onAction, children: plan.action })
4376
+ /* @__PURE__ */ jsx130("ul", { className: "oc-block-pricing-features", children: plan.features.map((f, j) => /* @__PURE__ */ jsx130("li", { children: f }, j)) }),
4377
+ plan.href ? /* @__PURE__ */ jsx130(ButtonLink, { variant, href: plan.href, style: { width: "100%" }, children: plan.action }) : /* @__PURE__ */ jsx130(Button, { variant, style: { width: "100%" }, onClick: plan.onAction, children: plan.action })
4343
4378
  ] }, i);
4344
4379
  }) })
4345
4380
  ] });
4346
4381
  });
4347
4382
 
4348
4383
  // src/blocks/BlockProcess.tsx
4349
- import { forwardRef as forwardRef126 } from "react";
4350
- import { jsx as jsx128, jsxs as jsxs110 } from "react/jsx-runtime";
4351
- var BlockProcess = forwardRef126(function BlockProcess2({ eyebrow, title, steps, marquee, marqueeLabel = "Technologies", className, ...rest }, ref) {
4352
- return /* @__PURE__ */ jsx128("section", { ref, className: cx("oc-section-pad", className), ...rest, children: /* @__PURE__ */ jsxs110("div", { className: "oc-container", children: [
4353
- eyebrow != null && /* @__PURE__ */ jsx128("p", { className: "oc-eyebrow", children: eyebrow }),
4354
- /* @__PURE__ */ jsx128("h2", { className: "oc-display oc-display--md", children: title }),
4355
- /* @__PURE__ */ jsx128("ol", { className: "oc-steps", children: steps.map((s, i) => /* @__PURE__ */ jsxs110("li", { children: [
4356
- /* @__PURE__ */ jsx128("h3", { children: s.title }),
4357
- s.text != null && /* @__PURE__ */ jsx128("p", { children: s.text })
4384
+ import { forwardRef as forwardRef129 } from "react";
4385
+ import { jsx as jsx131, jsxs as jsxs110 } from "react/jsx-runtime";
4386
+ var BlockProcess = forwardRef129(function BlockProcess2({ eyebrow, title, steps, marquee, marqueeLabel = "Technologies", className, ...rest }, ref) {
4387
+ return /* @__PURE__ */ jsx131("section", { ref, className: cx("oc-section-pad", className), ...rest, children: /* @__PURE__ */ jsxs110("div", { className: "oc-container", children: [
4388
+ eyebrow != null && /* @__PURE__ */ jsx131("p", { className: "oc-eyebrow", children: eyebrow }),
4389
+ /* @__PURE__ */ jsx131("h2", { className: "oc-display oc-display--md", children: title }),
4390
+ /* @__PURE__ */ jsx131("ol", { className: "oc-steps", children: steps.map((s, i) => /* @__PURE__ */ jsxs110("li", { children: [
4391
+ /* @__PURE__ */ jsx131("h3", { children: s.title }),
4392
+ s.text != null && /* @__PURE__ */ jsx131("p", { children: s.text })
4358
4393
  ] }, i)) }),
4359
- marquee && marquee.length > 0 && /* @__PURE__ */ jsx128("div", { className: "oc-marquee mt-4", "aria-label": marqueeLabel, children: /* @__PURE__ */ jsxs110("div", { className: "oc-marquee__track", children: [
4360
- marquee.map((m) => /* @__PURE__ */ jsx128("span", { className: "oc-marquee__item", children: m }, m)),
4361
- marquee.map((m) => /* @__PURE__ */ jsx128("span", { className: "oc-marquee__item", "aria-hidden": "true", children: m }, `dup-${m}`))
4394
+ marquee && marquee.length > 0 && /* @__PURE__ */ jsx131("div", { className: "oc-marquee mt-4", "aria-label": marqueeLabel, children: /* @__PURE__ */ jsxs110("div", { className: "oc-marquee__track", children: [
4395
+ marquee.map((m) => /* @__PURE__ */ jsx131("span", { className: "oc-marquee__item", children: m }, m)),
4396
+ marquee.map((m) => /* @__PURE__ */ jsx131("span", { className: "oc-marquee__item", "aria-hidden": "true", children: m }, `dup-${m}`))
4362
4397
  ] }) })
4363
4398
  ] }) });
4364
4399
  });
4365
4400
 
4366
4401
  // src/blocks/BlockProductGrid.tsx
4367
- import { forwardRef as forwardRef127 } from "react";
4368
- import { jsx as jsx129, jsxs as jsxs111 } from "react/jsx-runtime";
4369
- var BlockProductGrid = forwardRef127(function BlockProductGrid2({ eyebrow, title, products, className, ...rest }, ref) {
4370
- return /* @__PURE__ */ jsx129("section", { ref, className: cx("oc-section-pad", className), ...rest, children: /* @__PURE__ */ jsxs111("div", { className: "oc-container", children: [
4371
- eyebrow != null && /* @__PURE__ */ jsx129("p", { className: "oc-eyebrow", children: eyebrow }),
4372
- /* @__PURE__ */ jsx129("h2", { className: "oc-display oc-display--md", children: title }),
4373
- /* @__PURE__ */ jsx129("div", { className: "oc-card-grid", children: products.map((p, i) => /* @__PURE__ */ jsxs111("a", { className: cx("oc-product-card", p.accent && `oc-accent--${p.accent}`), href: p.href, children: [
4402
+ import { forwardRef as forwardRef130 } from "react";
4403
+ import { jsx as jsx132, jsxs as jsxs111 } from "react/jsx-runtime";
4404
+ var BlockProductGrid = forwardRef130(function BlockProductGrid2({ eyebrow, title, products, className, ...rest }, ref) {
4405
+ return /* @__PURE__ */ jsx132("section", { ref, className: cx("oc-section-pad", className), ...rest, children: /* @__PURE__ */ jsxs111("div", { className: "oc-container", children: [
4406
+ eyebrow != null && /* @__PURE__ */ jsx132("p", { className: "oc-eyebrow", children: eyebrow }),
4407
+ /* @__PURE__ */ jsx132("h2", { className: "oc-display oc-display--md", children: title }),
4408
+ /* @__PURE__ */ jsx132("div", { className: "oc-card-grid", children: products.map((p, i) => /* @__PURE__ */ jsxs111("a", { className: cx("oc-product-card", p.accent && `oc-accent--${p.accent}`), href: p.href, children: [
4374
4409
  /* @__PURE__ */ jsxs111("div", { className: "oc-product-card__top", children: [
4375
- p.icon != null && /* @__PURE__ */ jsx129("span", { className: "oc-icon-tile", "aria-hidden": "true", children: p.icon }),
4376
- p.pill != null && /* @__PURE__ */ jsx129("span", { className: "oc-pill", children: p.pill })
4410
+ p.icon != null && /* @__PURE__ */ jsx132("span", { className: "oc-icon-tile", "aria-hidden": "true", children: p.icon }),
4411
+ p.pill != null && /* @__PURE__ */ jsx132("span", { className: "oc-pill", children: p.pill })
4377
4412
  ] }),
4378
- /* @__PURE__ */ jsx129("h3", { className: "oc-product-card__name", children: p.name }),
4379
- p.tagline != null && /* @__PURE__ */ jsx129("p", { className: "oc-product-card__tagline", children: p.tagline }),
4380
- p.summary != null && /* @__PURE__ */ jsx129("p", { className: "oc-product-card__summary", children: p.summary }),
4381
- p.more != null && /* @__PURE__ */ jsx129("span", { className: "oc-product-card__more", children: p.more })
4413
+ /* @__PURE__ */ jsx132("h3", { className: "oc-product-card__name", children: p.name }),
4414
+ p.tagline != null && /* @__PURE__ */ jsx132("p", { className: "oc-product-card__tagline", children: p.tagline }),
4415
+ p.summary != null && /* @__PURE__ */ jsx132("p", { className: "oc-product-card__summary", children: p.summary }),
4416
+ p.more != null && /* @__PURE__ */ jsx132("span", { className: "oc-product-card__more", children: p.more })
4382
4417
  ] }, i)) })
4383
4418
  ] }) });
4384
4419
  });
4385
4420
 
4386
4421
  // src/blocks/BlockProfileHeader.tsx
4387
- import { forwardRef as forwardRef128, useId as useId41 } from "react";
4388
- import { jsx as jsx130, jsxs as jsxs112 } from "react/jsx-runtime";
4389
- var BlockProfileHeader = forwardRef128(function BlockProfileHeader2({ name, meta, bio, avatar, banner, actions, tabs = [], tabsLabel = "Profile sections", compact = false, headingLevel = 1, className, ...rest }, ref) {
4422
+ import { forwardRef as forwardRef131, useId as useId41 } from "react";
4423
+ import { jsx as jsx133, jsxs as jsxs112 } from "react/jsx-runtime";
4424
+ var BlockProfileHeader = forwardRef131(function BlockProfileHeader2({ name, meta, bio, avatar, banner, actions, tabs = [], tabsLabel = "Profile sections", compact = false, headingLevel = 1, className, ...rest }, ref) {
4390
4425
  const nameId = `oc-profile-name-${useId41().replace(/[^\w-]/g, "")}`;
4391
4426
  const Heading3 = headingLevel === 1 ? "h1" : "h2";
4392
4427
  const bannerStyle = banner ? { "--oc-profile-banner": `url("${banner}")` } : void 0;
4393
4428
  return /* @__PURE__ */ jsxs112("section", { ref, className: cx("oc-block-profile", compact && "oc-block-profile--compact", className), "aria-labelledby": nameId, ...rest, children: [
4394
- /* @__PURE__ */ jsx130("div", { className: "oc-block-profile-banner", style: bannerStyle, "aria-hidden": "true" }),
4429
+ /* @__PURE__ */ jsx133("div", { className: "oc-block-profile-banner", style: bannerStyle, "aria-hidden": "true" }),
4395
4430
  /* @__PURE__ */ jsxs112("div", { className: "oc-block-profile-bar", children: [
4396
- /* @__PURE__ */ jsx130("span", { className: "oc-avatar oc-block-profile-avatar", "aria-hidden": "true", children: avatar }),
4431
+ /* @__PURE__ */ jsx133("span", { className: "oc-avatar oc-block-profile-avatar", "aria-hidden": "true", children: avatar }),
4397
4432
  /* @__PURE__ */ jsxs112("div", { className: "oc-block-profile-info", children: [
4398
- /* @__PURE__ */ jsx130(Heading3, { className: "oc-block-profile-name", id: nameId, children: name }),
4399
- meta != null && /* @__PURE__ */ jsx130("p", { className: "oc-block-profile-meta", children: meta }),
4400
- bio != null && /* @__PURE__ */ jsx130("p", { className: "oc-block-profile-bio", children: bio })
4433
+ /* @__PURE__ */ jsx133(Heading3, { className: "oc-block-profile-name", id: nameId, children: name }),
4434
+ meta != null && /* @__PURE__ */ jsx133("p", { className: "oc-block-profile-meta", children: meta }),
4435
+ bio != null && /* @__PURE__ */ jsx133("p", { className: "oc-block-profile-bio", children: bio })
4401
4436
  ] }),
4402
- actions != null && /* @__PURE__ */ jsx130("div", { className: "oc-block-profile-actions", children: actions })
4437
+ actions != null && /* @__PURE__ */ jsx133("div", { className: "oc-block-profile-actions", children: actions })
4403
4438
  ] }),
4404
- tabs.length > 0 && /* @__PURE__ */ jsx130("nav", { className: "oc-block-profile-tabs", "aria-label": tabsLabel, children: tabs.map((tab, i) => /* @__PURE__ */ jsx130("a", { className: "oc-block-profile-tab", href: tab.href, "aria-current": tab.current ? "page" : void 0, children: tab.label }, i)) })
4439
+ tabs.length > 0 && /* @__PURE__ */ jsx133("nav", { className: "oc-block-profile-tabs", "aria-label": tabsLabel, children: tabs.map((tab, i) => /* @__PURE__ */ jsx133("a", { className: "oc-block-profile-tab", href: tab.href, "aria-current": tab.current ? "page" : void 0, children: tab.label }, i)) })
4405
4440
  ] });
4406
4441
  });
4407
4442
 
4408
4443
  // src/blocks/BlockShowcase.tsx
4409
- import { forwardRef as forwardRef129 } from "react";
4410
- import { jsx as jsx131, jsxs as jsxs113 } from "react/jsx-runtime";
4411
- var BlockShowcase = forwardRef129(function BlockShowcase2({ eyebrow, title, projects, cardMin = "26rem", className, ...rest }, ref) {
4412
- return /* @__PURE__ */ jsx131("section", { ref, className: cx("oc-section-pad", className), ...rest, children: /* @__PURE__ */ jsxs113("div", { className: "oc-container", children: [
4413
- eyebrow != null && /* @__PURE__ */ jsx131("p", { className: "oc-eyebrow", children: eyebrow }),
4414
- /* @__PURE__ */ jsx131("h2", { className: "oc-display oc-display--md", children: title }),
4415
- /* @__PURE__ */ jsx131("div", { className: "oc-card-grid", style: { "--oc-card-min": cardMin }, children: projects.map((p, i) => /* @__PURE__ */ jsxs113("a", { className: cx("oc-product-card", p.accent && `oc-accent--${p.accent}`, "p-0 overflow-hidden"), href: p.href, children: [
4444
+ import { forwardRef as forwardRef132 } from "react";
4445
+ import { jsx as jsx134, jsxs as jsxs113 } from "react/jsx-runtime";
4446
+ var BlockShowcase = forwardRef132(function BlockShowcase2({ eyebrow, title, projects, cardMin = "26rem", className, ...rest }, ref) {
4447
+ return /* @__PURE__ */ jsx134("section", { ref, className: cx("oc-section-pad", className), ...rest, children: /* @__PURE__ */ jsxs113("div", { className: "oc-container", children: [
4448
+ eyebrow != null && /* @__PURE__ */ jsx134("p", { className: "oc-eyebrow", children: eyebrow }),
4449
+ /* @__PURE__ */ jsx134("h2", { className: "oc-display oc-display--md", children: title }),
4450
+ /* @__PURE__ */ jsx134("div", { className: "oc-card-grid", style: { "--oc-card-min": cardMin }, children: projects.map((p, i) => /* @__PURE__ */ jsxs113("a", { className: cx("oc-product-card", p.accent && `oc-accent--${p.accent}`, "p-0 overflow-hidden"), href: p.href, children: [
4416
4451
  /* @__PURE__ */ jsxs113("span", { className: "oc-browser-frame m-1", children: [
4417
4452
  /* @__PURE__ */ jsxs113("span", { className: "oc-browser-frame__bar", children: [
4418
- /* @__PURE__ */ jsx131("i", {}),
4419
- /* @__PURE__ */ jsx131("i", {}),
4420
- /* @__PURE__ */ jsx131("i", {})
4453
+ /* @__PURE__ */ jsx134("i", {}),
4454
+ /* @__PURE__ */ jsx134("i", {}),
4455
+ /* @__PURE__ */ jsx134("i", {})
4421
4456
  ] }),
4422
- /* @__PURE__ */ jsx131("span", { className: "oc-browser-frame__body", style: p.background ? { background: p.background } : void 0, children: p.image && /* @__PURE__ */ jsx131("img", { src: p.image, alt: p.imageAlt ?? "" }) })
4457
+ /* @__PURE__ */ jsx134("span", { className: "oc-browser-frame__body", style: p.background ? { background: p.background } : void 0, children: p.image && /* @__PURE__ */ jsx134("img", { src: p.image, alt: p.imageAlt ?? "" }) })
4423
4458
  ] }),
4424
4459
  /* @__PURE__ */ jsxs113("span", { className: "grid gap-0.5 p-1.5 pt-0", children: [
4425
- p.pill != null && /* @__PURE__ */ jsx131("span", { className: "oc-pill oc-pill--accent", children: p.pill }),
4426
- /* @__PURE__ */ jsx131("span", { className: "oc-product-card__name", children: p.name }),
4427
- p.summary != null && /* @__PURE__ */ jsx131("span", { className: "oc-product-card__summary", children: p.summary }),
4428
- p.more != null && /* @__PURE__ */ jsx131("span", { className: "oc-product-card__more", children: p.more })
4460
+ p.pill != null && /* @__PURE__ */ jsx134("span", { className: "oc-pill oc-pill--accent", children: p.pill }),
4461
+ /* @__PURE__ */ jsx134("span", { className: "oc-product-card__name", children: p.name }),
4462
+ p.summary != null && /* @__PURE__ */ jsx134("span", { className: "oc-product-card__summary", children: p.summary }),
4463
+ p.more != null && /* @__PURE__ */ jsx134("span", { className: "oc-product-card__more", children: p.more })
4429
4464
  ] })
4430
4465
  ] }, i)) })
4431
4466
  ] }) });
4432
4467
  });
4433
4468
 
4434
4469
  // src/blocks/BlockSiteFooter.tsx
4435
- import { forwardRef as forwardRef130 } from "react";
4436
- import { jsx as jsx132, jsxs as jsxs114 } from "react/jsx-runtime";
4437
- var BlockSiteFooter = forwardRef130(function BlockSiteFooter2({ brand, brandHref = "/", about, columns, copyright, credit, className, ...rest }, ref) {
4438
- return /* @__PURE__ */ jsx132("footer", { ref, className: cx("oc-site-footer", className), ...rest, children: /* @__PURE__ */ jsxs114("div", { className: "oc-container", children: [
4470
+ import { forwardRef as forwardRef133 } from "react";
4471
+ import { jsx as jsx135, jsxs as jsxs114 } from "react/jsx-runtime";
4472
+ var BlockSiteFooter = forwardRef133(function BlockSiteFooter2({ brand, brandHref = "/", about, columns, copyright, credit, className, ...rest }, ref) {
4473
+ return /* @__PURE__ */ jsx135("footer", { ref, className: cx("oc-site-footer", className), ...rest, children: /* @__PURE__ */ jsxs114("div", { className: "oc-container", children: [
4439
4474
  /* @__PURE__ */ jsxs114("div", { className: "oc-site-footer__grid", children: [
4440
4475
  /* @__PURE__ */ jsxs114("div", { className: "oc-site-footer__about", children: [
4441
- /* @__PURE__ */ jsx132("a", { className: "oc-site-header__brand", href: brandHref, children: brand }),
4442
- about != null && /* @__PURE__ */ jsx132("p", { children: about })
4476
+ /* @__PURE__ */ jsx135("a", { className: "oc-site-header__brand", href: brandHref, children: brand }),
4477
+ about != null && /* @__PURE__ */ jsx135("p", { children: about })
4443
4478
  ] }),
4444
4479
  columns.map((col, i) => /* @__PURE__ */ jsxs114("div", { children: [
4445
- /* @__PURE__ */ jsx132("h2", { className: "oc-site-footer__title", children: col.title }),
4446
- col.links && /* @__PURE__ */ jsx132("ul", { className: "oc-site-footer__list", children: col.links.map((l, j) => /* @__PURE__ */ jsx132("li", { children: /* @__PURE__ */ jsx132("a", { href: l.href, children: l.label }) }, j)) }),
4447
- col.address != null && /* @__PURE__ */ jsx132("address", { className: "oc-site-footer__list", children: col.address })
4480
+ /* @__PURE__ */ jsx135("h2", { className: "oc-site-footer__title", children: col.title }),
4481
+ col.links && /* @__PURE__ */ jsx135("ul", { className: "oc-site-footer__list", children: col.links.map((l, j) => /* @__PURE__ */ jsx135("li", { children: /* @__PURE__ */ jsx135("a", { href: l.href, children: l.label }) }, j)) }),
4482
+ col.address != null && /* @__PURE__ */ jsx135("address", { className: "oc-site-footer__list", children: col.address })
4448
4483
  ] }, i))
4449
4484
  ] }),
4450
4485
  (copyright != null || credit != null) && /* @__PURE__ */ jsxs114("div", { className: "oc-site-footer__bottom", children: [
4451
- /* @__PURE__ */ jsx132("span", { children: copyright }),
4452
- /* @__PURE__ */ jsx132("span", { children: credit })
4486
+ /* @__PURE__ */ jsx135("span", { children: copyright }),
4487
+ /* @__PURE__ */ jsx135("span", { children: credit })
4453
4488
  ] })
4454
4489
  ] }) });
4455
4490
  });
4456
4491
 
4457
4492
  // src/blocks/BlockSiteHeader.tsx
4458
- import { forwardRef as forwardRef131, useId as useId42 } from "react";
4459
- import { jsx as jsx133, jsxs as jsxs115 } from "react/jsx-runtime";
4460
- var BlockSiteHeader = forwardRef131(function BlockSiteHeader2({ brand, brandHref = "/", links, cta, menuLabel = "Menu", className, ...rest }, ref) {
4493
+ import { forwardRef as forwardRef134, useId as useId42 } from "react";
4494
+ import { jsx as jsx136, jsxs as jsxs115 } from "react/jsx-runtime";
4495
+ var BlockSiteHeader = forwardRef134(function BlockSiteHeader2({ brand, brandHref = "/", links, cta, menuLabel = "Menu", className, ...rest }, ref) {
4461
4496
  const navId = `oc-site-nav-${useId42().replace(/:/g, "")}`;
4462
- return /* @__PURE__ */ jsx133("header", { ref, className: cx("oc-site-header", className), ...rest, children: /* @__PURE__ */ jsxs115("div", { className: "oc-container oc-site-header__inner", children: [
4463
- /* @__PURE__ */ jsx133("a", { className: "oc-site-header__brand", href: brandHref, children: brand }),
4464
- /* @__PURE__ */ jsx133("button", { className: "oc-site-header__toggle", type: "button", "aria-label": menuLabel, popoverTarget: navId, children: "\u2630" }),
4497
+ return /* @__PURE__ */ jsx136("header", { ref, className: cx("oc-site-header", className), ...rest, children: /* @__PURE__ */ jsxs115("div", { className: "oc-container oc-site-header__inner", children: [
4498
+ /* @__PURE__ */ jsx136("a", { className: "oc-site-header__brand", href: brandHref, children: brand }),
4499
+ /* @__PURE__ */ jsx136("button", { className: "oc-site-header__toggle", type: "button", "aria-label": menuLabel, popoverTarget: navId, children: "\u2630" }),
4465
4500
  /* @__PURE__ */ jsxs115("nav", { className: "oc-site-header__nav", id: navId, "aria-label": "Main", ...attrs({ popover: "" }), children: [
4466
- links.map((l, i) => /* @__PURE__ */ jsx133("a", { href: l.href, "aria-current": l.current ? "page" : void 0, children: l.label }, i)),
4501
+ links.map((l, i) => /* @__PURE__ */ jsx136("a", { href: l.href, "aria-current": l.current ? "page" : void 0, children: l.label }, i)),
4467
4502
  cta
4468
4503
  ] })
4469
4504
  ] }) });
4470
4505
  });
4471
4506
 
4472
4507
  // src/blocks/BlockSpotlight.tsx
4473
- import { forwardRef as forwardRef132 } from "react";
4474
- import { jsx as jsx134, jsxs as jsxs116 } from "react/jsx-runtime";
4475
- var BlockSpotlight = forwardRef132(function BlockSpotlight2({ accent, badge, icon, title, tagline, lead, action, modules, className, ...rest }, ref) {
4476
- return /* @__PURE__ */ jsx134("section", { ref, className: cx("oc-section-pad", className), ...rest, children: /* @__PURE__ */ jsx134("div", { className: "oc-container", children: /* @__PURE__ */ jsxs116("div", { className: cx("oc-spotlight", accent && `oc-accent--${accent}`), children: [
4508
+ import { forwardRef as forwardRef135 } from "react";
4509
+ import { jsx as jsx137, jsxs as jsxs116 } from "react/jsx-runtime";
4510
+ var BlockSpotlight = forwardRef135(function BlockSpotlight2({ accent, badge, icon, title, tagline, lead, action, modules, className, ...rest }, ref) {
4511
+ return /* @__PURE__ */ jsx137("section", { ref, className: cx("oc-section-pad", className), ...rest, children: /* @__PURE__ */ jsx137("div", { className: "oc-container", children: /* @__PURE__ */ jsxs116("div", { className: cx("oc-spotlight", accent && `oc-accent--${accent}`), children: [
4477
4512
  /* @__PURE__ */ jsxs116("div", { children: [
4478
4513
  badge != null && /* @__PURE__ */ jsxs116("span", { className: "oc-pill oc-pill--accent", children: [
4479
- /* @__PURE__ */ jsx134("span", { className: "oc-status-dot" }),
4514
+ /* @__PURE__ */ jsx137("span", { className: "oc-status-dot" }),
4480
4515
  badge
4481
4516
  ] }),
4482
4517
  /* @__PURE__ */ jsxs116("h2", { className: "oc-spotlight__title", children: [
4483
- icon != null && /* @__PURE__ */ jsx134("span", { className: "oc-icon-tile oc-icon-tile--lg", "aria-hidden": "true", children: icon }),
4518
+ icon != null && /* @__PURE__ */ jsx137("span", { className: "oc-icon-tile oc-icon-tile--lg", "aria-hidden": "true", children: icon }),
4484
4519
  title
4485
4520
  ] }),
4486
- tagline != null && /* @__PURE__ */ jsx134("p", { className: "oc-spotlight__tagline", children: tagline }),
4487
- lead != null && /* @__PURE__ */ jsx134("p", { className: "oc-lead", children: lead }),
4521
+ tagline != null && /* @__PURE__ */ jsx137("p", { className: "oc-spotlight__tagline", children: tagline }),
4522
+ lead != null && /* @__PURE__ */ jsx137("p", { className: "oc-lead", children: lead }),
4488
4523
  action
4489
4524
  ] }),
4490
- modules && /* @__PURE__ */ jsx134("ul", { className: "oc-spotlight__modules", children: modules.map((m, i) => /* @__PURE__ */ jsxs116("li", { children: [
4491
- m.icon != null && /* @__PURE__ */ jsx134("span", { className: "oc-icon-tile oc-icon-tile--sm", "aria-hidden": "true", children: m.icon }),
4525
+ modules && /* @__PURE__ */ jsx137("ul", { className: "oc-spotlight__modules", children: modules.map((m, i) => /* @__PURE__ */ jsxs116("li", { children: [
4526
+ m.icon != null && /* @__PURE__ */ jsx137("span", { className: "oc-icon-tile oc-icon-tile--sm", "aria-hidden": "true", children: m.icon }),
4492
4527
  m.label
4493
4528
  ] }, i)) })
4494
4529
  ] }) }) });
4495
4530
  });
4496
4531
 
4497
4532
  // src/blocks/BlockStats.tsx
4498
- import { forwardRef as forwardRef133 } from "react";
4499
- import { jsx as jsx135, jsxs as jsxs117 } from "react/jsx-runtime";
4500
- var BlockStats = forwardRef133(function BlockStats2({ stats, className, ...rest }, ref) {
4501
- return /* @__PURE__ */ jsx135("div", { ref, className: cx("oc-block-stats", className), ...rest, children: stats.map((s, i) => /* @__PURE__ */ jsxs117("div", { className: "oc-block-stat", children: [
4502
- /* @__PURE__ */ jsx135("div", { className: "oc-block-stat-value", children: s.value }),
4503
- /* @__PURE__ */ jsx135("div", { className: "oc-block-stat-label", children: s.label })
4533
+ import { forwardRef as forwardRef136 } from "react";
4534
+ import { jsx as jsx138, jsxs as jsxs117 } from "react/jsx-runtime";
4535
+ var BlockStats = forwardRef136(function BlockStats2({ stats, className, ...rest }, ref) {
4536
+ return /* @__PURE__ */ jsx138("div", { ref, className: cx("oc-block-stats", className), ...rest, children: stats.map((s, i) => /* @__PURE__ */ jsxs117("div", { className: "oc-block-stat", children: [
4537
+ /* @__PURE__ */ jsx138("div", { className: "oc-block-stat-value", children: s.value }),
4538
+ /* @__PURE__ */ jsx138("div", { className: "oc-block-stat-label", children: s.label })
4504
4539
  ] }, i)) });
4505
4540
  });
4506
4541
 
4507
4542
  // src/blocks/BlockStatsCounter.tsx
4508
- import { forwardRef as forwardRef134 } from "react";
4509
- import { jsx as jsx136, jsxs as jsxs118 } from "react/jsx-runtime";
4510
- var BlockStatsCounter = forwardRef134(function BlockStatsCounter2({ stats, className, ...rest }, ref) {
4511
- return /* @__PURE__ */ jsx136("div", { ref, className: cx("oc-block-stats", className), ...rest, children: stats.map((s, i) => /* @__PURE__ */ jsxs118("div", { className: "oc-block-stat", children: [
4512
- /* @__PURE__ */ jsx136(Counter, { className: "oc-block-stat-value", to: s.to, suffix: s.suffix }),
4513
- /* @__PURE__ */ jsx136("span", { className: "oc-block-stat-label", children: s.label })
4543
+ import { forwardRef as forwardRef137 } from "react";
4544
+ import { jsx as jsx139, jsxs as jsxs118 } from "react/jsx-runtime";
4545
+ var BlockStatsCounter = forwardRef137(function BlockStatsCounter2({ stats, className, ...rest }, ref) {
4546
+ return /* @__PURE__ */ jsx139("div", { ref, className: cx("oc-block-stats", className), ...rest, children: stats.map((s, i) => /* @__PURE__ */ jsxs118("div", { className: "oc-block-stat", children: [
4547
+ /* @__PURE__ */ jsx139(Counter, { className: "oc-block-stat-value", to: s.to, suffix: s.suffix }),
4548
+ /* @__PURE__ */ jsx139("span", { className: "oc-block-stat-label", children: s.label })
4514
4549
  ] }, i)) });
4515
4550
  });
4516
4551
 
4517
4552
  // src/blocks/BlockTeamList.tsx
4518
- import { forwardRef as forwardRef135 } from "react";
4519
- import { Fragment as Fragment28, jsx as jsx137, jsxs as jsxs119 } from "react/jsx-runtime";
4520
- var BlockTeamList = forwardRef135(function BlockTeamList2({ members, className, ...rest }, ref) {
4521
- return /* @__PURE__ */ jsx137("div", { ref, className: cx("oc-block-team", className), ...rest, children: members.map((m, i) => /* @__PURE__ */ jsxs119("div", { className: "oc-block-team-row", children: [
4522
- /* @__PURE__ */ jsx137(User, { name: m.name, email: m.email, initials: m.initials, avatarSrc: m.avatarSrc }),
4553
+ import { forwardRef as forwardRef138 } from "react";
4554
+ import { Fragment as Fragment29, jsx as jsx140, jsxs as jsxs119 } from "react/jsx-runtime";
4555
+ var BlockTeamList = forwardRef138(function BlockTeamList2({ members, className, ...rest }, ref) {
4556
+ return /* @__PURE__ */ jsx140("div", { ref, className: cx("oc-block-team", className), ...rest, children: members.map((m, i) => /* @__PURE__ */ jsxs119("div", { className: "oc-block-team-row", children: [
4557
+ /* @__PURE__ */ jsx140(User, { name: m.name, email: m.email, initials: m.initials, avatarSrc: m.avatarSrc }),
4523
4558
  /* @__PURE__ */ jsxs119("div", { className: "oc-block-team-meta", children: [
4524
- m.role != null && /* @__PURE__ */ jsx137(Badge, { variant: m.roleVariant, children: m.role }),
4525
- m.menu != null && /* @__PURE__ */ jsx137(Dropdown, { trigger: /* @__PURE__ */ jsx137(Fragment28, { children: "\u2026" }), triggerProps: { variant: "ghost", icon: true, size: "sm", type: "button", "aria-label": m.menuLabel ?? "Member actions" }, children: m.menu })
4559
+ m.role != null && /* @__PURE__ */ jsx140(Badge, { variant: m.roleVariant, children: m.role }),
4560
+ m.menu != null && /* @__PURE__ */ jsx140(Dropdown, { trigger: /* @__PURE__ */ jsx140(Fragment29, { children: "\u2026" }), triggerProps: { variant: "ghost", icon: true, size: "sm", type: "button", "aria-label": m.menuLabel ?? "Member actions" }, children: m.menu })
4526
4561
  ] })
4527
4562
  ] }, i)) });
4528
4563
  });
4529
4564
 
4530
4565
  // src/blocks/BlockTwoFactor.tsx
4531
- import { forwardRef as forwardRef136, useId as useId43, useState as useState15 } from "react";
4532
- import { jsx as jsx138, jsxs as jsxs120 } from "react/jsx-runtime";
4533
- var BlockTwoFactor = forwardRef136(function BlockTwoFactor2({ qr, setupKey, recoveryCodes, codeLength = 6, onSubmit, submitLabel = "Enable two-factor", className, ...rest }, ref) {
4566
+ import { forwardRef as forwardRef139, useId as useId43, useState as useState15 } from "react";
4567
+ import { jsx as jsx141, jsxs as jsxs120 } from "react/jsx-runtime";
4568
+ var BlockTwoFactor = forwardRef139(function BlockTwoFactor2({ qr, setupKey, recoveryCodes, codeLength = 6, onSubmit, submitLabel = "Enable two-factor", className, ...rest }, ref) {
4534
4569
  const id = `oc-twofactor-${useId43().replace(/:/g, "")}`;
4535
4570
  const [code, setCode] = useState15("");
4536
4571
  const submit = (e) => {
@@ -4539,28 +4574,28 @@ var BlockTwoFactor = forwardRef136(function BlockTwoFactor2({ qr, setupKey, reco
4539
4574
  };
4540
4575
  return /* @__PURE__ */ jsxs120("div", { ref, className: cx("oc-block-twofactor", className), ...rest, children: [
4541
4576
  /* @__PURE__ */ jsxs120("section", { className: "oc-block-twofactor-step", children: [
4542
- /* @__PURE__ */ jsx138(Heading, { size: "sm", title: "1. Scan the QR code", description: "Use an authenticator app, or enter the key manually." }),
4577
+ /* @__PURE__ */ jsx141(Heading, { size: "sm", title: "1. Scan the QR code", description: "Use an authenticator app, or enter the key manually." }),
4543
4578
  /* @__PURE__ */ jsxs120("div", { className: "oc-block-twofactor-center", children: [
4544
- qr ?? /* @__PURE__ */ jsx138("div", { className: "oc-block-twofactor-qr", role: "img", "aria-label": "QR code", children: "QR code" }),
4545
- /* @__PURE__ */ jsx138(CopyField, { value: setupKey, label: "Setup key" })
4579
+ qr ?? /* @__PURE__ */ jsx141("div", { className: "oc-block-twofactor-qr", role: "img", "aria-label": "QR code", children: "QR code" }),
4580
+ /* @__PURE__ */ jsx141(CopyField, { value: setupKey, label: "Setup key" })
4546
4581
  ] })
4547
4582
  ] }),
4548
4583
  /* @__PURE__ */ jsxs120("form", { className: "oc-block-twofactor-step", onSubmit: submit, children: [
4549
- /* @__PURE__ */ jsx138(Heading, { size: "sm", title: "2. Confirm with a code" }),
4584
+ /* @__PURE__ */ jsx141(Heading, { size: "sm", title: "2. Confirm with a code" }),
4550
4585
  /* @__PURE__ */ jsxs120("div", { className: "oc-field", children: [
4551
- /* @__PURE__ */ jsx138("label", { className: "oc-field-label", htmlFor: id, children: "Authentication code" }),
4552
- /* @__PURE__ */ jsx138(OtpInput, { id, name: "code", length: codeLength, value: code, onChange: setCode })
4586
+ /* @__PURE__ */ jsx141("label", { className: "oc-field-label", htmlFor: id, children: "Authentication code" }),
4587
+ /* @__PURE__ */ jsx141(OtpInput, { id, name: "code", length: codeLength, value: code, onChange: setCode })
4553
4588
  ] }),
4554
- /* @__PURE__ */ jsx138("button", { className: "oc-btn", type: "submit", children: submitLabel })
4589
+ /* @__PURE__ */ jsx141("button", { className: "oc-btn", type: "submit", children: submitLabel })
4555
4590
  ] }),
4556
- recoveryCodes && /* @__PURE__ */ jsx138("section", { className: "oc-block-twofactor-step", children: /* @__PURE__ */ jsx138(RecoveryCodes, { codes: recoveryCodes }) })
4591
+ recoveryCodes && /* @__PURE__ */ jsx141("section", { className: "oc-block-twofactor-step", children: /* @__PURE__ */ jsx141(RecoveryCodes, { codes: recoveryCodes }) })
4557
4592
  ] });
4558
4593
  });
4559
4594
 
4560
4595
  // src/blocks/BlockWizardDialog.tsx
4561
- import { forwardRef as forwardRef137, useId as useId44, useRef as useRef13 } from "react";
4562
- import { jsx as jsx139, jsxs as jsxs121 } from "react/jsx-runtime";
4563
- var BlockWizardDialog = forwardRef137(function BlockWizardDialog2({
4596
+ import { forwardRef as forwardRef140, useId as useId44, useRef as useRef13 } from "react";
4597
+ import { jsx as jsx142, jsxs as jsxs121 } from "react/jsx-runtime";
4598
+ var BlockWizardDialog = forwardRef140(function BlockWizardDialog2({
4564
4599
  open,
4565
4600
  defaultOpen,
4566
4601
  onOpenChange,
@@ -4584,7 +4619,7 @@ var BlockWizardDialog = forwardRef137(function BlockWizardDialog2({
4584
4619
  const [current, setCurrent] = useControllable(step, defaultStep, onStepChange);
4585
4620
  const last = current >= steps.length - 1;
4586
4621
  const active = steps[current];
4587
- return /* @__PURE__ */ jsx139(
4622
+ return /* @__PURE__ */ jsx142(
4588
4623
  "dialog",
4589
4624
  {
4590
4625
  ref,
@@ -4593,17 +4628,17 @@ var BlockWizardDialog = forwardRef137(function BlockWizardDialog2({
4593
4628
  ...attrs({ closedby: "closerequest" }),
4594
4629
  ...rest,
4595
4630
  onClose: dlg.onClose,
4596
- children: /* @__PURE__ */ jsx139(DialogContext.Provider, { value: { close: dlg.close }, children: /* @__PURE__ */ jsx139("div", { className: "oc-modal-content oc-modal-content--xl", children: /* @__PURE__ */ jsxs121("div", { className: "oc-block-wizard", children: [
4597
- /* @__PURE__ */ jsx139("div", { className: "oc-block-wizard-rail", children: /* @__PURE__ */ jsx139(Stepper, { steps: steps.map((s) => ({ label: s.label })), current, onStepChange: setCurrent, "aria-label": stepperLabel }) }),
4631
+ children: /* @__PURE__ */ jsx142(DialogContext.Provider, { value: { close: dlg.close }, children: /* @__PURE__ */ jsx142("div", { className: "oc-modal-content oc-modal-content--xl", children: /* @__PURE__ */ jsxs121("div", { className: "oc-block-wizard", children: [
4632
+ /* @__PURE__ */ jsx142("div", { className: "oc-block-wizard-rail", children: /* @__PURE__ */ jsx142(Stepper, { steps: steps.map((s) => ({ label: s.label })), current, onStepChange: setCurrent, "aria-label": stepperLabel }) }),
4598
4633
  /* @__PURE__ */ jsxs121("div", { className: "oc-block-wizard-main", children: [
4599
4634
  /* @__PURE__ */ jsxs121("div", { className: "oc-modal-header", children: [
4600
- /* @__PURE__ */ jsx139("h2", { className: "oc-modal-title", id: titleId, children: active?.label }),
4601
- /* @__PURE__ */ jsx139("p", { className: "oc-modal-description", children: description ?? `Step ${current + 1} of ${steps.length}` })
4635
+ /* @__PURE__ */ jsx142("h2", { className: "oc-modal-title", id: titleId, children: active?.label }),
4636
+ /* @__PURE__ */ jsx142("p", { className: "oc-modal-description", children: description ?? `Step ${current + 1} of ${steps.length}` })
4602
4637
  ] }),
4603
- /* @__PURE__ */ jsx139("div", { className: "oc-block-wizard-step", children: active?.content }),
4638
+ /* @__PURE__ */ jsx142("div", { className: "oc-block-wizard-step", children: active?.content }),
4604
4639
  /* @__PURE__ */ jsxs121("div", { className: "oc-modal-footer", children: [
4605
- /* @__PURE__ */ jsx139("button", { className: "oc-btn oc-btn--outline", type: "button", disabled: current === 0, onClick: () => setCurrent(current - 1), children: backLabel }),
4606
- /* @__PURE__ */ jsx139(
4640
+ /* @__PURE__ */ jsx142("button", { className: "oc-btn oc-btn--outline", type: "button", disabled: current === 0, onClick: () => setCurrent(current - 1), children: backLabel }),
4641
+ /* @__PURE__ */ jsx142(
4607
4642
  "button",
4608
4643
  {
4609
4644
  className: "oc-btn",
@@ -4729,7 +4764,9 @@ export {
4729
4764
  LauncherCard,
4730
4765
  Lightbox,
4731
4766
  LinkArrow,
4767
+ LinkRow,
4732
4768
  ListToolbar,
4769
+ LiveFrame,
4733
4770
  Marquee,
4734
4771
  MediaCard,
4735
4772
  MediaRow,
@@ -4806,6 +4843,7 @@ export {
4806
4843
  UpgradeBanner,
4807
4844
  User,
4808
4845
  VersionBanner,
4846
+ Watermark,
4809
4847
  attachmentMeta,
4810
4848
  attrs,
4811
4849
  buttonClass,