@factorialco/f0-react 2.56.0 → 2.57.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.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-RT7UPbrU.js";
4
4
  export {
5
5
  c as AiChatTranslationsProvider,
6
6
  I as ChatSpinner,
@@ -1005,6 +1005,14 @@ export declare type BaseDataAdapter<R extends RecordType, Filters extends Filter
1005
1005
  * side-effects on reactive adapters (e.g. Apollo watchQuery).
1006
1006
  */
1007
1007
  exportFetchData?: (options: Options) => FetchReturn | Promise<FetchReturn>;
1008
+ /**
1009
+ * Optional id-relative capability: fetch the immediate neighbours of an
1010
+ * item under the current filters/sortings/search, without loading pages.
1011
+ * Enables detail-page prev/next on direct links / hard refresh, where the
1012
+ * item may not be in any loaded page window. One-shot semantics: when an
1013
+ * Observable is returned, only the first settled emission is consumed.
1014
+ */
1015
+ fetchItemNeighbors?: (options: ItemNeighborsFetchOptions<Filters, Options>) => ItemNeighborsResponse<R> | Promise<ItemNeighborsResponse<R>> | Observable<PromiseState<ItemNeighborsResponse<R>>>;
1008
1016
  };
1009
1017
 
1010
1018
  /**
@@ -5627,6 +5635,42 @@ declare type ItemDefinition = {
5627
5635
  avatar?: AvatarVariant;
5628
5636
  };
5629
5637
 
5638
+ /**
5639
+ * Options for an id-relative neighbours fetch. Derived from the adapter's own
5640
+ * fetch options, so extended adapters (e.g. OneDataCollection's, which add
5641
+ * `navigationFilters`) carry their extra context automatically. Pagination is
5642
+ * stripped: the request is relative to an item id, not to a page.
5643
+ */
5644
+ export declare type ItemNeighborsFetchOptions<Filters extends FiltersDefinition, Options extends BaseFetchOptions<Filters> = BaseFetchOptions<Filters>> = Omit<Options, "pagination"> & {
5645
+ /** Id of the reference item (as produced by the source's idProvider) */
5646
+ id: ItemNeighborsId;
5647
+ };
5648
+
5649
+ /**
5650
+ * Identifier used to reference an item in id-relative fetches.
5651
+ * Symbols are excluded on purpose: the id must be serializable so it can
5652
+ * cross a network boundary to a backend.
5653
+ */
5654
+ export declare type ItemNeighborsId = string | number;
5655
+
5656
+ /**
5657
+ * Result of an id-relative neighbours fetch.
5658
+ *
5659
+ * `previous`/`next` are the immediate neighbours of the reference item under
5660
+ * the given filters/sortings/search, or null at the collection edges. If the
5661
+ * reference item itself does not match the current filters, return
5662
+ * `{ previous: null, next: null }` (optionally with `total`) — consumers
5663
+ * disable navigation in that case.
5664
+ */
5665
+ export declare type ItemNeighborsResponse<R> = {
5666
+ previous: R | null;
5667
+ next: R | null;
5668
+ /** 1-indexed position of the reference item in the filtered+sorted collection */
5669
+ position?: number;
5670
+ /** Total number of records matching the current filters/search */
5671
+ total?: number;
5672
+ };
5673
+
5630
5674
  export declare function ItemSectionHeader({ item, children, isActive, collapsible, isExpanded, onToggleExpanded, sortable, hideChildrenCounter, canDropInside, onDragOver, onDragLeave, onDrop, currentParentId, draggedItemId, }: TOCItemSectionHeaderProps): JSX_2.Element;
5631
5675
 
5632
5676
  /**
@@ -6856,6 +6900,14 @@ export declare type PaginatedDataAdapter<R extends RecordType, Filters extends F
6856
6900
  * side-effects on reactive adapters (e.g. Apollo watchQuery).
6857
6901
  */
6858
6902
  exportFetchData?: (options: Options) => FetchReturn | Promise<FetchReturn>;
6903
+ /**
6904
+ * Optional id-relative capability: fetch the immediate neighbours of an
6905
+ * item under the current filters/sortings/search, without loading pages.
6906
+ * Enables detail-page prev/next on direct links / hard refresh, where the
6907
+ * item may not be in any loaded page window. One-shot semantics: when an
6908
+ * Observable is returned, only the first settled emission is consumed.
6909
+ */
6910
+ fetchItemNeighbors?: (options: ItemNeighborsFetchOptions<Filters, Options>) => ItemNeighborsResponse<R> | Promise<ItemNeighborsResponse<R>> | Observable<PromiseState<ItemNeighborsResponse<R>>>;
6859
6911
  };
6860
6912
 
6861
6913
  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
@@ -1416,6 +1416,14 @@ export declare type BaseDataAdapter<R extends RecordType, Filters extends Filter
1416
1416
  * side-effects on reactive adapters (e.g. Apollo watchQuery).
1417
1417
  */
1418
1418
  exportFetchData?: (options: Options) => FetchReturn | Promise<FetchReturn>;
1419
+ /**
1420
+ * Optional id-relative capability: fetch the immediate neighbours of an
1421
+ * item under the current filters/sortings/search, without loading pages.
1422
+ * Enables detail-page prev/next on direct links / hard refresh, where the
1423
+ * item may not be in any loaded page window. One-shot semantics: when an
1424
+ * Observable is returned, only the first settled emission is consumed.
1425
+ */
1426
+ fetchItemNeighbors?: (options: ItemNeighborsFetchOptions<Filters, Options>) => ItemNeighborsResponse<R> | Promise<ItemNeighborsResponse<R>> | Observable<PromiseState<ItemNeighborsResponse<R>>>;
1419
1427
  };
1420
1428
 
1421
1429
  /**
@@ -11734,6 +11742,44 @@ declare type ItemDefinition = {
11734
11742
  avatar?: AvatarVariant;
11735
11743
  };
11736
11744
 
11745
+ /**
11746
+ * Options for an id-relative neighbours fetch. Derived from the adapter's own
11747
+ * fetch options, so extended adapters (e.g. OneDataCollection's, which add
11748
+ * `navigationFilters`) carry their extra context automatically. Pagination is
11749
+ * stripped: the request is relative to an item id, not to a page.
11750
+ */
11751
+ export declare type ItemNeighborsFetchOptions<Filters extends FiltersDefinition, Options extends BaseFetchOptions<Filters> = BaseFetchOptions<Filters>> = Omit<Options, "pagination"> & {
11752
+ /** Id of the reference item (as produced by the source's idProvider) */
11753
+ id: ItemNeighborsId;
11754
+ };
11755
+
11756
+ /**
11757
+ * Identifier used to reference an item in id-relative fetches.
11758
+ * Symbols are excluded on purpose: the id must be serializable so it can
11759
+ * cross a network boundary to a backend.
11760
+ */
11761
+ export declare type ItemNeighborsId = string | number;
11762
+
11763
+ /**
11764
+ * Result of an id-relative neighbours fetch.
11765
+ *
11766
+ * `previous`/`next` are the immediate neighbours of the reference item under
11767
+ * the given filters/sortings/search, or null at the collection edges. If the
11768
+ * reference item itself does not match the current filters, return
11769
+ * `{ previous: null, next: null }` (optionally with `total`) — consumers
11770
+ * disable navigation in that case.
11771
+ */
11772
+ export declare type ItemNeighborsResponse<R> = {
11773
+ previous: R | null;
11774
+ next: R | null;
11775
+ /** 1-indexed position of the reference item in the filtered+sorted collection */
11776
+ position?: number;
11777
+ /** Total number of records matching the current filters/search */
11778
+ total?: number;
11779
+ };
11780
+
11781
+ export declare type ItemNeighborsResult<R> = ItemNeighborsResponse<R> | Promise<ItemNeighborsResponse<R>> | Observable<PromiseState<ItemNeighborsResponse<R>>>;
11782
+
11737
11783
  /**
11738
11784
  * Profile data for a job posting entity (ATS opening), resolved asynchronously
11739
11785
  * and displayed in the entity reference hover card.
@@ -12996,6 +13042,14 @@ export declare type PaginatedDataAdapter<R extends RecordType, Filters extends F
12996
13042
  * side-effects on reactive adapters (e.g. Apollo watchQuery).
12997
13043
  */
12998
13044
  exportFetchData?: (options: Options) => FetchReturn | Promise<FetchReturn>;
13045
+ /**
13046
+ * Optional id-relative capability: fetch the immediate neighbours of an
13047
+ * item under the current filters/sortings/search, without loading pages.
13048
+ * Enables detail-page prev/next on direct links / hard refresh, where the
13049
+ * item may not be in any loaded page window. One-shot semantics: when an
13050
+ * Observable is returned, only the first settled emission is consumed.
13051
+ */
13052
+ fetchItemNeighbors?: (options: ItemNeighborsFetchOptions<Filters, Options>) => ItemNeighborsResponse<R> | Promise<ItemNeighborsResponse<R>> | Observable<PromiseState<ItemNeighborsResponse<R>>>;
12999
13053
  };
13000
13054
 
13001
13055
  export declare type PaginatedFetchOptions<Filters extends FiltersDefinition> = BaseFetchOptions<Filters> & {
@@ -13801,6 +13855,23 @@ export declare interface ResolvedStepAnswer {
13801
13855
  cancelled?: boolean;
13802
13856
  }
13803
13857
 
13858
+ /**
13859
+ * Normalizes the three `fetchItemNeighbors` return channels (sync value,
13860
+ * Promise, Observable of PromiseState) into a single one-shot Promise.
13861
+ *
13862
+ * Observables are consumed one-shot: the first emission carrying `data`
13863
+ * resolves, the first emission carrying `error` rejects, and the
13864
+ * subscription is closed either way — live updates are intentionally out of
13865
+ * scope for neighbour resolution.
13866
+ *
13867
+ * `cancel()` unsubscribes/abandons the request: the returned promise then
13868
+ * never settles, so a cancelled request can never reach consumer state.
13869
+ */
13870
+ export declare function resolveItemNeighbors<R>(result: ItemNeighborsResult<R>): {
13871
+ promise: Promise<ItemNeighborsResponse<R>>;
13872
+ cancel: () => void;
13873
+ };
13874
+
13804
13875
  /**
13805
13876
  * Locates the active item and its immediate neighbours within the currently
13806
13877
  * loaded records ("the window"). Pure — the single place neighbour resolution
@@ -15794,6 +15865,56 @@ export declare const useGroups: <R extends RecordType>(groups: GroupRecord<R>[],
15794
15865
  setGroupOpen: (key: string, open: boolean) => void;
15795
15866
  };
15796
15867
 
15868
+ /**
15869
+ * Resolves the previous/next neighbours of an item through the adapter's
15870
+ * optional id-relative `fetchItemNeighbors` capability.
15871
+ *
15872
+ * Built for detail-page navigation on direct links: when the active item is
15873
+ * not in any loaded page window, this asks the backend for its immediate
15874
+ * neighbours (plus position/total for the counter) under the current
15875
+ * filters/sortings/search instead of walking pages.
15876
+ *
15877
+ * Semantics:
15878
+ * - `neighbors` only ever reflects the current `{id, filters, sortings,
15879
+ * search}` — stale responses from superseded requests are dropped.
15880
+ * - Responses are cached per request key, so navigating back and forth
15881
+ * between already-visited ids is instant. The cache is cleared whenever
15882
+ * filters/sortings/search change; errors are never cached.
15883
+ * - When the capability is absent (`isSupported: false`), disabled, or the
15884
+ * id is null, nothing is fetched and `neighbors` stays null — consumers
15885
+ * keep their fallback behaviour.
15886
+ */
15887
+ export declare function useItemNeighbors<R extends RecordType, Filters extends FiltersDefinition>({ dataAdapter, id, filters, sortings, search, enabled, onError, }: UseItemNeighborsOptions<R, Filters>): UseItemNeighborsReturn<R>;
15888
+
15889
+ export declare interface UseItemNeighborsOptions<R extends RecordType, Filters extends FiltersDefinition> {
15890
+ /** The adapter that may implement the `fetchItemNeighbors` capability */
15891
+ dataAdapter: DataAdapter<R, Filters>;
15892
+ /** Active item id. Null disables resolution (symbol ids cannot be used) */
15893
+ id: ItemNeighborsId | null;
15894
+ /** Current filters — same values `fetchData` receives */
15895
+ filters: FiltersState<Filters>;
15896
+ /** Current sortings — same composed array `fetchData` receives */
15897
+ sortings: SortingsStateMultiple;
15898
+ /** Current search — same value `fetchData` receives */
15899
+ search?: string;
15900
+ /**
15901
+ * Gate: resolve only while true (e.g. only when the snapshot path failed
15902
+ * to locate the item in the loaded window).
15903
+ * @default true
15904
+ */
15905
+ enabled?: boolean;
15906
+ onError?: (error: DataError) => void;
15907
+ }
15908
+
15909
+ export declare interface UseItemNeighborsReturn<R extends RecordType> {
15910
+ /** True when the adapter implements `fetchItemNeighbors` */
15911
+ isSupported: boolean;
15912
+ /** Resolved neighbours for the CURRENT id+context, or null while unresolved */
15913
+ neighbors: ItemNeighborsResponse<R> | null;
15914
+ isResolving: boolean;
15915
+ error: DataError | null;
15916
+ }
15917
+
15797
15918
  export declare const usePrivacyMode: () => {
15798
15919
  enabled: boolean;
15799
15920
  enable: () => void;