@factorialco/f0-react 2.56.0 → 2.58.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.
@@ -126163,21 +126163,9 @@ const q33 = z1(
126163
126163
  p3("F0Dialog", V12)
126164
126164
  );
126165
126165
  function fU1(e, t) {
126166
- if (!e || typeof e != "object")
126167
- return;
126168
- const n = t.split(".");
126169
- let r = e;
126170
- for (const o of n)
126171
- if (r && typeof r == "object" && o in r)
126172
- r = r[o];
126173
- else
126174
- return;
126175
- return r;
126176
- }
126177
- function CU1(e, t) {
126178
126166
  var n = typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
126179
126167
  if (n) return (n = n.call(e)).next.bind(n);
126180
- if (Array.isArray(e) || (n = hU1(e)) || t) {
126168
+ if (Array.isArray(e) || (n = CU1(e)) || t) {
126181
126169
  n && (e = n);
126182
126170
  var r = 0;
126183
126171
  return function() {
@@ -126187,7 +126175,7 @@ function CU1(e, t) {
126187
126175
  throw new TypeError(`Invalid attempt to iterate non-iterable instance.
126188
126176
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
126189
126177
  }
126190
- function hU1(e, t) {
126178
+ function CU1(e, t) {
126191
126179
  if (e) {
126192
126180
  if (typeof e == "string") return sj(e, t);
126193
126181
  var n = Object.prototype.toString.call(e).slice(8, -1);
@@ -126218,7 +126206,7 @@ var SE = function() {
126218
126206
  return AE(e) ? Symbol[e] : "@@" + e;
126219
126207
  };
126220
126208
  SE() && !AE("observable") && (Symbol.observable = /* @__PURE__ */ Symbol("observable"));
126221
- var mU1 = TE("iterator"), IL = TE("observable"), F12 = TE("species");
126209
+ var hU1 = TE("iterator"), IL = TE("observable"), F12 = TE("species");
126222
126210
  function nu(e, t) {
126223
126211
  var n = e[t];
126224
126212
  if (n != null) {
@@ -126230,7 +126218,7 @@ function qr(e) {
126230
126218
  var t = e.constructor;
126231
126219
  return t !== void 0 && (t = t[F12], t === null && (t = void 0)), t !== void 0 ? t : Od;
126232
126220
  }
126233
- function pU1(e) {
126221
+ function mU1(e) {
126234
126222
  return e instanceof Od;
126235
126223
  }
126236
126224
  function C0(e) {
@@ -126264,7 +126252,7 @@ function S12(e) {
126264
126252
  function WL(e) {
126265
126253
  e._observer = void 0, e._queue = void 0, e._state = "closed";
126266
126254
  }
126267
- function gU1(e) {
126255
+ function pU1(e) {
126268
126256
  var t = e._queue;
126269
126257
  if (t) {
126270
126258
  e._queue = void 0, e._state = "ready";
@@ -126308,17 +126296,17 @@ function Iv(e, t, n) {
126308
126296
  type: t,
126309
126297
  value: n
126310
126298
  }], Ml(function() {
126311
- return gU1(e);
126299
+ return pU1(e);
126312
126300
  });
126313
126301
  return;
126314
126302
  }
126315
126303
  A12(e, t, n);
126316
126304
  }
126317
126305
  }
126318
- var vU1 = /* @__PURE__ */ (function() {
126306
+ var gU1 = /* @__PURE__ */ (function() {
126319
126307
  function e(n, r) {
126320
126308
  this._cleanup = void 0, this._observer = n, this._queue = void 0, this._state = "initializing";
126321
- var o = new yU1(this);
126309
+ var o = new vU1(this);
126322
126310
  try {
126323
126311
  this._cleanup = r.call(void 0, o);
126324
126312
  } catch (i) {
@@ -126335,7 +126323,7 @@ var vU1 = /* @__PURE__ */ (function() {
126335
126323
  return this._state === "closed";
126336
126324
  }
126337
126325
  }]), e;
126338
- })(), yU1 = /* @__PURE__ */ (function() {
126326
+ })(), vU1 = /* @__PURE__ */ (function() {
126339
126327
  function e(n) {
126340
126328
  this._subscription = n;
126341
126329
  }
@@ -126364,7 +126352,7 @@ var vU1 = /* @__PURE__ */ (function() {
126364
126352
  next: r,
126365
126353
  error: arguments[1],
126366
126354
  complete: arguments[2]
126367
- }), new vU1(r, this._subscriber);
126355
+ }), new gU1(r, this._subscriber);
126368
126356
  }, t.forEach = function(r) {
126369
126357
  var o = this;
126370
126358
  return new Promise(function(i, s) {
@@ -126532,15 +126520,15 @@ var vU1 = /* @__PURE__ */ (function() {
126532
126520
  if (i) {
126533
126521
  var s = i.call(r);
126534
126522
  if (Object(s) !== s) throw new TypeError(s + " is not an object");
126535
- return pU1(s) && s.constructor === o ? s : new o(function(l) {
126523
+ return mU1(s) && s.constructor === o ? s : new o(function(l) {
126536
126524
  return s.subscribe(l);
126537
126525
  });
126538
126526
  }
126539
- if (AE("iterator") && (i = nu(r, mU1), i))
126527
+ if (AE("iterator") && (i = nu(r, hU1), i))
126540
126528
  return new o(function(l) {
126541
126529
  Ml(function() {
126542
126530
  if (!l.closed) {
126543
- for (var c = CU1(i.call(r)), u; !(u = c()).done; ) {
126531
+ for (var c = fU1(i.call(r)), u; !(u = c()).done; ) {
126544
126532
  var d = u.value;
126545
126533
  if (l.next(d), l.closed) return;
126546
126534
  }
@@ -126586,6 +126574,18 @@ SE() && Object.defineProperty(Od, /* @__PURE__ */ Symbol("extensions"), {
126586
126574
  },
126587
126575
  configurable: !0
126588
126576
  });
126577
+ function yU1(e, t) {
126578
+ if (!e || typeof e != "object")
126579
+ return;
126580
+ const n = t.split(".");
126581
+ let r = e;
126582
+ for (const o of n)
126583
+ if (r && typeof r == "object" && o in r)
126584
+ r = r[o];
126585
+ else
126586
+ return;
126587
+ return r;
126588
+ }
126589
126589
  function bU1(e) {
126590
126590
  return new Od((t) => (t.next({
126591
126591
  loading: !0,
@@ -126741,7 +126741,7 @@ function T12(e, {
126741
126741
  ), m2 = O2(() => {
126742
126742
  const Q = S.map((E2) => ({
126743
126743
  ...E2,
126744
- [zL]: g?.field && fU1(E2, g.field) || void 0
126744
+ [zL]: g?.field && yU1(E2, g.field) || void 0
126745
126745
  }));
126746
126746
  if (g && g.field && y && y.groupBy[g.field]) {
126747
126747
  const E2 = LU1(Q, zL), R2 = g.field, H2 = y.groupBy[R2];
@@ -140963,7 +140963,7 @@ export {
140963
140963
  te3 as fy,
140964
140964
  bE as fz,
140965
140965
  Ya as g,
140966
- Gr as g$,
140966
+ Oj as g$,
140967
140967
  zq1 as g0,
140968
140968
  X22 as g1,
140969
140969
  Ll as g2,
@@ -140977,30 +140977,30 @@ export {
140977
140977
  IB as gA,
140978
140978
  R8 as gB,
140979
140979
  Do as gC,
140980
- A5 as gD,
140981
- zU as gE,
140982
- FU as gF,
140983
- ak as gG,
140984
- Wq1 as gH,
140985
- ik as gI,
140986
- ck as gJ,
140987
- Ku as gK,
140988
- uk as gL,
140989
- jn as gM,
140990
- P32 as gN,
140991
- U6 as gO,
140992
- OM as gP,
140993
- o1 as gQ,
140994
- d3 as gR,
140995
- H3 as gS,
140996
- DM as gT,
140997
- dj as gU,
140998
- dB as gV,
140999
- r12 as gW,
141000
- aU as gX,
141001
- _8 as gY,
141002
- oe3 as gZ,
141003
- Oj as g_,
140980
+ Od as gD,
140981
+ A5 as gE,
140982
+ zU as gF,
140983
+ FU as gG,
140984
+ ak as gH,
140985
+ Wq1 as gI,
140986
+ ik as gJ,
140987
+ ck as gK,
140988
+ Ku as gL,
140989
+ uk as gM,
140990
+ jn as gN,
140991
+ P32 as gO,
140992
+ U6 as gP,
140993
+ OM as gQ,
140994
+ o1 as gR,
140995
+ d3 as gS,
140996
+ H3 as gT,
140997
+ DM as gU,
140998
+ dj as gV,
140999
+ dB as gW,
141000
+ r12 as gX,
141001
+ aU as gY,
141002
+ _8 as gZ,
141003
+ oe3 as g_,
141004
141004
  qW as ga,
141005
141005
  EU1 as gb,
141006
141006
  AU1 as gc,
@@ -141028,39 +141028,40 @@ export {
141028
141028
  bp2 as gy,
141029
141029
  s33 as gz,
141030
141030
  n12 as h,
141031
- at as h0,
141032
- Y9 as h1,
141033
- f6 as h2,
141034
- x41 as h3,
141035
- IJ as h4,
141036
- I23 as h5,
141037
- F33 as h6,
141038
- i33 as h7,
141039
- R23 as h8,
141040
- C33 as h9,
141041
- Kw as ha,
141042
- R33 as hb,
141043
- D33 as hc,
141044
- N33 as hd,
141045
- XR as he,
141046
- Y22 as hf,
141047
- EY1 as hg,
141048
- Y33 as hh,
141049
- ie3 as hi,
141050
- ce3 as hj,
141051
- le3 as hk,
141052
- ze1 as hl,
141053
- QJ as hm,
141054
- YJ as hn,
141055
- mJ as ho,
141056
- Ge1 as hp,
141057
- ba as hq,
141058
- zL as hr,
141059
- _U1 as hs,
141060
- G33 as ht,
141061
- X33 as hu,
141062
- a33 as hv,
141063
- j23 as hw,
141031
+ Gr as h0,
141032
+ at as h1,
141033
+ Y9 as h2,
141034
+ f6 as h3,
141035
+ x41 as h4,
141036
+ IJ as h5,
141037
+ I23 as h6,
141038
+ F33 as h7,
141039
+ i33 as h8,
141040
+ R23 as h9,
141041
+ C33 as ha,
141042
+ Kw as hb,
141043
+ R33 as hc,
141044
+ D33 as hd,
141045
+ N33 as he,
141046
+ XR as hf,
141047
+ Y22 as hg,
141048
+ EY1 as hh,
141049
+ Y33 as hi,
141050
+ ie3 as hj,
141051
+ ce3 as hk,
141052
+ le3 as hl,
141053
+ ze1 as hm,
141054
+ QJ as hn,
141055
+ YJ as ho,
141056
+ mJ as hp,
141057
+ Ge1 as hq,
141058
+ ba as hr,
141059
+ zL as hs,
141060
+ _U1 as ht,
141061
+ G33 as hu,
141062
+ X33 as hv,
141063
+ a33 as hw,
141064
+ j23 as hx,
141064
141065
  Qa as i,
141065
141066
  rG1 as j,
141066
141067
  f12 as k,
package/dist/ai.d.ts CHANGED
@@ -537,6 +537,10 @@ export declare type AiChatTrackingOptions = {
537
537
  onWelcomeSuggestionClick?: (event: WelcomeSuggestionClickEvent) => void;
538
538
  onNewChat?: () => void;
539
539
  onMessage?: (message: F0Message) => void;
540
+ /** Mic button pressed — fires on intent, even if mic permission is later denied. */
541
+ onDictationStart?: () => void;
542
+ /** Dictation discarded by the user, while recording or mid-transcription. */
543
+ onDictationCancel?: () => void;
540
544
  };
541
545
 
542
546
  /**
package/dist/ai.js CHANGED
@@ -1,6 +1,6 @@
1
- import { D as e, F as r, a as t, e as o, f as i, c as n, d as F, I as C, P as A, b as l, u as d } from "./F0CanvasPanel-BBAGq4mG.js";
1
+ import { D as e, F as r, a as t, e as o, f as i, c as n, d as F, I as C, P as A, b as l, u as d } from "./F0CanvasPanel-Dr6ruMgi.js";
2
2
  import { defaultTranslations as m } from "./i18n-provider-defaults.js";
3
- import { A as c, C as I, h as P, t as v, v as f, x as p, n as T, j as g, r as y, y as S, q as x, s as H, k as V, e as b, g as k, l as w, F as M, i as O, a as D, p as j, m as q, o as z, b as B, f as E, w as L, c as R, d as G, u as J } from "./useChatHistory-CXP7hGgJ.js";
3
+ import { A as c, C as I, h as P, t as v, v as f, x as p, n as T, j as g, r as y, y as S, q as x, s as H, k as V, e as b, g as k, l as w, F as M, i as O, a as D, p as j, m as q, o as z, b as B, f as E, w as L, c as R, d as G, u as J } from "./useChatHistory-CEzj-hkr.js";
4
4
  export {
5
5
  c as AiChatTranslationsProvider,
6
6
  I as ChatSpinner,
@@ -631,6 +631,10 @@ declare type AiChatTrackingOptions = {
631
631
  onWelcomeSuggestionClick?: (event: WelcomeSuggestionClickEvent) => void;
632
632
  onNewChat?: () => void;
633
633
  onMessage?: (message: F0Message) => void;
634
+ /** Mic button pressed — fires on intent, even if mic permission is later denied. */
635
+ onDictationStart?: () => void;
636
+ /** Dictation discarded by the user, while recording or mid-transcription. */
637
+ onDictationCancel?: () => void;
634
638
  };
635
639
 
636
640
  /**
@@ -1005,6 +1009,14 @@ export declare type BaseDataAdapter<R extends RecordType, Filters extends Filter
1005
1009
  * side-effects on reactive adapters (e.g. Apollo watchQuery).
1006
1010
  */
1007
1011
  exportFetchData?: (options: Options) => FetchReturn | Promise<FetchReturn>;
1012
+ /**
1013
+ * Optional id-relative capability: fetch the immediate neighbours of an
1014
+ * item under the current filters/sortings/search, without loading pages.
1015
+ * Enables detail-page prev/next on direct links / hard refresh, where the
1016
+ * item may not be in any loaded page window. One-shot semantics: when an
1017
+ * Observable is returned, only the first settled emission is consumed.
1018
+ */
1019
+ fetchItemNeighbors?: (options: ItemNeighborsFetchOptions<Filters, Options>) => ItemNeighborsResponse<R> | Promise<ItemNeighborsResponse<R>> | Observable<PromiseState<ItemNeighborsResponse<R>>>;
1008
1020
  };
1009
1021
 
1010
1022
  /**
@@ -5627,6 +5639,42 @@ declare type ItemDefinition = {
5627
5639
  avatar?: AvatarVariant;
5628
5640
  };
5629
5641
 
5642
+ /**
5643
+ * Options for an id-relative neighbours fetch. Derived from the adapter's own
5644
+ * fetch options, so extended adapters (e.g. OneDataCollection's, which add
5645
+ * `navigationFilters`) carry their extra context automatically. Pagination is
5646
+ * stripped: the request is relative to an item id, not to a page.
5647
+ */
5648
+ export declare type ItemNeighborsFetchOptions<Filters extends FiltersDefinition, Options extends BaseFetchOptions<Filters> = BaseFetchOptions<Filters>> = Omit<Options, "pagination"> & {
5649
+ /** Id of the reference item (as produced by the source's idProvider) */
5650
+ id: ItemNeighborsId;
5651
+ };
5652
+
5653
+ /**
5654
+ * Identifier used to reference an item in id-relative fetches.
5655
+ * Symbols are excluded on purpose: the id must be serializable so it can
5656
+ * cross a network boundary to a backend.
5657
+ */
5658
+ export declare type ItemNeighborsId = string | number;
5659
+
5660
+ /**
5661
+ * Result of an id-relative neighbours fetch.
5662
+ *
5663
+ * `previous`/`next` are the immediate neighbours of the reference item under
5664
+ * the given filters/sortings/search, or null at the collection edges. If the
5665
+ * reference item itself does not match the current filters, return
5666
+ * `{ previous: null, next: null }` (optionally with `total`) — consumers
5667
+ * disable navigation in that case.
5668
+ */
5669
+ export declare type ItemNeighborsResponse<R> = {
5670
+ previous: R | null;
5671
+ next: R | null;
5672
+ /** 1-indexed position of the reference item in the filtered+sorted collection */
5673
+ position?: number;
5674
+ /** Total number of records matching the current filters/search */
5675
+ total?: number;
5676
+ };
5677
+
5630
5678
  export declare function ItemSectionHeader({ item, children, isActive, collapsible, isExpanded, onToggleExpanded, sortable, hideChildrenCounter, canDropInside, onDragOver, onDragLeave, onDrop, currentParentId, draggedItemId, }: TOCItemSectionHeaderProps): JSX_2.Element;
5631
5679
 
5632
5680
  /**
@@ -6856,6 +6904,14 @@ export declare type PaginatedDataAdapter<R extends RecordType, Filters extends F
6856
6904
  * side-effects on reactive adapters (e.g. Apollo watchQuery).
6857
6905
  */
6858
6906
  exportFetchData?: (options: Options) => FetchReturn | Promise<FetchReturn>;
6907
+ /**
6908
+ * Optional id-relative capability: fetch the immediate neighbours of an
6909
+ * item under the current filters/sortings/search, without loading pages.
6910
+ * Enables detail-page prev/next on direct links / hard refresh, where the
6911
+ * item may not be in any loaded page window. One-shot semantics: when an
6912
+ * Observable is returned, only the first settled emission is consumed.
6913
+ */
6914
+ fetchItemNeighbors?: (options: ItemNeighborsFetchOptions<Filters, Options>) => ItemNeighborsResponse<R> | Promise<ItemNeighborsResponse<R>> | Observable<PromiseState<ItemNeighborsResponse<R>>>;
6859
6915
  };
6860
6916
 
6861
6917
  export declare type PaginatedFetchOptions<Filters extends FiltersDefinition> = BaseFetchOptions<Filters> & {
@@ -1,9 +1,9 @@
1
- import { g as ua, B as fa, h as ma, i as ha, j as Lt, k as Te, l as ga, m as b, n as J, o as pe, u as ie, T as pa, p as ba, q as xa, R as va, r as wa, s as re, t as ya, v as bt, w as it, x as $e, A as _e, y as Na, z as Ca, C as M, E as ka, G as Ia, H as ve, J as sn, K as Sa, L as Fa, M as V, N as on, S as D, O as we, Q as Aa, U as La, V as Ea, W as Oa, X as _a, Y as ke, Z as cn, _ as Da, $ as be, a0 as We, a1 as Ta, d as dn, a2 as Ce, a3 as Pa, a4 as un, a5 as ne, a6 as q, a7 as fn, a8 as mn, a9 as za, aa as hn, ab as me, ac as ee, ad as Ba, ae as Ra, af as $a, ag as Wa, ah as ge, ai as Ue, aj as Ma, ak as ja, al as Va, am as Ha, an as Ge, ao as gn, ap as Ua, aq as Ga, ar as Ka, as as Me, at as qa, au as Ya, av as Za, aw as Ja, ax as Xa, ay as Qa, az as er, aA as tr, aB as nr, aC as ar, aD as st, aE as pn, aF as ot, aG as bn, aH as rr, aI as lr, aJ as ir, aK as sr, aL as or, aM as Ke, aN as xt, aO as ct, aP as xn, aQ as cr, aR as vn, aS as dr, aT as ur, aU as fr, aV as Oe, aW as mr, aX as hr, aY as Pe, aZ as Et, a_ as dt, a$ as gr, b0 as pr, a as br, b as xr, b1 as wn, b2 as vr, f as wr, F as yr, b3 as Nr, b4 as yn, b5 as Cr, b6 as Nn, b7 as Cn, b8 as kr, b9 as Ir, ba as Sr, bb as Fr, bc as Ar, bd as Lr, be as Er, bf as Or, bg as _r, bh as kn, bi as Dr, bj as ue, bk as vt, bl as wt, bm as yt, bn as In, bo as Nt, bp as Sn, bq as Fn, br as Tr, bs as Pr, bt as zr, bu as Br, bv as Rr, bw as $r, bx as Wr, by as Mr, bz as Ot, bA as jr, bB as Vr, bC as _t, bD as Dt, bE as Tt, bF as Hr, bG as Ur, bH as Gr, bI as Kr, bJ as An, bK as qr, bL as Yr } from "./F0CanvasPanel-BBAGq4mG.js";
2
- import { bX as Wc, bW as Mc, c7 as jc, bT as Vc, bU as Hc, bM as Uc, bN as Gc, bO as Kc, c8 as qc, bV as Yc, c3 as Zc, c4 as Jc, bP as Xc, bZ as Qc, bY as ed, bQ as td, bR as nd, c5 as ad, c9 as rd, c6 as ld, c2 as id, b$ as sd, c1 as od, b_ as cd, bS as dd, c0 as ud } from "./F0CanvasPanel-BBAGq4mG.js";
1
+ import { g as ua, B as fa, h as ma, i as ha, j as Lt, k as Te, l as ga, m as b, n as J, o as pe, u as ie, T as pa, p as ba, q as xa, R as va, r as wa, s as re, t as ya, v as bt, w as it, x as $e, A as _e, y as Na, z as Ca, C as M, E as ka, G as Ia, H as ve, J as sn, K as Sa, L as Fa, M as V, N as on, S as D, O as we, Q as Aa, U as La, V as Ea, W as Oa, X as _a, Y as ke, Z as cn, _ as Da, $ as be, a0 as We, a1 as Ta, d as dn, a2 as Ce, a3 as Pa, a4 as un, a5 as ne, a6 as q, a7 as fn, a8 as mn, a9 as za, aa as hn, ab as me, ac as ee, ad as Ba, ae as Ra, af as $a, ag as Wa, ah as ge, ai as Ue, aj as Ma, ak as ja, al as Va, am as Ha, an as Ge, ao as gn, ap as Ua, aq as Ga, ar as Ka, as as Me, at as qa, au as Ya, av as Za, aw as Ja, ax as Xa, ay as Qa, az as er, aA as tr, aB as nr, aC as ar, aD as st, aE as pn, aF as ot, aG as bn, aH as rr, aI as lr, aJ as ir, aK as sr, aL as or, aM as Ke, aN as xt, aO as ct, aP as xn, aQ as cr, aR as vn, aS as dr, aT as ur, aU as fr, aV as Oe, aW as mr, aX as hr, aY as Pe, aZ as Et, a_ as dt, a$ as gr, b0 as pr, a as br, b as xr, b1 as wn, b2 as vr, f as wr, F as yr, b3 as Nr, b4 as yn, b5 as Cr, b6 as Nn, b7 as Cn, b8 as kr, b9 as Ir, ba as Sr, bb as Fr, bc as Ar, bd as Lr, be as Er, bf as Or, bg as _r, bh as kn, bi as Dr, bj as ue, bk as vt, bl as wt, bm as yt, bn as In, bo as Nt, bp as Sn, bq as Fn, br as Tr, bs as Pr, bt as zr, bu as Br, bv as Rr, bw as $r, bx as Wr, by as Mr, bz as Ot, bA as jr, bB as Vr, bC as _t, bD as Dt, bE as Tt, bF as Hr, bG as Ur, bH as Gr, bI as Kr, bJ as An, bK as qr, bL as Yr } from "./F0CanvasPanel-Dr6ruMgi.js";
2
+ import { bX as Wc, bW as Mc, c7 as jc, bT as Vc, bU as Hc, bM as Uc, bN as Gc, bO as Kc, c8 as qc, bV as Yc, c3 as Zc, c4 as Jc, bP as Xc, bZ as Qc, bY as ed, bQ as td, bR as nd, c5 as ad, c9 as rd, c6 as ld, c2 as id, b$ as sd, c1 as od, b_ as cd, bS as dd, c0 as ud } from "./F0CanvasPanel-Dr6ruMgi.js";
3
3
  import { jsx as e, jsxs as o, Fragment as G } from "react/jsx-runtime";
4
4
  import se, { forwardRef as H, useRef as W, useTransition as Zr, useState as O, useLayoutEffect as Ln, useId as ut, useContext as Ie, createContext as qe, useEffect as $, useCallback as Q, useMemo as K, Fragment as Jr, isValidElement as Xr, cloneElement as En, Children as On } from "react";
5
- import { C as Qr, P as el, a as _n, M as tl, R as Pt, b as Dn, u as nl, r as al, c as rl, d as ll, e as il, f as Tn, S as sl, A as ol, B as cl, L as dl, g as ul, V as fl, h as ml, i as hl, j as gl, O as pl } from "./readDataCollectionStorage-CSWd6RWv.js";
6
- import { o as md, p as hd, m as gd, E as pd, q as bd, x as xd, a6 as vd, D as wd, n as yd, J as Nd, F as Cd, W as kd, K as Id, H as Sd, ac as Fd, I as Ad, X as Ld, Y as Ed, s as Od, a8 as _d, a9 as Dd, a7 as Td, aa as Pd, N as zd, Z as Bd, a3 as Rd, a5 as $d, t as Wd, w as Md, y as jd, Q as Vd, ab as Hd, U as Ud, T as Gd, v as Kd, z as qd, k as Yd, l as Zd, $ as Jd, a0 as Xd, a4 as Qd, G as eu, a1 as tu, _ as nu, a2 as au } from "./readDataCollectionStorage-CSWd6RWv.js";
5
+ import { C as Qr, P as el, a as _n, M as tl, R as Pt, b as Dn, u as nl, r as al, c as rl, d as ll, e as il, f as Tn, S as sl, A as ol, B as cl, L as dl, g as ul, V as fl, h as ml, i as hl, j as gl, O as pl } from "./readDataCollectionStorage-DyBXGaXR.js";
6
+ import { o as md, p as hd, m as gd, E as pd, q as bd, x as xd, a6 as vd, D as wd, n as yd, J as Nd, F as Cd, W as kd, K as Id, H as Sd, ac as Fd, I as Ad, X as Ld, Y as Ed, s as Od, a8 as _d, a9 as Dd, a7 as Td, aa as Pd, N as zd, Z as Bd, a3 as Rd, a5 as $d, t as Wd, w as Md, y as jd, Q as Vd, ab as Hd, U as Ud, T as Gd, v as Kd, z as qd, k as Yd, l as Zd, $ as Jd, a0 as Xd, a4 as Qd, G as eu, a1 as tu, _ as nu, a2 as au } from "./readDataCollectionStorage-DyBXGaXR.js";
7
7
  const bl = ua("Search", [
8
8
  ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }],
9
9
  ["path", { d: "m21 21-4.3-4.3", key: "1qie3q" }]
package/dist/f0.d.ts CHANGED
@@ -808,6 +808,10 @@ export declare type AiChatTrackingOptions = {
808
808
  onWelcomeSuggestionClick?: (event: WelcomeSuggestionClickEvent) => void;
809
809
  onNewChat?: () => void;
810
810
  onMessage?: (message: F0Message) => void;
811
+ /** Mic button pressed — fires on intent, even if mic permission is later denied. */
812
+ onDictationStart?: () => void;
813
+ /** Dictation discarded by the user, while recording or mid-transcription. */
814
+ onDictationCancel?: () => void;
811
815
  };
812
816
 
813
817
  /**
@@ -1416,6 +1420,14 @@ export declare type BaseDataAdapter<R extends RecordType, Filters extends Filter
1416
1420
  * side-effects on reactive adapters (e.g. Apollo watchQuery).
1417
1421
  */
1418
1422
  exportFetchData?: (options: Options) => FetchReturn | Promise<FetchReturn>;
1423
+ /**
1424
+ * Optional id-relative capability: fetch the immediate neighbours of an
1425
+ * item under the current filters/sortings/search, without loading pages.
1426
+ * Enables detail-page prev/next on direct links / hard refresh, where the
1427
+ * item may not be in any loaded page window. One-shot semantics: when an
1428
+ * Observable is returned, only the first settled emission is consumed.
1429
+ */
1430
+ fetchItemNeighbors?: (options: ItemNeighborsFetchOptions<Filters, Options>) => ItemNeighborsResponse<R> | Promise<ItemNeighborsResponse<R>> | Observable<PromiseState<ItemNeighborsResponse<R>>>;
1419
1431
  };
1420
1432
 
1421
1433
  /**
@@ -11734,6 +11746,44 @@ declare type ItemDefinition = {
11734
11746
  avatar?: AvatarVariant;
11735
11747
  };
11736
11748
 
11749
+ /**
11750
+ * Options for an id-relative neighbours fetch. Derived from the adapter's own
11751
+ * fetch options, so extended adapters (e.g. OneDataCollection's, which add
11752
+ * `navigationFilters`) carry their extra context automatically. Pagination is
11753
+ * stripped: the request is relative to an item id, not to a page.
11754
+ */
11755
+ export declare type ItemNeighborsFetchOptions<Filters extends FiltersDefinition, Options extends BaseFetchOptions<Filters> = BaseFetchOptions<Filters>> = Omit<Options, "pagination"> & {
11756
+ /** Id of the reference item (as produced by the source's idProvider) */
11757
+ id: ItemNeighborsId;
11758
+ };
11759
+
11760
+ /**
11761
+ * Identifier used to reference an item in id-relative fetches.
11762
+ * Symbols are excluded on purpose: the id must be serializable so it can
11763
+ * cross a network boundary to a backend.
11764
+ */
11765
+ export declare type ItemNeighborsId = string | number;
11766
+
11767
+ /**
11768
+ * Result of an id-relative neighbours fetch.
11769
+ *
11770
+ * `previous`/`next` are the immediate neighbours of the reference item under
11771
+ * the given filters/sortings/search, or null at the collection edges. If the
11772
+ * reference item itself does not match the current filters, return
11773
+ * `{ previous: null, next: null }` (optionally with `total`) — consumers
11774
+ * disable navigation in that case.
11775
+ */
11776
+ export declare type ItemNeighborsResponse<R> = {
11777
+ previous: R | null;
11778
+ next: R | null;
11779
+ /** 1-indexed position of the reference item in the filtered+sorted collection */
11780
+ position?: number;
11781
+ /** Total number of records matching the current filters/search */
11782
+ total?: number;
11783
+ };
11784
+
11785
+ export declare type ItemNeighborsResult<R> = ItemNeighborsResponse<R> | Promise<ItemNeighborsResponse<R>> | Observable<PromiseState<ItemNeighborsResponse<R>>>;
11786
+
11737
11787
  /**
11738
11788
  * Profile data for a job posting entity (ATS opening), resolved asynchronously
11739
11789
  * and displayed in the entity reference hover card.
@@ -12996,6 +13046,14 @@ export declare type PaginatedDataAdapter<R extends RecordType, Filters extends F
12996
13046
  * side-effects on reactive adapters (e.g. Apollo watchQuery).
12997
13047
  */
12998
13048
  exportFetchData?: (options: Options) => FetchReturn | Promise<FetchReturn>;
13049
+ /**
13050
+ * Optional id-relative capability: fetch the immediate neighbours of an
13051
+ * item under the current filters/sortings/search, without loading pages.
13052
+ * Enables detail-page prev/next on direct links / hard refresh, where the
13053
+ * item may not be in any loaded page window. One-shot semantics: when an
13054
+ * Observable is returned, only the first settled emission is consumed.
13055
+ */
13056
+ fetchItemNeighbors?: (options: ItemNeighborsFetchOptions<Filters, Options>) => ItemNeighborsResponse<R> | Promise<ItemNeighborsResponse<R>> | Observable<PromiseState<ItemNeighborsResponse<R>>>;
12999
13057
  };
13000
13058
 
13001
13059
  export declare type PaginatedFetchOptions<Filters extends FiltersDefinition> = BaseFetchOptions<Filters> & {
@@ -13801,6 +13859,23 @@ export declare interface ResolvedStepAnswer {
13801
13859
  cancelled?: boolean;
13802
13860
  }
13803
13861
 
13862
+ /**
13863
+ * Normalizes the three `fetchItemNeighbors` return channels (sync value,
13864
+ * Promise, Observable of PromiseState) into a single one-shot Promise.
13865
+ *
13866
+ * Observables are consumed one-shot: the first emission carrying `data`
13867
+ * resolves, the first emission carrying `error` rejects, and the
13868
+ * subscription is closed either way — live updates are intentionally out of
13869
+ * scope for neighbour resolution.
13870
+ *
13871
+ * `cancel()` unsubscribes/abandons the request: the returned promise then
13872
+ * never settles, so a cancelled request can never reach consumer state.
13873
+ */
13874
+ export declare function resolveItemNeighbors<R>(result: ItemNeighborsResult<R>): {
13875
+ promise: Promise<ItemNeighborsResponse<R>>;
13876
+ cancel: () => void;
13877
+ };
13878
+
13804
13879
  /**
13805
13880
  * Locates the active item and its immediate neighbours within the currently
13806
13881
  * loaded records ("the window"). Pure — the single place neighbour resolution
@@ -15794,6 +15869,56 @@ export declare const useGroups: <R extends RecordType>(groups: GroupRecord<R>[],
15794
15869
  setGroupOpen: (key: string, open: boolean) => void;
15795
15870
  };
15796
15871
 
15872
+ /**
15873
+ * Resolves the previous/next neighbours of an item through the adapter's
15874
+ * optional id-relative `fetchItemNeighbors` capability.
15875
+ *
15876
+ * Built for detail-page navigation on direct links: when the active item is
15877
+ * not in any loaded page window, this asks the backend for its immediate
15878
+ * neighbours (plus position/total for the counter) under the current
15879
+ * filters/sortings/search instead of walking pages.
15880
+ *
15881
+ * Semantics:
15882
+ * - `neighbors` only ever reflects the current `{id, filters, sortings,
15883
+ * search}` — stale responses from superseded requests are dropped.
15884
+ * - Responses are cached per request key, so navigating back and forth
15885
+ * between already-visited ids is instant. The cache is cleared whenever
15886
+ * filters/sortings/search change; errors are never cached.
15887
+ * - When the capability is absent (`isSupported: false`), disabled, or the
15888
+ * id is null, nothing is fetched and `neighbors` stays null — consumers
15889
+ * keep their fallback behaviour.
15890
+ */
15891
+ export declare function useItemNeighbors<R extends RecordType, Filters extends FiltersDefinition>({ dataAdapter, id, filters, sortings, search, enabled, onError, }: UseItemNeighborsOptions<R, Filters>): UseItemNeighborsReturn<R>;
15892
+
15893
+ export declare interface UseItemNeighborsOptions<R extends RecordType, Filters extends FiltersDefinition> {
15894
+ /** The adapter that may implement the `fetchItemNeighbors` capability */
15895
+ dataAdapter: DataAdapter<R, Filters>;
15896
+ /** Active item id. Null disables resolution (symbol ids cannot be used) */
15897
+ id: ItemNeighborsId | null;
15898
+ /** Current filters — same values `fetchData` receives */
15899
+ filters: FiltersState<Filters>;
15900
+ /** Current sortings — same composed array `fetchData` receives */
15901
+ sortings: SortingsStateMultiple;
15902
+ /** Current search — same value `fetchData` receives */
15903
+ search?: string;
15904
+ /**
15905
+ * Gate: resolve only while true (e.g. only when the snapshot path failed
15906
+ * to locate the item in the loaded window).
15907
+ * @default true
15908
+ */
15909
+ enabled?: boolean;
15910
+ onError?: (error: DataError) => void;
15911
+ }
15912
+
15913
+ export declare interface UseItemNeighborsReturn<R extends RecordType> {
15914
+ /** True when the adapter implements `fetchItemNeighbors` */
15915
+ isSupported: boolean;
15916
+ /** Resolved neighbours for the CURRENT id+context, or null while unresolved */
15917
+ neighbors: ItemNeighborsResponse<R> | null;
15918
+ isResolving: boolean;
15919
+ error: DataError | null;
15920
+ }
15921
+
15797
15922
  export declare const usePrivacyMode: () => {
15798
15923
  enabled: boolean;
15799
15924
  enable: () => void;