@factorialco/f0-react 4.39.1 → 4.40.0

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.
@@ -1,6 +1,6 @@
1
1
  import { jsxs as a, jsx as t, Fragment as Re } from "react/jsx-runtime";
2
2
  import { useInsertionEffect as Sr, forwardRef as h, useRef as j, useEffect as q, useLayoutEffect as rt, useState as B, useMemo as Q, useCallback as _, createContext as Ge, useContext as Be, useId as ot, createElement as Tr, memo as Hr } from "react";
3
- import { cU as Ar, cV as $r, Z as nt, bX as Br, cW as Ir, cX as Pr, cY as jr, cZ as Dr, b$ as st, bW as Zr, c_ as _r, a6 as s1, c$ as Or, aK as Ur, d0 as zr, d1 as Gr, d2 as Wr, ah as qr, d3 as Xr, co as Yr, aa as it, ad as Kr, d4 as Qr, ba as i1, a1 as at, S as We, bN as ct, bi as Jr, d5 as eo, d6 as to, b3 as ro, cn as oo, $ as Fe, av as no, bm as lt, d7 as so, cl as io, bV as Me, ch as ao, d8 as co, bP as dt, b2 as lo, d9 as fo, da as uo, db as ho, dc as go, dd as Co, de as ft, ca as po, cb as mo, df as vo, dg as wo, dh as xo, di as ko, dj as Lo, bw as bo, bZ as yo, dk as Mo, dl as Eo, dm as Ro, dn as Fo, dp as No, dq as Vo, dr as So, ds as To, bv as Ho, cm as Ao, ab as $o, c6 as Bo, dt as Io, du as Po, dv as jo, dw as Do, dx as Zo, dy as _o, dz as Oo, aq as Uo, bR as ut, M as zo, a0 as Go, bK as ht, bO as Wo, bQ as gt, dA as qo, bl as Xo, bk as Yo, dB as Ko, dC as Qo, bx as Ct, by as Jo, bz as en, b1 as tn, az as rn, dD as on, at as nn, bg as pt, bf as mt, b8 as sn, dE as vt, b7 as an, bY as a1, dF as cn, bc as c1, dG as ln, dH as dn, dI as l1, cj as fn, ci as un, ck as wt, dJ as hn, G as gn, E as Cn, dK as pn, dL as mn, dM as vn, dN as wn, bL as xn, dO as xt, dP as kn, ac as Ln, dQ as bn, L as ce, o as k, q as Se, c0 as yn, u as G, bJ as Mn, U as he, bI as kt, H as le, v as ge, a2 as En, Q as pe, dR as Rn, ae as ie, aQ as xe, A as Ee, p as J, ct as Lt, aE as d1, dS as Fn, aF as f1, aG as u1, b as be, bG as Nn, dT as Vn, bH as Sn, V as Tn, b0 as Hn, a5 as h1, bA as An, bB as $n, bC as Bn, bD as y1, a3 as In, al as bt, aT as yt, dU as Pn, cA as jn, dV as Dn, dW as Zn, aY as Mt, dX as _n, cu as On, dY as Un, aV as $e, b9 as Et, dZ as Rt, bb as Ft, c as r1, b_ as M1, d_ as Nt, d$ as zn, e0 as Gn, bq as Wn, e1 as qn, bh as g1, c7 as Xn, e2 as Yn, e3 as Kn, e4 as Qn, e5 as Jn, e6 as es, a8 as ts, af as rs, y as os, z as ns, ak as E1, e7 as Vt, e8 as St, e9 as ss, ea as is, aj as as, a7 as cs, eb as ls, ec as ds, d as fs } from "./F0CanvasPanel-Eg6MeaXo.js";
3
+ import { cU as Ar, cV as $r, Z as nt, bX as Br, cW as Ir, cX as Pr, cY as jr, cZ as Dr, b$ as st, bW as Zr, c_ as _r, a6 as s1, c$ as Or, aK as Ur, d0 as zr, d1 as Gr, d2 as Wr, ah as qr, d3 as Xr, co as Yr, aa as it, ad as Kr, d4 as Qr, ba as i1, a1 as at, S as We, bN as ct, bi as Jr, d5 as eo, d6 as to, b3 as ro, cn as oo, $ as Fe, av as no, bm as lt, d7 as so, cl as io, bV as Me, ch as ao, d8 as co, bP as dt, b2 as lo, d9 as fo, da as uo, db as ho, dc as go, dd as Co, de as ft, ca as po, cb as mo, df as vo, dg as wo, dh as xo, di as ko, dj as Lo, bw as bo, bZ as yo, dk as Mo, dl as Eo, dm as Ro, dn as Fo, dp as No, dq as Vo, dr as So, ds as To, bv as Ho, cm as Ao, ab as $o, c6 as Bo, dt as Io, du as Po, dv as jo, dw as Do, dx as Zo, dy as _o, dz as Oo, aq as Uo, bR as ut, M as zo, a0 as Go, bK as ht, bO as Wo, bQ as gt, dA as qo, bl as Xo, bk as Yo, dB as Ko, dC as Qo, bx as Ct, by as Jo, bz as en, b1 as tn, az as rn, dD as on, at as nn, bg as pt, bf as mt, b8 as sn, dE as vt, b7 as an, bY as a1, dF as cn, bc as c1, dG as ln, dH as dn, dI as l1, cj as fn, ci as un, ck as wt, dJ as hn, G as gn, E as Cn, dK as pn, dL as mn, dM as vn, dN as wn, bL as xn, dO as xt, dP as kn, ac as Ln, dQ as bn, L as ce, o as k, q as Se, c0 as yn, u as G, bJ as Mn, U as he, bI as kt, H as le, v as ge, a2 as En, Q as pe, dR as Rn, ae as ie, aQ as xe, A as Ee, p as J, ct as Lt, aE as d1, dS as Fn, aF as f1, aG as u1, b as be, bG as Nn, dT as Vn, bH as Sn, V as Tn, b0 as Hn, a5 as h1, bA as An, bB as $n, bC as Bn, bD as y1, a3 as In, al as bt, aT as yt, dU as Pn, cA as jn, dV as Dn, dW as Zn, aY as Mt, dX as _n, cu as On, dY as Un, aV as $e, b9 as Et, dZ as Rt, bb as Ft, c as r1, b_ as M1, d_ as Nt, d$ as zn, e0 as Gn, bq as Wn, e1 as qn, bh as g1, c7 as Xn, e2 as Yn, e3 as Kn, e4 as Qn, e5 as Jn, e6 as es, a8 as ts, af as rs, y as os, z as ns, ak as E1, e7 as Vt, e8 as St, e9 as ss, ea as is, aj as as, a7 as cs, eb as ls, ec as ds, d as fs } from "./F0CanvasPanel-C9dAQPQK.js";
4
4
  import { createPortal as Tt } from "react-dom";
5
5
  import { defaultTranslations as us } from "./i18n-provider-defaults.js";
6
6
  import { useTrackVolume as hs } from "@livekit/components-react";
@@ -28069,8 +28069,9 @@ const jk2 = (e, t) => /* @__PURE__ */ P(
28069
28069
  base: "relative flex shrink-0 items-center justify-center",
28070
28070
  variants: {
28071
28071
  size: {
28072
- "3xs": "h-2.5 w-2.5",
28073
- "2xs": "h-3 w-3",
28072
+ "4xs": "h-2.5 w-2.5",
28073
+ "3xs": "h-3 w-3",
28074
+ "2xs": "h-4 w-4",
28074
28075
  xs: "h-5 w-5",
28075
28076
  sm: "h-6 w-6",
28076
28077
  md: "h-8 w-8",
@@ -28084,8 +28085,9 @@ const jk2 = (e, t) => /* @__PURE__ */ P(
28084
28085
  base: "relative text-f1-foreground-inverse drop-shadow",
28085
28086
  variants: {
28086
28087
  size: {
28087
- "3xs": "h-2 w-2",
28088
- "2xs": "h-2 w-2",
28088
+ "4xs": "h-[7px] w-[7px]",
28089
+ "3xs": "h-[9px] w-[9px]",
28090
+ "2xs": "h-3 w-3",
28089
28091
  xs: "h-[14px] w-[14px]",
28090
28092
  sm: "h-[18px] w-[18px]",
28091
28093
  md: "h-6 w-6",
@@ -28500,11 +28502,11 @@ const sX = {
28500
28502
  },
28501
28503
  lg: {
28502
28504
  default: "path('M20.7998 0C27.5204 0 30.8813 -0.00030458 33.4482 1.30762C35.7061 2.45808 37.5419 4.29394 38.6924 6.55176C40.0003 9.1187 40 12.4796 40 19.2002V20.7998C40 24.9742 39.999 27.8522 39.6855 30.0488C38.615 29.3845 37.3526 29 36 29C32.134 29 29 32.134 29 36C29 37.3526 29.3845 38.615 30.0488 39.6855C27.8522 39.999 24.9742 40 20.7998 40H19.2002C12.4796 40 9.1187 40.0003 6.55176 38.6924C4.29394 37.5419 2.45808 35.7061 1.30762 33.4482C-0.00030458 30.8813 0 27.5204 0 20.7998V19.2002C0 12.4796 -0.00030458 9.1187 1.30762 6.55176C2.45808 4.29394 4.29394 2.45808 6.55176 1.30762C9.1187 -0.00030458 12.4796 0 19.2002 0H20.7998Z')",
28503
- module: "path('M20 6.35055e-10C25.5858 6.35055e-10 28.3788 -0.0004614 30.624 0.785156C34.6455 2.19233 37.8077 5.35452 39.2148 9.37598C40.0005 11.6212 40 14.4142 40 20C40 24.6415 39.9967 27.3539 39.5459 29.4268C38.5999 29.1317 37.4301 29 36 29C30.75 29 29 30.75 29 36C29 37.4301 29.1317 38.5999 29.4268 39.5459C27.3539 39.9967 24.6415 40 20 40C14.4142 40 11.6212 40.0005 9.37598 39.2148C5.35452 37.8077 2.19233 34.6455 0.785156 30.624C-0.0004614 28.3788 6.35204e-10 25.5858 6.35204e-10 20C6.35204e-10 14.4142 -0.0004614 11.6212 0.785156 9.37598C2.19233 5.35452 5.35452 2.19233 9.37598 0.785156C11.6212 -0.0004614 14.4142 6.35055e-10 20 6.35055e-10Z')"
28505
+ module: "path('M20 6.35055e-10 C25.5858 6.35055e-10 28.3788 -0.0004614 30.624 0.785156 C34.6455 2.19233 37.8077 5.35452 39.2148 9.37598 C40.0005 11.6212 40 14.4142 40 20 L40 21.382 C39.053 20.818 37.986 20.409 36.8 20.24 C35.36 20 33.68 20 32 20 C30.32 20 28.64 20 27.2 20.24 C25.52 20.48 24.08 21.2 22.88 22.16 C21.2 23.84 20.24 26 20 28.64 C20 30.32 20 33.68 20 35.36 C20.16 37.12 20.64 38.667 21.44 40 L20 40 C14.4142 40 11.6212 40.0005 9.37598 39.2148 C5.35452 37.8077 2.19233 34.6455 0.785156 30.624 C-0.0004614 28.3788 6.35204e-10 25.5858 6.35204e-10 20 C6.35204e-10 14.4142 -0.0004614 11.6212 0.785156 9.37598 C2.19233 5.35452 5.35452 2.19233 9.37598 0.785156 C11.6212 -0.0004614 14.4142 6.35055e-10 20 6.35055e-10 Z')"
28504
28506
  },
28505
28507
  md: {
28506
28508
  default: "path('M32 0H0V32H22.2547C21.4638 30.8662 21 29.4872 21 28C21 24.134 24.134 21 28 21C29.4872 21 30.8662 21.4638 32 22.2547V0Z')",
28507
- module: "path('M16 0C21.6005 0 24.4009 -9.10759e-05 26.54 1.08984C28.4216 2.04857 29.9514 3.5784 30.9102 5.45996C32.0001 7.59908 32 10.3995 32 16C32 18.2626 31.9977 20.0681 31.9258 21.5576C30.9188 21.169 29.6278 21 28 21C22.75 21 21 22.75 21 28C21 29.6278 21.169 30.9188 21.5576 31.9258C20.0681 31.9977 18.2626 32 16 32C10.3995 32 7.59908 32.0001 5.45996 30.9102C3.5784 29.9514 2.04857 28.4216 1.08984 26.54C-9.10759e-05 24.4009 0 21.6005 0 16C0 10.3995 -9.10759e-05 7.59908 1.08984 5.45996C2.04857 3.5784 3.5784 2.04857 5.45996 1.08984C7.59908 -9.10759e-05 10.3995 0 16 0Z')"
28509
+ module: "path('M16 0 C21.6005 0 24.4009 -9.10759e-05 26.54 1.08984 C28.4216 2.04857 29.9514 3.5784 30.9102 5.45996 C32.0001 7.59908 32 10.3995 32 16 L32 16.798 C31.386 16.511 30.719 16.303 30 16.2 C28.8 16 27.4 16 26 16 C24.6 16 23.2 16 22 16.2 C20.6 16.4 19.4 17 18.4 17.8 C17 19.2 16.2 21 16 23.2 C16 24.6 16 27.4 16 28.8 C16.107 29.982 16.388 31.049 16.842 32 L16 32 C10.3995 32 7.59908 32.0001 5.45996 30.9102 C3.5784 29.9514 2.04857 28.4216 1.08984 26.54 C-9.10759e-05 24.4009 0 21.6005 0 16 C0 10.3995 -9.10759e-05 7.59908 1.08984 5.45996 C2.04857 3.5784 3.5784 2.04857 5.45996 1.08984 C7.59908 -9.10759e-05 10.3995 0 16 0 Z')"
28508
28510
  },
28509
28511
  sm: {
28510
28512
  default: "path('M24 0H0V24H14.2547C13.4638 22.8662 13 21.4872 13 20C13 16.134 16.134 13 20 13C21.4872 13 22.8662 13.4638 24 14.2547V0Z')",
@@ -28526,11 +28528,11 @@ const sX = {
28526
28528
  },
28527
28529
  lg: {
28528
28530
  default: "path('M20 0C31.0457 0 40 8.9543 40 20C40 23.326 39.1863 26.4613 37.75 29.2207C37.1907 29.0767 36.6043 29 36 29C32.134 29 29 32.134 29 36C29 36.6043 29.0767 37.1907 29.2207 37.75C26.4613 39.1863 23.326 40 20 40C8.9543 40 0 31.0457 0 20C0 8.9543 8.9543 0 20 0Z')",
28529
- module: "path('M20 0C31.0457 0 40 8.9543 40 20C40 23.2721 39.2135 26.3603 37.8203 29.0869C37.2667 29.0279 36.6611 29 36 29C30.75 29 29 30.75 29 36C29 36.6611 29.0279 37.2667 29.0869 37.8203C26.3603 39.2135 23.2721 40 20 40C8.9543 40 0 31.0457 0 20C0 8.9543 8.9543 0 20 0Z')"
28531
+ module: "path('M 39.954 21.355 C39.019 20.805 37.967 20.407 36.8 20.24 C35.36 20 33.68 20 32 20 C30.32 20 28.64 20 27.2 20.24 C25.52 20.48 24.08 21.2 22.88 22.16 C21.2 23.84 20.24 26 20 28.64 C20 30.32 20 33.68 20 35.36 C20.158 37.098 20.628 38.628 21.41 39.95 A 20 20 0 1 1 39.954 21.355 Z')"
28530
28532
  },
28531
28533
  md: {
28532
28534
  default: "path('M30.9702 21.6596C31.6358 19.9001 32 17.9926 32 16C32 7.16344 24.8366 0 16 0C7.16344 0 0 7.16344 0 16C0 24.8366 7.16344 32 16 32C17.9926 32 19.9001 31.6358 21.6596 30.9702C21.2365 30.0686 21 29.0619 21 28C21 24.134 24.134 21 28 21C29.0619 21 30.0686 21.2365 30.9702 21.6596Z')",
28533
- module: "path('M16 0C24.8366 0 32 7.16344 32 16C32 17.8588 31.6815 19.6431 31.0986 21.3027C30.238 21.0945 29.2125 21 28 21C22.75 21 21 22.75 21 28C21 29.2125 21.0945 30.238 21.3027 31.0986C19.6431 31.6815 17.8588 32 16 32C7.16344 32 0 24.8366 0 16C0 7.16344 7.16344 0 16 0Z')"
28535
+ module: "path('M 31.981 16.789 C31.372 16.507 30.712 16.302 30 16.2 C28.8 16 27.4 16 26 16 C24.6 16 23.2 16 22 16.2 C20.6 16.4 19.4 17 18.4 17.8 C17 19.2 16.2 21 16 23.2 C16 24.6 16 27.4 16 28.8 C16.107 29.973 16.384 31.033 16.832 31.978 A 16 16 0 1 1 31.981 16.789 Z')"
28534
28536
  },
28535
28537
  sm: {
28536
28538
  default: "path('M23.8119 14.128C23.9355 13.4373 24 12.7262 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24C12.7262 24 13.4373 23.9355 14.128 23.8119C13.4145 22.7151 13 21.406 13 20C13 16.134 16.134 13 20 13C21.406 13 22.7151 13.4145 23.8119 14.128Z')",
@@ -28555,9 +28557,10 @@ const sX = {
28555
28557
  const t = {
28556
28558
  "2xl": "sm",
28557
28559
  xl: "xs",
28558
- lg: "2xs",
28559
- sm: "2xs",
28560
- xs: "3xs"
28560
+ lg: "xs",
28561
+ md: "2xs",
28562
+ sm: "3xs",
28563
+ xs: "4xs"
28561
28564
  };
28562
28565
  return e && t[e] ? t[e] ?? t.sm : t.sm;
28563
28566
  }, cp = "md", SE2 = {
package/dist/ai.js CHANGED
@@ -1,6 +1,6 @@
1
- import { C as e, D as r, c as t, F as i, a as o, f as n, g as F, d as C, e as l, I as A, P as d, b as u, u as h } from "./F0CanvasPanel-Eg6MeaXo.js";
1
+ import { C as e, D as r, c as t, F as i, a as o, f as n, g as F, d as C, e as l, I as A, P as d, b as u, u as h } from "./F0CanvasPanel-C9dAQPQK.js";
2
2
  import { defaultTranslations as c } from "./i18n-provider-defaults.js";
3
- import { A as P, C as T, t as p, s as v, v as g, y as f, l as y, i as S, q as x, z as b, B as k, p as H, r as O, j as V, e as w, g as B, k as M, F as z, T as D, w as L, h as j, a as q, n as E, m as G, o as R, b as J, f as K, x as N, c as Q, d as U, u as W } from "./F0AiProcessingOverlay-BQNKYl8G.js";
3
+ import { A as P, C as T, t as p, s as v, v as g, y as f, l as y, i as S, q as x, z as b, B as k, p as H, r as O, j as V, e as w, g as B, k as M, F as z, T as D, w as L, h as j, a as q, n as E, m as G, o as R, b as J, f as K, x as N, c as Q, d as U, u as W } from "./F0AiProcessingOverlay-BLmKNois.js";
4
4
  export {
5
5
  P as AiChatTranslationsProvider,
6
6
  e as ChatSpinner,
@@ -0,0 +1,256 @@
1
+ /**
2
+ * Component Status API
3
+ * ====================
4
+ *
5
+ * A small, dependency-free query layer over the computed component-status
6
+ * dataset. Given a component name it returns the component's current maturity
7
+ * status plus a checklist of what is still missing for it to be considered
8
+ * "stable" (the Definition of Done).
9
+ *
10
+ * This is the single source of truth for the *policy* — what "stable" means.
11
+ * The scan (`scripts/component-status-build.mjs`) only extracts raw facts
12
+ * (tests / stories / docs / tags); the decision of whether those facts clear
13
+ * the bar lives here so it can be reused and tested.
14
+ *
15
+ * Shipped as the `@factorialco/f0-react/dist/component-status` entry point:
16
+ *
17
+ * import { getComponentStatus } from "@factorialco/f0-react/dist/component-status"
18
+ * getComponentStatus("Button") // status + stable checklist
19
+ * getComponentStatus("F0Alert")?.missing // what's missing to be stable
20
+ *
21
+ * The dataset is computed from the `src/` tree at build/dev time and injected
22
+ * via the `virtual:f0-component-status-data` module (see
23
+ * `scripts/component-status-build.mjs`). There is no committed snapshot — every
24
+ * build and dev-server start recomputes it from source, so it never goes stale.
25
+ *
26
+ * In this repo's Storybook it is also exposed on `window.f0ComponentStatus`
27
+ * (see `.storybook/preview.tsx`).
28
+ */
29
+ export declare type ApiStatus = "stable" | "experimental" | "deprecated" | "internal" | "unknown";
30
+
31
+ /** A raw entry as emitted by the generator. */
32
+ export declare interface ComponentEntry {
33
+ name: string;
34
+ zone: string;
35
+ apiStatus: ApiStatus;
36
+ tags: string[];
37
+ hasStories: boolean;
38
+ hasUnitTests: boolean;
39
+ hasMdxDocs: boolean;
40
+ docQuality: DocQuality;
41
+ storyFile: string;
42
+ }
43
+
44
+ export declare interface ComponentStatus extends ComponentEntry {
45
+ /** The full Definition-of-Done checklist with pass/fail per item. */
46
+ requirements: RequirementResult[];
47
+ /** Unmet requirement labels — the "what's missing" answer. */
48
+ missing: string[];
49
+ /** True when every requirement in the checklist is met. */
50
+ meetsBar: boolean;
51
+ /** What the component currently *claims* to be. */
52
+ taggedStable: boolean;
53
+ /** Eligible to be stable (alias of meetsBar). */
54
+ stableReady: boolean;
55
+ /**
56
+ * Mismatch between the tag and the bar:
57
+ * - "tagged-but-below-bar": marked stable but does not meet the DoD
58
+ * - "meets-bar-not-tagged": meets the DoD but not yet tagged stable
59
+ * - null: tag and bar agree
60
+ */
61
+ discrepancy: "tagged-but-below-bar" | "meets-bar-not-tagged" | null;
62
+ }
63
+
64
+ /** The full generated dataset. */
65
+ export declare interface ComponentStatusData {
66
+ generatedAt: string;
67
+ stats: ComponentStatusStats;
68
+ components: ComponentEntry[];
69
+ }
70
+
71
+ /** The full generated dataset (stats + every tracked component). */
72
+ export declare const componentStatusData: ComponentStatusData;
73
+
74
+ export declare interface ComponentStatusStats {
75
+ total: number;
76
+ byStatus: Record<ApiStatus, number>;
77
+ byZone: Record<string, number>;
78
+ byDocQuality: Record<DocQuality, number>;
79
+ withUnitTests: number;
80
+ withMdxDocs: number;
81
+ }
82
+
83
+ export declare type DocQuality = "none" | "stub" | "acceptable" | "good" | "gold";
84
+
85
+ /**
86
+ * Evaluate a single raw component entry against the stable checklist. Pure —
87
+ * exported so it can be unit-tested and reused over arbitrary datasets.
88
+ */
89
+ export declare function evaluateComponentStatus(entry: ComponentEntry): ComponentStatus;
90
+
91
+ /**
92
+ * Evaluate every tracked component.
93
+ *
94
+ * @param components dataset to evaluate; defaults to the build-time data.
95
+ */
96
+ export declare function getAllComponentStatuses(components?: ComponentEntry[]): ComponentStatus[];
97
+
98
+ /**
99
+ * Look up a component's status and stable checklist by name.
100
+ *
101
+ * Name matching is forgiving: case-insensitive, an optional `F0` prefix, and
102
+ * punctuation are all ignored, and grouped names ("Avatars/Avatar") match on
103
+ * their leaf ("Avatar"). When several components share a name across zones,
104
+ * the one in the "components" zone wins; otherwise the first match is returned.
105
+ *
106
+ * @param components dataset to search; defaults to the build-time data. Pass an
107
+ * explicit array to query a custom set (used by tests).
108
+ * @returns the component status, or `null` if no component matches.
109
+ */
110
+ export declare function getComponentStatus(name: string, components?: ComponentEntry[]): ComponentStatus | null;
111
+
112
+ /** ISO timestamp of when the underlying status data was generated. */
113
+ export declare function getStatusGeneratedAt(): string;
114
+
115
+ /**
116
+ * Minimum doc-quality tier a component must reach to count as documented for
117
+ * the purposes of "stable". "acceptable" = required sections + props table.
118
+ */
119
+ export declare const MIN_DOC_QUALITY: DocQuality;
120
+
121
+ /** One line item in the stable checklist. */
122
+ export declare interface RequirementResult {
123
+ /** Stable machine key, e.g. "unitTests". */
124
+ key: string;
125
+ /** Human-readable requirement, e.g. "Has unit tests". */
126
+ label: string;
127
+ met: boolean;
128
+ /** What is missing / how to satisfy it when unmet. */
129
+ detail: string;
130
+ }
131
+
132
+ /**
133
+ * The Definition of Done for a stable component. Each requirement inspects a
134
+ * raw entry and reports whether it is met.
135
+ *
136
+ * Scope note: automated a11y verification is intentionally NOT part of this
137
+ * checklist yet — it is not tracked by the generator. Accessibility remains a
138
+ * manual promotion gate (see docs/components-maturity.mdx). Add a requirement
139
+ * here once an a11y signal is emitted into the status data.
140
+ */
141
+ export declare const STABLE_REQUIREMENTS: ReadonlyArray<{
142
+ key: string;
143
+ label: string;
144
+ detail: string;
145
+ isMet: (c: ComponentEntry) => boolean;
146
+ }>;
147
+
148
+ export { }
149
+
150
+
151
+ declare global {
152
+ interface Window {
153
+ XRay: {
154
+ enable: (filter?: ComponentTypes[]) => void;
155
+ disable: () => void;
156
+ };
157
+ }
158
+ }
159
+
160
+
161
+ declare namespace _DaytimePage {
162
+ var displayName: string;
163
+ }
164
+
165
+
166
+ declare namespace _Page {
167
+ var displayName: string;
168
+ }
169
+
170
+ declare module "gridstack" {
171
+ interface GridStackWidget {
172
+ id?: string;
173
+ allowedSizes?: Array<{
174
+ w: number;
175
+ h: number;
176
+ }>;
177
+ meta?: Record<string, unknown>;
178
+ }
179
+ interface GridStackNode {
180
+ allowedSizes?: Array<{
181
+ w: number;
182
+ h: number;
183
+ }>;
184
+ }
185
+ }
186
+
187
+
188
+ declare namespace Calendar {
189
+ var displayName: string;
190
+ }
191
+
192
+
193
+ declare module "@tiptap/core" {
194
+ interface Commands<ReturnType> {
195
+ aiBlock: {
196
+ insertAIBlock: (data: AIBlockData, config: AIBlockConfig) => ReturnType;
197
+ executeAIAction: (actionType: string, config: AIBlockConfig) => ReturnType;
198
+ };
199
+ }
200
+ }
201
+
202
+
203
+ declare module "@tiptap/core" {
204
+ interface Commands<ReturnType> {
205
+ enhanceHighlight: {
206
+ setEnhanceHighlight: (from: number, to: number, options?: {
207
+ placeholder?: string;
208
+ }) => ReturnType;
209
+ clearEnhanceHighlight: () => ReturnType;
210
+ };
211
+ }
212
+ }
213
+
214
+
215
+ declare module "@tiptap/core" {
216
+ interface Commands<ReturnType> {
217
+ moodTracker: {
218
+ insertMoodTracker: (data: MoodTrackerData) => ReturnType;
219
+ };
220
+ }
221
+ }
222
+
223
+
224
+ declare module "@tiptap/core" {
225
+ interface Commands<ReturnType> {
226
+ transcript: {
227
+ insertTranscript: (data: TranscriptData) => ReturnType;
228
+ };
229
+ }
230
+ }
231
+
232
+
233
+ declare module "@tiptap/core" {
234
+ interface Commands<ReturnType> {
235
+ videoEmbed: {
236
+ setVideoEmbed: (options: {
237
+ src: string;
238
+ }) => ReturnType;
239
+ };
240
+ }
241
+ }
242
+
243
+
244
+ declare namespace F0GraphNodeWrapperInner {
245
+ var displayName: string;
246
+ }
247
+
248
+
249
+ declare namespace F0GraphExpanderWrapperInner {
250
+ var displayName: string;
251
+ }
252
+
253
+
254
+ declare namespace F0GraphCollapserWrapperInner {
255
+ var displayName: string;
256
+ }