@factorialco/f0-react 9.1.0 → 9.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/dist/{ChatPdfThumbnail-Ch2Pi_N2.js → ChatPdfThumbnail-CAOAs-qh.js} +1 -1
  2. package/dist/{ChatPostComposerDialog-CW24c9tS.js → ChatPostComposerDialog-BuzKBfwA.js} +3 -3
  3. package/dist/{CoachmarkProvider-BXGXfIw-.js → CoachmarkProvider-CQJNVR53.js} +9 -9
  4. package/dist/{DocumentToolbar-Bp9iCtUO.js → DocumentToolbar-BIIQvnf3.js} +2 -2
  5. package/dist/{DocxViewer-CKrXuvnB.js → DocxViewer-DVeatd9-.js} +2 -2
  6. package/dist/{F0AiProcessingOverlay-SFLE4xoa.js → F0AiProcessingOverlay-CHEMsQma.js} +1754 -1458
  7. package/dist/{F0CanvasPanel-D25Wuumh.js → F0CanvasPanel-jtcjSLLr.js} +21117 -21073
  8. package/dist/{F0DocumentViewer-BXlup6dL.js → F0DocumentViewer-Bg7uiU9c.js} +3 -3
  9. package/dist/{F0Map-B9_jeX3R.js → F0Map-DLJ6sRN_.js} +4 -4
  10. package/dist/{F0VideoPlayer-VJSe0ziC.js → F0VideoPlayer-B8kLFnbf.js} +2 -2
  11. package/dist/{SheetViewer-BO9MbbYR.js → SheetViewer-B8BmAg0d.js} +3 -3
  12. package/dist/{TextViewer-B7B947JZ.js → TextViewer-DDtUtmWj.js} +2 -2
  13. package/dist/ai.d.ts +53 -22
  14. package/dist/ai.js +2 -2
  15. package/dist/component-status.d.ts +38 -27
  16. package/dist/component-status.js +128 -119
  17. package/dist/{experimental-Do9KcVJp.js → experimental-4hJ9yljk.js} +9787 -9322
  18. package/dist/experimental.d.ts +102 -55
  19. package/dist/experimental.js +4 -4
  20. package/dist/f0.d.ts +89 -32
  21. package/dist/f0.js +14440 -14239
  22. package/dist/i18n-provider-defaults.d.ts +25 -20
  23. package/dist/i18n-provider-defaults.js +9 -2
  24. package/dist/{index-C66JSsii.js → index-B5dJ814t.js} +1 -1
  25. package/dist/{index-W5BBvrFa.js → index-C8h4kG2n.js} +2 -2
  26. package/dist/index-CW8sa9GP.js +8 -0
  27. package/dist/{index-C95Ox1WO.js → index-D0AH60ev.js} +3 -3
  28. package/dist/index-k8Xsj0d1.js +4 -0
  29. package/dist/{pdfWorker-Bi4FxYtY.js → pdfWorker-BRAGbLi_.js} +2 -2
  30. package/dist/styles.css +1 -1
  31. package/icons/app/CalendarActive.d.ts +4 -0
  32. package/icons/app/CalendarActive.d.ts.map +1 -0
  33. package/icons/app/CalendarActive.js +5 -0
  34. package/icons/app/Directory.d.ts +4 -0
  35. package/icons/app/Directory.d.ts.map +1 -0
  36. package/icons/app/Directory.js +5 -0
  37. package/icons/app/DirectoryFilled.d.ts +4 -0
  38. package/icons/app/DirectoryFilled.d.ts.map +1 -0
  39. package/icons/app/DirectoryFilled.js +5 -0
  40. package/icons/app/FoldersFilled.d.ts +4 -0
  41. package/icons/app/FoldersFilled.d.ts.map +1 -0
  42. package/icons/app/FoldersFilled.js +5 -0
  43. package/icons/app/HeadsetMicrophone.d.ts +4 -0
  44. package/icons/app/HeadsetMicrophone.d.ts.map +1 -0
  45. package/icons/app/HeadsetMicrophone.js +5 -0
  46. package/icons/app/HomeFilled.d.ts +4 -0
  47. package/icons/app/HomeFilled.d.ts.map +1 -0
  48. package/icons/app/HomeFilled.js +5 -0
  49. package/icons/app/HubFilled.d.ts +4 -0
  50. package/icons/app/HubFilled.d.ts.map +1 -0
  51. package/icons/app/HubFilled.js +5 -0
  52. package/icons/app/InboxFilled.d.ts +4 -0
  53. package/icons/app/InboxFilled.d.ts.map +1 -0
  54. package/icons/app/InboxFilled.js +5 -0
  55. package/icons/app/LifeBuoy.d.ts +4 -0
  56. package/icons/app/LifeBuoy.d.ts.map +1 -0
  57. package/icons/app/LifeBuoy.js +5 -0
  58. package/icons/app/Messages.d.ts.map +1 -1
  59. package/icons/app/Messages.js +2 -2
  60. package/icons/app/MessagesFilled.d.ts +4 -0
  61. package/icons/app/MessagesFilled.d.ts.map +1 -0
  62. package/icons/app/MessagesFilled.js +5 -0
  63. package/icons/app/index.d.ts +10 -0
  64. package/icons/app/index.d.ts.map +1 -1
  65. package/icons/app/index.js +10 -0
  66. package/package.json +14 -14
  67. package/dist/index-Bt9_3eC1.js +0 -4
  68. package/dist/index-a7A0EHsJ.js +0 -8
@@ -1,7 +1,7 @@
1
1
  import { jsx as r, jsxs as P } from "react/jsx-runtime";
2
2
  import { lazy as X, forwardRef as ce, Suspense as Ce, useState as U, useRef as A, useCallback as w, useMemo as ie, useEffect as V } from "react";
3
- import { S as E, z as _e, u as Y, A as Te, w as Le, j as Fe, k as De, l as Ve, B as Ee, m as He, E as Ue, G as We, H as Oe, J as je } from "./F0CanvasPanel-D25Wuumh.js";
4
- import { e as $e, D as ze, P as Be } from "./pdfWorker-Bi4FxYtY.js";
3
+ import { S as E, z as _e, u as Y, A as Te, w as Le, j as Fe, k as De, l as Ve, B as Ee, m as He, E as Ue, G as We, H as Oe, J as je } from "./F0CanvasPanel-jtcjSLLr.js";
4
+ import { e as $e, D as ze, P as Be } from "./pdfWorker-BRAGbLi_.js";
5
5
  import { d as G } from "./tooltip-CrXp1Uaz.js";
6
6
  import { F as Me } from "./Printer-BD-FEi_2.js";
7
7
  import './F0DocumentViewer.css';const ut = [
@@ -272,7 +272,7 @@ import './F0DocumentViewer.css';const ut = [
272
272
  }), i;
273
273
  };
274
274
  $e();
275
- const tt = X(() => import("./SheetViewer-BO9MbbYR.js")), ot = X(() => import("./DocxViewer-CKrXuvnB.js")), nt = X(() => import("./TextViewer-B7B947JZ.js")), se = 48, rt = 150, ue = ce((e, t) => {
275
+ const tt = X(() => import("./SheetViewer-B8BmAg0d.js")), ot = X(() => import("./DocxViewer-DVeatd9-.js")), nt = X(() => import("./TextViewer-DDtUtmWj.js")), se = 48, rt = 150, ue = ce((e, t) => {
276
276
  const { kind: o = "pdf", mimeType: i, toolbar: l = "top", ...s } = e;
277
277
  if (o === "pdf")
278
278
  return /* @__PURE__ */ r(me, { ref: t, toolbar: l, ...s });
@@ -1,7 +1,7 @@
1
1
  import { jsx as r, jsxs as B, Fragment as De } from "react/jsx-runtime";
2
2
  import { forwardRef as ie, useMemo as ze, useEffect as j, useState as E, useRef as N, useLayoutEffect as Hn, useContext as Xn, createContext as Yn, useCallback as O, useId as Un, useImperativeHandle as Gn } from "react";
3
- import { c as Zn, d as Kn, e as qn } from "./CoachmarkProvider-BXGXfIw-.js";
4
- import { y as we, a5 as Vn, v as en, a6 as nt, a7 as lt, a8 as Oe, a9 as oe, aa as tn, u as se, z as Fe, ab as Jn, ac as Qn, ad as ea, j as ta, ae as na, af as nn, ag as aa, ah as oa, ai as Rt, aj as an, ak as la } from "./F0CanvasPanel-D25Wuumh.js";
3
+ import { c as Zn, d as Kn, e as qn } from "./CoachmarkProvider-CQJNVR53.js";
4
+ import { y as we, a5 as Vn, v as en, a6 as nt, a7 as lt, a8 as Oe, a9 as oe, aa as tn, u as se, z as Fe, ab as Jn, ac as Qn, ad as ea, j as ta, ae as na, af as nn, ag as aa, ah as oa, ai as Rt, aj as an, ak as la } from "./F0CanvasPanel-jtcjSLLr.js";
5
5
  import { d as D, f as ra } from "./tooltip-CrXp1Uaz.js";
6
6
  import { createPortal as ia } from "react-dom";
7
7
  const sa = (e, t) => ({
@@ -1527,11 +1527,11 @@ const Lo = {
1527
1527
  }, []);
1528
1528
  return j(() => () => a.current?.disconnect(), []), { containerRef: l, isDark: e };
1529
1529
  }, Ya = {
1530
- maplibre: () => import("./index-W5BBvrFa.js").then((e) => e.createMaplibreAdapter),
1530
+ maplibre: () => import("./index-C8h4kG2n.js").then((e) => e.createMaplibreAdapter),
1531
1531
  // Google needs its script in the page before a map can be constructed, so the
1532
1532
  // loader resolves only once the API is up - which is what keeps the factory
1533
1533
  // itself synchronous for every engine.
1534
- google: (e) => import("./index-C66JSsii.js").then((t) => t.loadGoogleAdapter(e))
1534
+ google: (e) => import("./index-B5dJ814t.js").then((t) => t.loadGoogleAdapter(e))
1535
1535
  }, at = /* @__PURE__ */ new Map(), Ua = (e, t) => {
1536
1536
  const a = at.get(e);
1537
1537
  if (a)
@@ -1,9 +1,9 @@
1
- import { u as W, K as je, L as Xe, z as $, M as Ge, N as Ze, O as Ye, Q as qe, R as Qe, U as Je, V as et, W as tt, X as nt, Y as rt, Z as at, _ as ot, $ as st, a0 as ye, a1 as it, a2 as Ce, m as ct, a3 as lt, a4 as dt, v as ut, E as ft, G as mt } from "./F0CanvasPanel-D25Wuumh.js";
1
+ import { u as W, K as je, L as Xe, z as $, M as Ge, N as Ze, O as Ye, Q as qe, R as Qe, U as Je, V as et, W as tt, X as nt, Y as rt, Z as at, _ as ot, $ as st, a0 as ye, a1 as it, a2 as Ce, m as ct, a3 as lt, a4 as dt, v as ut, E as ft, G as mt } from "./F0CanvasPanel-jtcjSLLr.js";
2
2
  import { jsxs as R, jsx as c } from "react/jsx-runtime";
3
3
  import { forwardRef as re, useId as pt, useState as x, useRef as F, useEffect as _, useMemo as Q, useCallback as M } from "react";
4
4
  import { d as H, f as de } from "./tooltip-CrXp1Uaz.js";
5
5
  import { F as Pe, a as ht, b as gt } from "./VolumeMuted-UfTwt2zn.js";
6
- import { b as vt } from "./CoachmarkProvider-BXGXfIw-.js";
6
+ import { b as vt } from "./CoachmarkProvider-CQJNVR53.js";
7
7
  function Re(e) {
8
8
  return Array.isArray(e) && e.every(
9
9
  (t) => typeof t == "object" && t !== null && "locale" in t && "value" in t
@@ -1,9 +1,9 @@
1
1
  import { jsx as r, jsxs as n, Fragment as v } from "react/jsx-runtime";
2
2
  import { useState as m, useEffect as E } from "react";
3
- import { u as F, T as S, h as T, S as V, i as A } from "./F0CanvasPanel-D25Wuumh.js";
4
- import { d as D } from "./F0DocumentViewer-BXlup6dL.js";
3
+ import { u as F, T as S, h as T, S as V, i as A } from "./F0CanvasPanel-jtcjSLLr.js";
4
+ import { d as D } from "./F0DocumentViewer-Bg7uiU9c.js";
5
5
  import { f as L, c as R } from "./sheetPreview-BiccmyTD.js";
6
- import { u as z, D as U } from "./DocumentToolbar-Bp9iCtUO.js";
6
+ import { u as z, D as U } from "./DocumentToolbar-BIIQvnf3.js";
7
7
  const w = 1e3, _ = 100, $ = ({
8
8
  url: a,
9
9
  filename: f,
@@ -1,7 +1,7 @@
1
1
  import { jsxs as p, jsx as e } from "react/jsx-runtime";
2
2
  import { useState as u, useEffect as x } from "react";
3
- import { u as w, S as y, p as g } from "./F0CanvasPanel-D25Wuumh.js";
4
- import { u as k, D as v } from "./DocumentToolbar-Bp9iCtUO.js";
3
+ import { u as w, S as y, p as g } from "./F0CanvasPanel-jtcjSLLr.js";
4
+ import { u as k, D as v } from "./DocumentToolbar-BIIQvnf3.js";
5
5
  const q = 2 * 1024 * 1024, N = [
6
6
  "[&_h1]:mb-3 [&_h1]:mt-6 [&_h1]:text-2xl [&_h1]:font-semibold",
7
7
  "[&_h2]:mb-2 [&_h2]:mt-5 [&_h2]:text-xl [&_h2]:font-semibold",
package/dist/ai.d.ts CHANGED
@@ -1192,7 +1192,7 @@ declare type AvatarFileSize = (typeof avatarFileSizes)[number];
1192
1192
 
1193
1193
  declare const avatarFileSizes: readonly ["xs", "sm", "md", "lg"];
1194
1194
 
1195
- declare const avatarIconSizes: readonly ["sm", "md", "lg"];
1195
+ declare const avatarIconSizes: readonly ["xs", "sm", "md", "lg"];
1196
1196
 
1197
1197
  declare type AvatarListSize = (typeof avatarListSizes)[number];
1198
1198
 
@@ -3438,6 +3438,11 @@ export declare const defaultTranslations: {
3438
3438
  readonly fromPrevious: "from previous";
3439
3439
  readonly fromStage: "from {{stage}}";
3440
3440
  };
3441
+ readonly aria: {
3442
+ readonly moreValues: "{{count}} more values";
3443
+ readonly moreSeries: "{{count}} more series";
3444
+ readonly gaugeValue: "{{value}}, range {{min}} to {{max}}";
3445
+ };
3441
3446
  };
3442
3447
  readonly progressSeries: {
3443
3448
  readonly noData: "No data";
@@ -3963,7 +3968,7 @@ declare type DetailsItemContent = (ComponentProps<typeof DataList.Item> & {
3963
3968
  */
3964
3969
  declare type DistributiveOmit<T, K extends PropertyKey> = T extends unknown ? Omit<T, K> : never;
3965
3970
 
3966
- declare type DropdownItem = DropdownItemObject | DropdownItemSeparator | DropdownItemLabel | DropdownItemSubmenu | DropdownItemSwitch;
3971
+ declare type DropdownItem = DropdownItemObject | DropdownItemSeparator | DropdownItemLabel | DropdownItemSubmenu | DropdownItemSwitch | DropdownItemPanel;
3967
3972
 
3968
3973
  declare type DropdownItemLabel = {
3969
3974
  type: "label";
@@ -3981,6 +3986,32 @@ declare type DropdownItemObject = Pick<NavigationItem, "label" | "href"> & Omit<
3981
3986
  * item's `pointer-events: none`.
3982
3987
  */
3983
3988
  disabledTooltip?: string;
3989
+ /**
3990
+ * The one that is already true: the workspace you are in, the sort you are
3991
+ * on. It draws a check at the end of the row. The menu does not enforce
3992
+ * that only one item has it.
3993
+ */
3994
+ checked?: boolean;
3995
+ /** Where the link opens. `"_blank"` gets the row its external arrow. */
3996
+ target?: AnchorHTMLAttributes<HTMLAnchorElement>["target"];
3997
+ /**
3998
+ * Draws the trailing "opens elsewhere" arrow, for a row that opens a window
3999
+ * from `onClick`, or links out without `target="_blank"` (which marks
4000
+ * itself).
4001
+ */
4002
+ external?: boolean;
4003
+ };
4004
+
4005
+ /**
4006
+ * A block the menu shows rather than a row it offers, such as an account card
4007
+ * under the menu's caption. It takes no focus and closes nothing, so it is not
4008
+ * a `DropdownMenuItem`: the arrow keys pass over it. Keep its content static:
4009
+ * the menu keeps keyboard focus on its rows, so a control inside a panel cannot
4010
+ * be reached with the keyboard.
4011
+ */
4012
+ declare type DropdownItemPanel = {
4013
+ type: "panel";
4014
+ content: default_2.ReactNode;
3984
4015
  };
3985
4016
 
3986
4017
  declare type DropdownItemSeparator = {
@@ -6825,10 +6856,9 @@ declare module "@tiptap/core" {
6825
6856
 
6826
6857
  declare module "@tiptap/core" {
6827
6858
  interface Commands<ReturnType> {
6828
- indent: {
6829
- setIndent: (level: number) => ReturnType;
6830
- unsetIndent: () => ReturnType;
6831
- outdent: () => ReturnType;
6859
+ aiBlock: {
6860
+ insertAIBlock: (data: AIBlockData, config: AIBlockConfig) => ReturnType;
6861
+ executeAIAction: (actionType: string, config: AIBlockConfig) => ReturnType;
6832
6862
  };
6833
6863
  }
6834
6864
  }
@@ -6836,8 +6866,11 @@ declare module "@tiptap/core" {
6836
6866
 
6837
6867
  declare module "@tiptap/core" {
6838
6868
  interface Commands<ReturnType> {
6839
- moodTracker: {
6840
- insertMoodTracker: (data: MoodTrackerData) => ReturnType;
6869
+ enhanceHighlight: {
6870
+ setEnhanceHighlight: (from: number, to: number, options?: {
6871
+ placeholder?: string;
6872
+ }) => ReturnType;
6873
+ clearEnhanceHighlight: () => ReturnType;
6841
6874
  };
6842
6875
  }
6843
6876
  }
@@ -6845,9 +6878,10 @@ declare module "@tiptap/core" {
6845
6878
 
6846
6879
  declare module "@tiptap/core" {
6847
6880
  interface Commands<ReturnType> {
6848
- aiBlock: {
6849
- insertAIBlock: (data: AIBlockData, config: AIBlockConfig) => ReturnType;
6850
- executeAIAction: (actionType: string, config: AIBlockConfig) => ReturnType;
6881
+ indent: {
6882
+ setIndent: (level: number) => ReturnType;
6883
+ unsetIndent: () => ReturnType;
6884
+ outdent: () => ReturnType;
6851
6885
  };
6852
6886
  }
6853
6887
  }
@@ -6855,10 +6889,8 @@ declare module "@tiptap/core" {
6855
6889
 
6856
6890
  declare module "@tiptap/core" {
6857
6891
  interface Commands<ReturnType> {
6858
- videoEmbed: {
6859
- setVideoEmbed: (options: {
6860
- src: string;
6861
- }) => ReturnType;
6892
+ moodTracker: {
6893
+ insertMoodTracker: (data: MoodTrackerData) => ReturnType;
6862
6894
  };
6863
6895
  }
6864
6896
  }
@@ -6866,8 +6898,10 @@ declare module "@tiptap/core" {
6866
6898
 
6867
6899
  declare module "@tiptap/core" {
6868
6900
  interface Commands<ReturnType> {
6869
- transcript: {
6870
- insertTranscript: (data: TranscriptData) => ReturnType;
6901
+ videoEmbed: {
6902
+ setVideoEmbed: (options: {
6903
+ src: string;
6904
+ }) => ReturnType;
6871
6905
  };
6872
6906
  }
6873
6907
  }
@@ -6875,11 +6909,8 @@ declare module "@tiptap/core" {
6875
6909
 
6876
6910
  declare module "@tiptap/core" {
6877
6911
  interface Commands<ReturnType> {
6878
- enhanceHighlight: {
6879
- setEnhanceHighlight: (from: number, to: number, options?: {
6880
- placeholder?: string;
6881
- }) => ReturnType;
6882
- clearEnhanceHighlight: () => ReturnType;
6912
+ transcript: {
6913
+ insertTranscript: (data: TranscriptData) => ReturnType;
6883
6914
  };
6884
6915
  }
6885
6916
  }
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 m } from "./F0CanvasPanel-D25Wuumh.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 m } from "./F0CanvasPanel-jtcjSLLr.js";
2
2
  import { defaultTranslations as c } from "./i18n-provider-defaults.js";
3
- import { A as g, C as p, t as v, s as I, v as T, y as S, B as f, l as y, i as x, q as b, E as k, G as B, p as H, r as L, j as M, e as O, g as V, k as w, F as D, T as z, w as E, h as G, a as j, n as q, z as R, m as U, o as J, D as K, b as N, f as Q, x as W, c as X, d as Y, u as Z } from "./F0AiProcessingOverlay-SFLE4xoa.js";
3
+ import { A as g, C as p, t as v, s as I, v as T, y as S, B as f, l as y, i as x, q as b, E as k, G as B, p as H, r as L, j as M, e as O, g as V, k as w, F as D, T as z, w as E, h as G, a as j, n as q, z as R, m as U, o as J, D as K, b as N, f as Q, x as W, c as X, d as Y, u as Z } from "./F0AiProcessingOverlay-CHEMsQma.js";
4
4
  export {
5
5
  g as AiChatTranslationsProvider,
6
6
  e as ChatSpinner,
@@ -45,7 +45,8 @@ export declare type ApiStatus = "stable" | "experimental" | "deprecated" | "inte
45
45
  /** A raw entry as emitted by the generator. */
46
46
  export declare interface ComponentEntry {
47
47
  name: string;
48
- zone: string;
48
+ /** The tier folder the story lives in (`src/<tier>/…`). */
49
+ tier: Tier;
49
50
  apiStatus: ApiStatus;
50
51
  tags: string[];
51
52
  hasStories: boolean;
@@ -89,7 +90,7 @@ export declare function ComponentMaturityTag({ componentName, components, classN
89
90
  export declare function ComponentStability({ componentName, components, className, }: ComponentStabilityProps): default_2.JSX.Element | null;
90
91
 
91
92
  export declare interface ComponentStabilityProps {
92
- /** Component name to look up (e.g. "Card", "F0Alert", "Components/Card"). */
93
+ /** Component name to look up (e.g. "Card", "F0Alert", "Elements/Card"). */
93
94
  componentName: string;
94
95
  /** Optional dataset override; defaults to the build-time data. */
95
96
  components?: ComponentEntry[];
@@ -144,7 +145,7 @@ export declare const componentStatusData: ComponentStatusData;
144
145
  export declare interface ComponentStatusStats {
145
146
  total: number;
146
147
  byStatus: Record<ApiStatus, number>;
147
- byZone: Record<string, number>;
148
+ byTier: Partial<Record<Tier, number>>;
148
149
  byDocQuality: Record<DocQuality, number>;
149
150
  withUnitTests: number;
150
151
  withMdxDocs: number;
@@ -191,8 +192,9 @@ export declare function getAllComponentStatuses(components?: ComponentEntry[]):
191
192
  *
192
193
  * Name matching is forgiving: case-insensitive, an optional `F0` prefix, and
193
194
  * punctuation are all ignored, and grouped names ("Avatars/Avatar") match on
194
- * their leaf ("Avatar"). When several components share a name across zones,
195
- * the one in the "components" zone wins; otherwise the first match is returned.
195
+ * their leaf ("Avatar"). When several components share a name across tiers,
196
+ * the one in the lowest tier (see TIERS) wins; otherwise the first match is
197
+ * returned.
196
198
  *
197
199
  * @param components dataset to search; defaults to the build-time data. Pass an
198
200
  * explicit array to query a custom set (used by tests).
@@ -232,8 +234,8 @@ export declare interface RequirementResult {
232
234
  *
233
235
  * Scope note: some DoD items are not statically verifiable and are NOT gated
234
236
  * here — the axe a11y test passing, adoption by ≥3 product teams, no breaking
235
- * changes for 60 days, and Foundations approval. Those remain manual promotion
236
- * gates (see Lifecycle/Definition of Done).
237
+ * changes for 60 days, and the tier reviewers' approval. Those remain manual
238
+ * promotion gates (see Lifecycle/Definition of Done).
237
239
  */
238
240
  export declare const STABLE_REQUIREMENTS: readonly {
239
241
  key: string;
@@ -249,6 +251,15 @@ export declare const STABLE_REQUIREMENTS: readonly {
249
251
  /** Human-readable badge label per maturity level. */
250
252
  export declare const STATUS_LABELS: Record<ApiStatus, string>;
251
253
 
254
+ export declare type Tier = (typeof TIERS)[number];
255
+
256
+ /**
257
+ * The tiers, in import order: a tier may import only from the tiers before it.
258
+ * A component's tier is the first folder under `src/`. Must match TIERS in
259
+ * scripts/component-status-build.mjs.
260
+ */
261
+ export declare const TIERS: readonly ["elements", "blocks", "addons", "domains", "facade"];
262
+
252
263
  export { }
253
264
 
254
265
 
@@ -306,10 +317,9 @@ declare module "@tiptap/core" {
306
317
 
307
318
  declare module "@tiptap/core" {
308
319
  interface Commands<ReturnType> {
309
- indent: {
310
- setIndent: (level: number) => ReturnType;
311
- unsetIndent: () => ReturnType;
312
- outdent: () => ReturnType;
320
+ aiBlock: {
321
+ insertAIBlock: (data: AIBlockData, config: AIBlockConfig) => ReturnType;
322
+ executeAIAction: (actionType: string, config: AIBlockConfig) => ReturnType;
313
323
  };
314
324
  }
315
325
  }
@@ -317,8 +327,11 @@ declare module "@tiptap/core" {
317
327
 
318
328
  declare module "@tiptap/core" {
319
329
  interface Commands<ReturnType> {
320
- moodTracker: {
321
- insertMoodTracker: (data: MoodTrackerData) => ReturnType;
330
+ enhanceHighlight: {
331
+ setEnhanceHighlight: (from: number, to: number, options?: {
332
+ placeholder?: string;
333
+ }) => ReturnType;
334
+ clearEnhanceHighlight: () => ReturnType;
322
335
  };
323
336
  }
324
337
  }
@@ -326,9 +339,10 @@ declare module "@tiptap/core" {
326
339
 
327
340
  declare module "@tiptap/core" {
328
341
  interface Commands<ReturnType> {
329
- aiBlock: {
330
- insertAIBlock: (data: AIBlockData, config: AIBlockConfig) => ReturnType;
331
- executeAIAction: (actionType: string, config: AIBlockConfig) => ReturnType;
342
+ indent: {
343
+ setIndent: (level: number) => ReturnType;
344
+ unsetIndent: () => ReturnType;
345
+ outdent: () => ReturnType;
332
346
  };
333
347
  }
334
348
  }
@@ -336,10 +350,8 @@ declare module "@tiptap/core" {
336
350
 
337
351
  declare module "@tiptap/core" {
338
352
  interface Commands<ReturnType> {
339
- videoEmbed: {
340
- setVideoEmbed: (options: {
341
- src: string;
342
- }) => ReturnType;
353
+ moodTracker: {
354
+ insertMoodTracker: (data: MoodTrackerData) => ReturnType;
343
355
  };
344
356
  }
345
357
  }
@@ -347,8 +359,10 @@ declare module "@tiptap/core" {
347
359
 
348
360
  declare module "@tiptap/core" {
349
361
  interface Commands<ReturnType> {
350
- transcript: {
351
- insertTranscript: (data: TranscriptData) => ReturnType;
362
+ videoEmbed: {
363
+ setVideoEmbed: (options: {
364
+ src: string;
365
+ }) => ReturnType;
352
366
  };
353
367
  }
354
368
  }
@@ -356,11 +370,8 @@ declare module "@tiptap/core" {
356
370
 
357
371
  declare module "@tiptap/core" {
358
372
  interface Commands<ReturnType> {
359
- enhanceHighlight: {
360
- setEnhanceHighlight: (from: number, to: number, options?: {
361
- placeholder?: string;
362
- }) => ReturnType;
363
- clearEnhanceHighlight: () => ReturnType;
373
+ transcript: {
374
+ insertTranscript: (data: TranscriptData) => ReturnType;
364
375
  };
365
376
  }
366
377
  }