@gravitee/gamma-lib-observability 1.24.0-fix-gma-463-infinite-scroll-api-selector-loop.f2debec → 1.24.0-fix-gma-463-infinite-scroll-api-selector-loop.460ebef

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 +1 @@
1
- {"version":3,"file":"FilterAsyncValueField.d.ts","sourceRoot":"","sources":["../../src/filters/FilterAsyncValueField.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG3E,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IACvC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAC;IAC/D,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAgB,qBAAqB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,0BAA0B,2CAsDnH"}
1
+ {"version":3,"file":"FilterAsyncValueField.d.ts","sourceRoot":"","sources":["../../src/filters/FilterAsyncValueField.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG3E,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IACvC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAC;IAC/D,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAgB,qBAAqB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,0BAA0B,2CAqDnH"}
@@ -10,7 +10,7 @@ export interface FilterValueComboboxProps {
10
10
  readonly disableBuiltInFilter?: boolean;
11
11
  readonly placeholder?: string;
12
12
  readonly emptyMessage?: string;
13
- /** Extra content rendered inside the ComboboxList (e.g. loading spinner, scroll sentinel). */
13
+ /** Extra content rendered after the ComboboxList (e.g. infinite-scroll loading row). */
14
14
  readonly listFooter?: ReactNode;
15
15
  readonly errorMessage?: string | null;
16
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FilterValueCombobox.d.ts","sourceRoot":"","sources":["../../src/filters/FilterValueCombobox.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAY,KAAK,SAAS,EAAS,MAAM,OAAO,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAO3D,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IACvC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAC;IAC/D,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,6FAA6F;IAC7F,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,8FAA8F;IAC9F,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC;AAED,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,cAAc,EACd,oBAA4B,EAC5B,WAA2D,EAC3D,YAA4B,EAC5B,UAAU,EACV,YAAY,GACb,EAAE,wBAAwB,2CA+F1B"}
1
+ {"version":3,"file":"FilterValueCombobox.d.ts","sourceRoot":"","sources":["../../src/filters/FilterValueCombobox.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAY,KAAK,SAAS,EAAS,MAAM,OAAO,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAO3D,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IACvC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAC;IAC/D,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,6FAA6F;IAC7F,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,wFAAwF;IACxF,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC;AAED,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,cAAc,EACd,oBAA4B,EAC5B,WAA2D,EAC3D,YAA4B,EAC5B,UAAU,EACV,YAAY,GACb,EAAE,wBAAwB,2CA+F1B"}
@@ -0,0 +1,26 @@
1
+ export interface UseInfiniteScrollResult {
2
+ /**
3
+ * Ref callback to attach to any element rendered inside the dropdown (e.g. a
4
+ * footer row). It is used purely to locate the scroll container — the element
5
+ * itself is not observed.
6
+ */
7
+ readonly anchorRef: (node: HTMLElement | null) => void;
8
+ /** The resolved scroll container, populated once `anchorRef` is attached. */
9
+ readonly scrollerRef: React.RefObject<HTMLElement | null>;
10
+ }
11
+ /**
12
+ * Scroll-driven infinite pagination measured on the **actual** scroll container.
13
+ *
14
+ * In a graphene-core Combobox the element that scrolls is `[data-slot=combobox-list]`
15
+ * (overflow-y: auto, capped max-height) — NOT `[data-slot=combobox-content]`, which
16
+ * is overflow-hidden. Earlier sentinel/IntersectionObserver attempts failed because
17
+ * they measured against the content wrapper, where a footer sentinel is always
18
+ * "visible" and therefore auto-chained every page to the end.
19
+ *
20
+ * This hook resolves the real scroller from the anchor node, attaches a passive
21
+ * `scroll` listener, and fires `onReachEnd` when the user scrolls near the bottom.
22
+ * Initial viewport fill (loading until the list overflows) is driven separately
23
+ * from React state by the caller, using the exposed `scrollerRef`.
24
+ */
25
+ export declare function useInfiniteScroll(onReachEnd: () => void): UseInfiniteScrollResult;
26
+ //# sourceMappingURL=use-infinite-scroll.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-infinite-scroll.d.ts","sourceRoot":"","sources":["../../../src/filters/utils/use-infinite-scroll.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,6EAA6E;IAC7E,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CAC3D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,IAAI,GAAG,uBAAuB,CAkCjF"}
@@ -23,13 +23,13 @@ export interface UseInfiniteOptionsResult<T> {
23
23
  readonly isFetchingNextPage: boolean;
24
24
  readonly loadError: string | null;
25
25
  readonly hasNextPage: boolean;
26
- readonly sentinelRef: (node: HTMLDivElement | null) => void;
27
- readonly showSentinel: boolean;
26
+ /** Attach to the dropdown footer row so pagination can locate the scroll container. */
27
+ readonly anchorRef: (node: HTMLElement | null) => void;
28
28
  }
29
29
  /**
30
30
  * Shared infinite-scroll options engine backed by TanStack Query useInfiniteQuery.
31
- * Provides debounced search, automatic page management, scroll-triggered pagination,
32
- * and loop-proof sentinel integration.
31
+ * Provides debounced search, automatic page management, and IntersectionObserver-driven
32
+ * pagination (auto-fills the viewport, then loads on scroll).
33
33
  *
34
34
  * Used by both TracingApiSelector (single-select) and FilterAsyncValueField (multi-select).
35
35
  */
@@ -1 +1 @@
1
- {"version":3,"file":"use-infinite-options.d.ts","sourceRoot":"","sources":["../../src/hooks/use-infinite-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAQxE,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,WAAW,2BAA2B,CAAC,CAAC;IAC5C,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,2BAA2B,KAAK,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC;AAExH,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,QAAQ,CAAC;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5D,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,EACpC,MAAM,EACN,QAAQ,EACR,OAAc,GACf,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAmD3D"}
1
+ {"version":3,"file":"use-infinite-options.d.ts","sourceRoot":"","sources":["../../src/hooks/use-infinite-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAWxE,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,WAAW,2BAA2B,CAAC,CAAC;IAC5C,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,2BAA2B,KAAK,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC;AAExH,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,QAAQ,CAAC;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,uFAAuF;IACvF,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;CACxD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,EACpC,MAAM,EACN,QAAQ,EACR,OAAc,GACf,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC,CA6D3D"}