@wordpress/dataviews 17.0.1 → 17.1.2-next.v.202607070741.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.
- package/CHANGELOG.md +14 -1
- package/build/components/dataform-controls/select.cjs +0 -1
- package/build/components/dataform-controls/select.cjs.map +2 -2
- package/build/components/dataform-controls/toggle-group.cjs +0 -1
- package/build/components/dataform-controls/toggle-group.cjs.map +2 -2
- package/build/components/dataform-controls/utils/relative-date-control.cjs +0 -1
- package/build/components/dataform-controls/utils/relative-date-control.cjs.map +2 -2
- package/build/components/dataviews-footer/index.cjs +6 -2
- package/build/components/dataviews-footer/index.cjs.map +2 -2
- package/build/components/dataviews-layouts/grid/preview-size-picker.cjs +0 -1
- package/build/components/dataviews-layouts/grid/preview-size-picker.cjs.map +2 -2
- package/build/components/dataviews-layouts/list/index.cjs +13 -1
- package/build/components/dataviews-layouts/list/index.cjs.map +2 -2
- package/build/components/dataviews-layouts/utils/density-picker.cjs +0 -1
- package/build/components/dataviews-layouts/utils/density-picker.cjs.map +2 -2
- package/build/components/dataviews-layouts/utils/preview-size-picker.cjs +0 -1
- package/build/components/dataviews-layouts/utils/preview-size-picker.cjs.map +2 -2
- package/build/components/dataviews-pagination/index.cjs +12 -13
- package/build/components/dataviews-pagination/index.cjs.map +2 -2
- package/build/components/dataviews-view-config/index.cjs +0 -3
- package/build/components/dataviews-view-config/index.cjs.map +2 -2
- package/build/dataform/index.cjs.map +2 -2
- package/build/dataviews/index.cjs.map +2 -2
- package/build/dataviews-picker/index.cjs.map +2 -2
- package/build/hooks/use-infinite-scroll.cjs +2 -1
- package/build/hooks/use-infinite-scroll.cjs.map +2 -2
- package/build-module/components/dataform-controls/select.mjs +0 -1
- package/build-module/components/dataform-controls/select.mjs.map +2 -2
- package/build-module/components/dataform-controls/toggle-group.mjs +0 -1
- package/build-module/components/dataform-controls/toggle-group.mjs.map +2 -2
- package/build-module/components/dataform-controls/utils/relative-date-control.mjs +0 -1
- package/build-module/components/dataform-controls/utils/relative-date-control.mjs.map +2 -2
- package/build-module/components/dataviews-footer/index.mjs +9 -3
- package/build-module/components/dataviews-footer/index.mjs.map +2 -2
- package/build-module/components/dataviews-layouts/grid/preview-size-picker.mjs +0 -1
- package/build-module/components/dataviews-layouts/grid/preview-size-picker.mjs.map +2 -2
- package/build-module/components/dataviews-layouts/list/index.mjs +13 -1
- package/build-module/components/dataviews-layouts/list/index.mjs.map +2 -2
- package/build-module/components/dataviews-layouts/utils/density-picker.mjs +0 -1
- package/build-module/components/dataviews-layouts/utils/density-picker.mjs.map +2 -2
- package/build-module/components/dataviews-layouts/utils/preview-size-picker.mjs +0 -1
- package/build-module/components/dataviews-layouts/utils/preview-size-picker.mjs.map +2 -2
- package/build-module/components/dataviews-pagination/index.mjs +10 -12
- package/build-module/components/dataviews-pagination/index.mjs.map +2 -2
- package/build-module/components/dataviews-view-config/index.mjs +0 -3
- package/build-module/components/dataviews-view-config/index.mjs.map +2 -2
- package/build-module/dataform/index.mjs.map +2 -2
- package/build-module/dataviews/index.mjs.map +2 -2
- package/build-module/dataviews-picker/index.mjs.map +2 -2
- package/build-module/hooks/use-infinite-scroll.mjs +2 -1
- package/build-module/hooks/use-infinite-scroll.mjs.map +2 -2
- package/build-style/style-rtl.css +9 -2
- package/build-style/style.css +9 -2
- package/build-types/components/dataform-controls/select.d.ts.map +1 -1
- package/build-types/components/dataform-controls/toggle-group.d.ts.map +1 -1
- package/build-types/components/dataform-controls/utils/relative-date-control.d.ts.map +1 -1
- package/build-types/components/dataviews-footer/index.d.ts +1 -1
- package/build-types/components/dataviews-footer/index.d.ts.map +1 -1
- package/build-types/components/dataviews-layouts/grid/preview-size-picker.d.ts.map +1 -1
- package/build-types/components/dataviews-layouts/list/index.d.ts.map +1 -1
- package/build-types/components/dataviews-layouts/utils/density-picker.d.ts.map +1 -1
- package/build-types/components/dataviews-layouts/utils/preview-size-picker.d.ts.map +1 -1
- package/build-types/components/dataviews-pagination/index.d.ts +6 -1
- package/build-types/components/dataviews-pagination/index.d.ts.map +1 -1
- package/build-types/components/dataviews-view-config/index.d.ts.map +1 -1
- package/build-types/dataform/index.d.ts +5 -0
- package/build-types/dataform/index.d.ts.map +1 -1
- package/build-types/dataviews/index.d.ts +5 -0
- package/build-types/dataviews/index.d.ts.map +1 -1
- package/build-types/dataviews/stories/async-infinite-scroll.d.ts +8 -0
- package/build-types/dataviews/stories/async-infinite-scroll.d.ts.map +1 -0
- package/build-types/dataviews/stories/index.story.d.ts +19 -0
- package/build-types/dataviews/stories/index.story.d.ts.map +1 -1
- package/build-types/dataviews-picker/index.d.ts +5 -0
- package/build-types/dataviews-picker/index.d.ts.map +1 -1
- package/build-types/hooks/use-infinite-scroll.d.ts.map +1 -1
- package/build-wp/index.js +1476 -1227
- package/package.json +17 -17
- package/src/components/dataform-controls/select.tsx +0 -1
- package/src/components/dataform-controls/toggle-group.tsx +0 -1
- package/src/components/dataform-controls/utils/relative-date-control.tsx +0 -1
- package/src/components/dataviews-footer/index.tsx +27 -26
- package/src/components/dataviews-layouts/grid/preview-size-picker.tsx +0 -1
- package/src/components/dataviews-layouts/list/index.tsx +14 -2
- package/src/components/dataviews-layouts/utils/density-picker.tsx +0 -1
- package/src/components/dataviews-layouts/utils/preview-size-picker.tsx +0 -1
- package/src/components/dataviews-pagination/index.tsx +82 -78
- package/src/components/dataviews-view-config/index.tsx +0 -3
- package/src/components/dataviews-view-config/style.scss +0 -1
- package/src/dataform/index.tsx +5 -0
- package/src/dataviews/index.tsx +5 -0
- package/src/dataviews/stories/async-infinite-scroll.tsx +115 -0
- package/src/dataviews/stories/index.story.tsx +27 -0
- package/src/dataviews/style.scss +5 -1
- package/src/dataviews-picker/index.tsx +5 -0
- package/src/hooks/use-infinite-scroll.ts +10 -2
|
@@ -28,6 +28,7 @@ function captureAnchorElement(
|
|
|
28
28
|
anchorElementRef: React.MutableRefObject< {
|
|
29
29
|
posinset: number;
|
|
30
30
|
viewportOffset: number;
|
|
31
|
+
scrollTop: number;
|
|
31
32
|
direction: 'up' | 'down' | null;
|
|
32
33
|
} | null >,
|
|
33
34
|
direction: 'up' | 'down'
|
|
@@ -61,6 +62,7 @@ function captureAnchorElement(
|
|
|
61
62
|
anchorElementRef.current = {
|
|
62
63
|
posinset,
|
|
63
64
|
viewportOffset: anchorRect.top - containerRect.top,
|
|
65
|
+
scrollTop: container.scrollTop,
|
|
64
66
|
direction,
|
|
65
67
|
};
|
|
66
68
|
return true;
|
|
@@ -95,6 +97,7 @@ export function useInfiniteScroll( {
|
|
|
95
97
|
const anchorElementRef = useRef< {
|
|
96
98
|
posinset: number;
|
|
97
99
|
viewportOffset: number;
|
|
100
|
+
scrollTop: number;
|
|
98
101
|
direction: 'up' | 'down' | null;
|
|
99
102
|
} | null >( null );
|
|
100
103
|
const viewRef = useRef( view );
|
|
@@ -174,8 +177,13 @@ export function useInfiniteScroll( {
|
|
|
174
177
|
const anchorRect = anchorElement.getBoundingClientRect();
|
|
175
178
|
const currentOffset = anchorRect.top - containerRect.top;
|
|
176
179
|
|
|
177
|
-
//
|
|
178
|
-
|
|
180
|
+
// Compensate only for the content shift, not for scrolling the user
|
|
181
|
+
// did during an async load. Adding back the scroll delta since capture
|
|
182
|
+
// keeps the list from snapping back to the capture-time position.
|
|
183
|
+
const scrollAdjustment =
|
|
184
|
+
currentOffset -
|
|
185
|
+
anchor.viewportOffset +
|
|
186
|
+
( container.scrollTop - anchor.scrollTop );
|
|
179
187
|
|
|
180
188
|
if ( Math.abs( scrollAdjustment ) > 1 ) {
|
|
181
189
|
container.scrollTop += scrollAdjustment;
|