vane-waterfall 2.0.1 → 2.0.3
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/README.md +4 -4
- package/dist/chunks/WaterfallCore-EdAZuWAY.js +695 -0
- package/dist/chunks/doc-BAhVW3g8.js +150 -0
- package/dist/chunks/doc-BU0CKW63.js +156 -0
- package/dist/chunks/doc-BrEd0oZB.js +100 -0
- package/dist/chunks/{doc-bTHwfIVb.js → doc-Bud0hbaz.js} +39 -25
- package/dist/chunks/{doc-DukOmDCo.js → doc-C-B3zK2o.js} +52 -23
- package/dist/chunks/{doc-DElLNjIc.js → doc-C206ZwYC.js} +33 -24
- package/dist/chunks/doc-C2L8kkeI.js +112 -0
- package/dist/chunks/doc-CE1DGMBV.js +166 -0
- package/dist/chunks/{doc-BXSy2aPP.js → doc-CHbQXLwY.js} +33 -19
- package/dist/chunks/{doc-BfWnfTst.js → doc-CInpKZNU.js} +38 -24
- package/dist/chunks/{doc-gTAsLjVx.js → doc-CYxwSuG6.js} +30 -16
- package/dist/chunks/{doc-DzvTrZ13.js → doc-CaJ02INP.js} +25 -16
- package/dist/chunks/{doc-BXElhF2h.js → doc-CiCso5Ti.js} +44 -30
- package/dist/chunks/doc-CkuMr8Ca.js +118 -0
- package/dist/chunks/{doc-3Fpag2G8.js → doc-D7m1OFCW.js} +38 -24
- package/dist/chunks/doc-DEN2WTDh.js +153 -0
- package/dist/chunks/{doc-C5xrHNoC.js → doc-DhICh9S2.js} +37 -23
- package/dist/chunks/doc-DlJICsyN.js +100 -0
- package/dist/chunks/{doc-BtzhgTYj.js → doc-DtxS1-P0.js} +35 -26
- package/dist/chunks/{doc-BIzjYAZW.js → doc-DudYCn_-.js} +25 -16
- package/dist/chunks/doc-HoyAFR_m.js +101 -0
- package/dist/chunks/doc-RlBMCMNs.js +170 -0
- package/dist/chunks/doc-RwKQqySd.js +102 -0
- package/dist/chunks/{doc-CTUoMe7o.js → doc-eYhNJy97.js} +31 -22
- package/dist/chunks/{doc-CcPFavOs.js → doc-i6FY1We1.js} +27 -13
- package/dist/chunks/doc-skPl6ZMP.js +101 -0
- package/dist/chunks/index-8gEIzUxi.js +15 -0
- package/dist/chunks/index-B96I5CKE.js +21 -0
- package/dist/chunks/index-Bjmhy8jW.js +11 -0
- package/dist/chunks/index-Cuq0ofv-.js +13 -0
- package/dist/chunks/{index-BAWlVYr3.js → index-Cz4YEqRF.js} +1 -1
- package/dist/chunks/{index-wLI6UXkY.js → index-FBJVUYmH.js} +1 -1
- package/dist/chunks/withPlugins-BOeDFhof.js +743 -0
- package/dist/components/WaterfallPlugin/WaterfallCore.d.ts +19 -0
- package/dist/components/WaterfallPlugin/WaterfallCore.d.ts.map +1 -1
- package/dist/components/WaterfallPlugin/layout.d.ts +7 -0
- package/dist/components/WaterfallPlugin/layout.d.ts.map +1 -1
- package/dist/components/WaterfallPlugin/plugins/types.d.ts +3 -0
- package/dist/components/WaterfallPlugin/plugins/types.d.ts.map +1 -1
- package/dist/components/WaterfallPlugin/withPlugins.d.ts.map +1 -1
- package/dist/custom-plugins/A11yPlugin/create.d.ts.map +1 -1
- package/dist/custom-plugins/A11yPlugin/doc.json.d.ts +64 -40
- package/dist/custom-plugins/A11yPlugin/index.js +1 -1
- package/dist/custom-plugins/AlignmentPlugin/doc.json.d.ts +42 -28
- package/dist/custom-plugins/AlignmentPlugin/index.js +1 -1
- package/dist/custom-plugins/AutoColumnPlugin/doc.json.d.ts +53 -44
- package/dist/custom-plugins/AutoColumnPlugin/index.js +1 -1
- package/dist/custom-plugins/BookmarkPlugin/create.d.ts.map +1 -1
- package/dist/custom-plugins/BookmarkPlugin/doc.json.d.ts +44 -35
- package/dist/custom-plugins/BookmarkPlugin/index.js +1 -1
- package/dist/custom-plugins/ClickAnalyticsPlugin/create.d.ts +2 -0
- package/dist/custom-plugins/ClickAnalyticsPlugin/create.d.ts.map +1 -1
- package/dist/custom-plugins/ClickAnalyticsPlugin/doc.json.d.ts +29 -0
- package/dist/custom-plugins/ClickAnalyticsPlugin/index.js +1 -1
- package/dist/custom-plugins/DebounceLayoutPlugin/doc.json.d.ts +37 -28
- package/dist/custom-plugins/DebounceLayoutPlugin/index.js +1 -1
- package/dist/custom-plugins/DragReorderPlugin/doc.json.d.ts +14 -0
- package/dist/custom-plugins/DragReorderPlugin/index.js +1 -1
- package/dist/custom-plugins/FilterPlugin/doc.json.d.ts +53 -39
- package/dist/custom-plugins/FilterPlugin/index.js +1 -1
- package/dist/custom-plugins/FixedHeightPlugin/doc.json.d.ts +42 -28
- package/dist/custom-plugins/FixedHeightPlugin/index.js +1 -1
- package/dist/custom-plugins/GapPlugin/create.d.ts.map +1 -1
- package/dist/custom-plugins/GapPlugin/doc.json.d.ts +61 -37
- package/dist/custom-plugins/GapPlugin/index.js +1 -1
- package/dist/custom-plugins/GroupingPlugin/create.d.ts.map +1 -1
- package/dist/custom-plugins/GroupingPlugin/doc.json.d.ts +61 -32
- package/dist/custom-plugins/GroupingPlugin/index.js +1 -1
- package/dist/custom-plugins/HeatmapAnalyticsPlugin/create.d.ts +2 -0
- package/dist/custom-plugins/HeatmapAnalyticsPlugin/create.d.ts.map +1 -1
- package/dist/custom-plugins/HeatmapAnalyticsPlugin/doc.json.d.ts +24 -0
- package/dist/custom-plugins/HeatmapAnalyticsPlugin/index.js +1 -1
- package/dist/custom-plugins/InfiniteScrollPlugin/create.d.ts.map +1 -1
- package/dist/custom-plugins/InfiniteScrollPlugin/doc.json.d.ts +55 -36
- package/dist/custom-plugins/InfiniteScrollPlugin/index.js +1 -1
- package/dist/custom-plugins/PaginationPlugin/create.d.ts.map +1 -1
- package/dist/custom-plugins/PaginationPlugin/doc.json.d.ts +56 -42
- package/dist/custom-plugins/PaginationPlugin/index.js +1 -1
- package/dist/custom-plugins/PinItemPlugin/doc.json.d.ts +49 -35
- package/dist/custom-plugins/PinItemPlugin/index.js +1 -1
- package/dist/custom-plugins/RecyclePlugin/create.d.ts.map +1 -1
- package/dist/custom-plugins/RecyclePlugin/doc.json.d.ts +57 -28
- package/dist/custom-plugins/RecyclePlugin/index.js +1 -1
- package/dist/custom-plugins/ReducedMotionPlugin/doc.json.d.ts +29 -0
- package/dist/custom-plugins/ReducedMotionPlugin/index.js +1 -1
- package/dist/custom-plugins/ResponsiveColumnsPlugin/doc.json.d.ts +40 -31
- package/dist/custom-plugins/ResponsiveColumnsPlugin/index.js +1 -1
- package/dist/custom-plugins/ScrollAnchorPlugin/doc.json.d.ts +42 -28
- package/dist/custom-plugins/ScrollAnchorPlugin/index.js +1 -1
- package/dist/custom-plugins/SearchPlugin/doc.json.d.ts +53 -39
- package/dist/custom-plugins/SearchPlugin/index.js +1 -1
- package/dist/custom-plugins/SortPlugin/doc.json.d.ts +52 -38
- package/dist/custom-plugins/SortPlugin/index.js +1 -1
- package/dist/custom-plugins/StatePersistencePlugin/create.d.ts.map +1 -1
- package/dist/custom-plugins/StatePersistencePlugin/doc.json.d.ts +71 -37
- package/dist/custom-plugins/StatePersistencePlugin/index.js +1 -1
- package/dist/custom-plugins/StickyHeaderPlugin/create.d.ts.map +1 -1
- package/dist/custom-plugins/StickyHeaderPlugin/doc.json.d.ts +43 -34
- package/dist/custom-plugins/StickyHeaderPlugin/index.js +1 -1
- package/dist/custom-plugins/ThrottlePlugin/doc.json.d.ts +43 -34
- package/dist/custom-plugins/ThrottlePlugin/index.js +1 -1
- package/dist/custom-plugins/TransitionPlugin/doc.json.d.ts +49 -35
- package/dist/custom-plugins/TransitionPlugin/index.js +1 -1
- package/dist/custom-plugins/URLSyncPlugin/create.d.ts.map +1 -1
- package/dist/custom-plugins/URLSyncPlugin/doc.json.d.ts +57 -33
- package/dist/custom-plugins/URLSyncPlugin/index.js +1 -1
- package/dist/custom-plugins/index.js +6 -6
- package/dist/entries/core.js +1 -1
- package/dist/entries/plugins.js +7 -7
- package/dist/index.js +2 -2
- package/dist/presets/dashboard/index.js +2 -2
- package/dist/presets/photo-feed/index.js +3 -3
- package/dist/presets/product-feed/index.js +2 -2
- package/package.json +16 -8
- package/dist/chunks/WaterfallCore-BSXw7bl_.js +0 -581
- package/dist/chunks/doc-78xF08vt.js +0 -82
- package/dist/chunks/doc-B-7dugGv.js +0 -79
- package/dist/chunks/doc-B6kLfMPv.js +0 -121
- package/dist/chunks/doc-BCGQ8Cp5.js +0 -114
- package/dist/chunks/doc-BP0DmB7-.js +0 -91
- package/dist/chunks/doc-CBHjiDG7.js +0 -88
- package/dist/chunks/doc-CraXjOaA.js +0 -68
- package/dist/chunks/doc-DJjxOYzW.js +0 -111
- package/dist/chunks/doc-NhL4Ux8q.js +0 -125
- package/dist/chunks/doc-f4Uijujv.js +0 -102
- package/dist/chunks/doc-j4W9SUrY.js +0 -76
- package/dist/chunks/doc-kTbJE7rY.js +0 -92
- package/dist/chunks/index-COaun3nf.js +0 -15
- package/dist/chunks/index-DXAtA2f6.js +0 -11
- package/dist/chunks/index-DsRLmBW-.js +0 -13
- package/dist/chunks/index-gjoCq0yC.js +0 -21
- package/dist/chunks/withPlugins-DLoKg4AP.js +0 -559
|
@@ -39,6 +39,23 @@ export interface WaterfallCoreProps<T = any> {
|
|
|
39
39
|
* 无限滚动类插件靠它提前预加载(旧版写死 100,插件配多大都没用)。
|
|
40
40
|
*/
|
|
41
41
|
reachBottomOffset?: number;
|
|
42
|
+
/**
|
|
43
|
+
* 零高度项的最小占位高度,默认 48(设 0 关闭,退回旧行为:该项不占位且不可见)。
|
|
44
|
+
*
|
|
45
|
+
* 图片 404 / 懒加载尚未解码 / 字体度量未就绪时首测 `offsetHeight` 为 0,
|
|
46
|
+
* 旧实现直接跳过 → 该DOM 节点被 `opacity:0` 隐藏、不在 `positions` 里,
|
|
47
|
+
* `scrollToItem` / `onItemEnterViewport` 也永远命中不到。
|
|
48
|
+
*/
|
|
49
|
+
minItemHeight?: number;
|
|
50
|
+
/**
|
|
51
|
+
* 滚动锚定:布局前后补偿 `scrollTop`,让第一个可见项在屏幕上的位置不变,默认 true。
|
|
52
|
+
* 视口上方的项从估值变成真高时,不补偿会让内容整体「跳一下」。
|
|
53
|
+
*/
|
|
54
|
+
scrollAnchor?: boolean;
|
|
55
|
+
/** 是否还有更多数据(`InfiniteScrollPlugin` 读取),优先于插件内部状态 */
|
|
56
|
+
hasMore?: boolean;
|
|
57
|
+
/** 数据是否在加载中(`aria-busy` 等读取),优先于插件内部状态 */
|
|
58
|
+
isLoading?: boolean;
|
|
42
59
|
/**
|
|
43
60
|
* 虚拟化:只渲染视口附近的项。
|
|
44
61
|
* 千项以上、项高度可估(图片卡、商品卡)时开;与 `RecyclePlugin` 不要同开。
|
|
@@ -101,6 +118,8 @@ export interface WaterfallCoreRef {
|
|
|
101
118
|
start: number;
|
|
102
119
|
end: number;
|
|
103
120
|
};
|
|
121
|
+
/** 当前与视口有重叠的索引集合(滚动时维护,供插件上下文使用) */
|
|
122
|
+
getVisibleItems: () => Set<number>;
|
|
104
123
|
forceUpdate: () => void;
|
|
105
124
|
getContainer: () => HTMLDivElement | null;
|
|
106
125
|
getItemElement: (index: number) => HTMLElement | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WaterfallCore.d.ts","sourceRoot":"","sources":["../../../src/components/WaterfallPlugin/WaterfallCore.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"WaterfallCore.d.ts","sourceRoot":"","sources":["../../../src/components/WaterfallPlugin/WaterfallCore.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KASN,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,UAAU,EACV,YAAY,EACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,WAAW,EACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAA8C,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAIlG,MAAM,WAAW,kBAAkB,CAAC,CAAC,GAAG,GAAG;IAEzC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;IACxD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,GAAG,CAAC;IAGrD,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,YAAY;IACZ,OAAO,CAAC,EAAE,MAAM,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAGpF,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,OAAO,CAAC;IAGvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oDAAoD;IACpD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC;IAGzC,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C,yCAAyC;IACzC,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC;IACxC,sBAAsB;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,UAAU,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,+BAA+B;IAC/B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,mBAAmB;IACnB,mBAAmB,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAGxC,gCAAgC;IAChC,WAAW,CAAC,EAAE,WAAW,CAAC;IAG1B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAChE,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1E,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1E,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAGxE,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,yBAAyB;IACzB,oBAAoB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC9D,wBAAwB;IACxB,gBAAgB,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IACpE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAID,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACrE,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IACjD,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IACpD,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,YAAY,GAAG,IAAI,CAAC;IACxD,mBAAmB,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACrD,gBAAgB,EAAE,MAAM,MAAM,EAAE,CAAC;IACjC,aAAa,EAAE,MAAM,UAAU,CAAC;IAChC,eAAe,EAAE,MAAM,YAAY,CAAC;IACpC,kCAAkC;IAClC,eAAe,EAAE,MAAM;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,oCAAoC;IACpC,eAAe,EAAE,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;IACnC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,EAAE,MAAM,cAAc,GAAG,IAAI,CAAC;IAC1C,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,WAAW,GAAG,IAAI,CAAC;IACtD,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5E;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IAC/C,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAgHD,QAAA,MAAM,aAAa,kGA43BlB,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -23,6 +23,13 @@ export interface LayoutParams {
|
|
|
23
23
|
alignmentMode?: AlignmentMode;
|
|
24
24
|
/** 未测量项的兜底高度。不给 → 沿用旧行为:跳过不占位 */
|
|
25
25
|
estimateHeight?: number;
|
|
26
|
+
/**
|
|
27
|
+
* 零高度项的最小占位,默认 0(= 旧行为:跳过不占位)。
|
|
28
|
+
*
|
|
29
|
+
* 图片 404 / 尚未解码 / 字体未就绪时首测高度为 0,跳过会让该项既不在 `positions` 里
|
|
30
|
+
* 也被渲染层 `opacity:0` 隐藏,`scrollToItem` / 视口回调永远命中不到(P1-6)。
|
|
31
|
+
*/
|
|
32
|
+
minItemHeight?: number;
|
|
26
33
|
hooks?: LayoutHooks;
|
|
27
34
|
}
|
|
28
35
|
export interface LayoutResult {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../src/components/WaterfallPlugin/layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,CAAC;AAEnE,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,GAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAK,GACrC,OAAO,CAUT;AAED,MAAM,WAAW,WAAW;IAC1B,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACnD,oBAAoB,CAAC,EAAE,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,KACnB,MAAM,GAAG,IAAI,CAAC;IACnB,qBAAqB,CAAC,EAAE,CACtB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,YAAY,KACf,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,YAAY;IAC3B,uCAAuC;IACvC,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,iCAAiC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACrC,kCAAkC;IAClC,cAAc,EAAE,MAAM,CAAC;CACxB;
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../src/components/WaterfallPlugin/layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,CAAC;AAEnE,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,GAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAK,GACrC,OAAO,CAUT;AAED,MAAM,WAAW,WAAW;IAC1B,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACnD,oBAAoB,CAAC,EAAE,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,KACnB,MAAM,GAAG,IAAI,CAAC;IACnB,qBAAqB,CAAC,EAAE,CACtB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,YAAY,KACf,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,YAAY;IAC3B,uCAAuC;IACvC,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,iCAAiC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACrC,kCAAkC;IAClC,cAAc,EAAE,MAAM,CAAC;CACxB;AAeD,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAkIhE;AAED,4CAA4C;AAC5C,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE,MAAM,EACpB,KAAK,GAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAmB,EACvD,MAAM,SAAI,GACT,MAAM,CAQR"}
|
|
@@ -72,8 +72,11 @@ export interface ScrollToItemOptions extends ScrollToOptions {
|
|
|
72
72
|
inline?: "start" | "center" | "end" | "nearest";
|
|
73
73
|
}
|
|
74
74
|
export interface WaterfallPluginContext<T = any> extends PluginContext<WaterfallCoreProps<T>, WaterfallData> {
|
|
75
|
+
/** 当前**渲染集合**:数据插件(Filter / Sort / Search / Pagination)改写后的结果 */
|
|
75
76
|
items: T[];
|
|
76
77
|
itemCount: number;
|
|
78
|
+
/** 原始集合(未经数据插件改写),需要「源数据总条数」时用它 */
|
|
79
|
+
rawItems: T[];
|
|
77
80
|
containerRef: React.RefObject<HTMLDivElement | null>;
|
|
78
81
|
itemRefs: Map<number, HTMLElement>;
|
|
79
82
|
getItemRef: (index: number) => HTMLElement | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/WaterfallPlugin/plugins/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/WaterfallPlugin/plugins/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withPlugins.d.ts","sourceRoot":"","sources":["../../../src/components/WaterfallPlugin/withPlugins.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"withPlugins.d.ts","sourceRoot":"","sources":["../../../src/components/WaterfallPlugin/withPlugins.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAQN,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAMV,eAAe,EAEhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAE5E,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,GAAG;IACxC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AA4FD,wBAAgB,WAAW,CAAC,CAAC,GAAG,GAAG,EACjC,gBAAgB,EAAE,KAAK,CAAC,yBAAyB,CAC/C,KAAK,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAC1C,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CACxC,EACD,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,kGA+epD;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/custom-plugins/A11yPlugin/create.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,gDAAgD,CAAC;AAExD,MAAM,MAAM,UAAU,GAAG;IACvB,+BAA+B;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,GAAE,UAAe,GAAG,eAAe,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/custom-plugins/A11yPlugin/create.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,gDAAgD,CAAC;AAExD,MAAM,MAAM,UAAU,GAAG;IACvB,+BAA+B;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,GAAE,UAAe,GAAG,eAAe,CAAC,CAAC,CAAC,CAwDrF"}
|
|
@@ -1,52 +1,76 @@
|
|
|
1
|
-
declare const _default: {
|
|
2
|
-
"name": "A11yPlugin",
|
|
3
|
-
"description": "把瀑布流补成读屏可理解的列表:容器 `role=list` + `aria-label`,每项 `role=listitem` + `aria-posinset` / `aria-setsize`,并可选加 `tabIndex` 让键盘能逐项聚焦。",
|
|
4
|
-
"since": "2.0.0",
|
|
5
|
-
"tags": [
|
|
6
|
-
"ui",
|
|
7
|
-
"a11y"
|
|
8
|
-
],
|
|
9
|
-
"
|
|
1
|
+
declare const _default: {
|
|
2
|
+
"name": "A11yPlugin",
|
|
3
|
+
"description": "把瀑布流补成读屏可理解的列表:容器 `role=list` + `aria-label`,每项 `role=listitem` + `aria-posinset` / `aria-setsize`,并可选加 `tabIndex` 让键盘能逐项聚焦。",
|
|
4
|
+
"since": "2.0.0",
|
|
5
|
+
"tags": [
|
|
6
|
+
"ui",
|
|
7
|
+
"a11y"
|
|
8
|
+
],
|
|
9
|
+
"events": [
|
|
10
10
|
{
|
|
11
|
-
"name": "
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"description": "容器 role"
|
|
11
|
+
"name": "onMount",
|
|
12
|
+
"when": "瀑布流挂载完成",
|
|
13
|
+
"description": "初始化观察器与滚动监听,返回清理函数"
|
|
15
14
|
},
|
|
16
15
|
{
|
|
17
|
-
"name": "
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"description": "项 role"
|
|
16
|
+
"name": "onItemClick",
|
|
17
|
+
"when": "单个卡片被点击",
|
|
18
|
+
"description": "卡片级跳转与点击埋点"
|
|
21
19
|
},
|
|
22
20
|
{
|
|
23
|
-
"name": "
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"description": "项是否可 Tab 聚焦"
|
|
21
|
+
"name": "onLayoutComplete",
|
|
22
|
+
"when": "DOM 落位完成(可安全测量)",
|
|
23
|
+
"description": "测量真实高度、懒加载判定、曝光上报"
|
|
27
24
|
},
|
|
28
25
|
{
|
|
29
|
-
"name": "
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"description": "容器 aria-label"
|
|
26
|
+
"name": "renderItemWrapper",
|
|
27
|
+
"when": "渲染每个卡片时包裹其内容",
|
|
28
|
+
"description": "给单卡加包裹层(拖拽、无障碍语义、占位骨架)"
|
|
33
29
|
}
|
|
34
30
|
],
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
31
|
+
"methods": [],
|
|
32
|
+
"methodsNote": "只读取 context 字段(props / state / data),不调用上下文方法",
|
|
33
|
+
"config": [
|
|
34
|
+
{
|
|
35
|
+
"name": "containerRole",
|
|
36
|
+
"type": "string",
|
|
37
|
+
"default": "\"list\"",
|
|
38
|
+
"description": "容器 role"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"name": "itemRole",
|
|
42
|
+
"type": "string",
|
|
43
|
+
"default": "\"listitem\"",
|
|
44
|
+
"description": "项 role"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"name": "enableTabIndex",
|
|
48
|
+
"type": "boolean",
|
|
49
|
+
"default": "true",
|
|
50
|
+
"description": "项是否可 Tab 聚焦"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "containerLabel",
|
|
54
|
+
"type": "string",
|
|
55
|
+
"default": "\"Waterfall list\"",
|
|
56
|
+
"description": "容器 aria-label"
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
"example": "// 给容器与项补 ARIA role / label / posinset,支持键盘 Tab 遍历。\nconst Waterfall = withPlugins(WaterfallCore, [\n createA11yPlugin({\n containerRole: \"list\",\n itemRole: \"listitem\",\n enableTabIndex: true,\n }),\n]);\n\n<Waterfall items={items} renderItem={(item) => <Card data={item} />} />;",
|
|
60
|
+
"features": [
|
|
61
|
+
"容器 / 项 role 成对补齐",
|
|
62
|
+
"aria-posinset + aria-setsize 正确标注序号",
|
|
63
|
+
"键盘可逐项聚焦"
|
|
64
|
+
],
|
|
65
|
+
"useCases": [
|
|
66
|
+
"政务 / 金融等合规站点",
|
|
67
|
+
"读屏用户可用的信息流",
|
|
68
|
+
"键盘操作优先的桌面端"
|
|
69
|
+
],
|
|
70
|
+
"notes": [
|
|
71
|
+
"项数很多时 `tabIndex=0` 会让 Tab 变长,建议配合「跳转主内容」链接使用。"
|
|
72
|
+
]
|
|
73
|
+
}
|
|
50
74
|
;
|
|
51
75
|
|
|
52
76
|
export default _default;
|
|
@@ -1,34 +1,48 @@
|
|
|
1
|
-
declare const _default: {
|
|
2
|
-
"name": "AlignmentPlugin",
|
|
3
|
-
"description": "设置瀑布流的列分配策略。shortest 让每列尽量等高(视觉最自然),balanced 让每列项数接近,sequential 按 index 轮转(可预测位置,适合需要与外部索引对齐的场景)。",
|
|
4
|
-
"since": "2.0.0",
|
|
5
|
-
"tags": [
|
|
6
|
-
"layout",
|
|
7
|
-
"布局"
|
|
8
|
-
],
|
|
9
|
-
"
|
|
1
|
+
declare const _default: {
|
|
2
|
+
"name": "AlignmentPlugin",
|
|
3
|
+
"description": "设置瀑布流的列分配策略。shortest 让每列尽量等高(视觉最自然),balanced 让每列项数接近,sequential 按 index 轮转(可预测位置,适合需要与外部索引对齐的场景)。",
|
|
4
|
+
"since": "2.0.0",
|
|
5
|
+
"tags": [
|
|
6
|
+
"layout",
|
|
7
|
+
"布局"
|
|
8
|
+
],
|
|
9
|
+
"events": [
|
|
10
|
+
{
|
|
11
|
+
"name": "onResize",
|
|
12
|
+
"when": "容器宽度变化触发重排前",
|
|
13
|
+
"description": "按新宽度调整列数或卡片密度"
|
|
14
|
+
},
|
|
10
15
|
{
|
|
11
|
-
"name": "
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"description": "列分配策略"
|
|
16
|
+
"name": "transformProps",
|
|
17
|
+
"when": "渲染前链式改写瀑布流 props",
|
|
18
|
+
"description": "补 gap / columns 默认值、按断点覆盖配置"
|
|
15
19
|
}
|
|
16
20
|
],
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
],
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
|
|
21
|
+
"methods": [],
|
|
22
|
+
"methodsNote": "只读取 context 字段(props / state / data),不调用上下文方法",
|
|
23
|
+
"config": [
|
|
24
|
+
{
|
|
25
|
+
"name": "mode",
|
|
26
|
+
"type": "\"shortest\" | \"balanced\" | \"sequential\"",
|
|
27
|
+
"default": "shortest",
|
|
28
|
+
"description": "列分配策略"
|
|
29
|
+
}
|
|
30
|
+
],
|
|
31
|
+
"example": "// 指定列分配策略:最矮列优先(shortest)/ 项数均衡(balanced)/ 顺序轮转(sequential)。\nconst Waterfall = withPlugins(WaterfallCore, [\n createAlignmentPlugin({\n mode: \"shortest\",\n }),\n]);\n\n<Waterfall items={items} renderItem={(item) => <Card data={item} />} />;",
|
|
32
|
+
"features": [
|
|
33
|
+
"三种列分配策略",
|
|
34
|
+
"只改 props.alignmentMode,不影响其他配置",
|
|
35
|
+
"与 ResponsiveColumns / AutoColumn 正交"
|
|
36
|
+
],
|
|
37
|
+
"useCases": [
|
|
38
|
+
"内容流:默认 shortest",
|
|
39
|
+
"等长卡片:balanced 更整齐",
|
|
40
|
+
"需要与后端顺序对齐:sequential"
|
|
41
|
+
],
|
|
42
|
+
"notes": [
|
|
43
|
+
"balanced 与 shortest 在列高相同时都取最左列,视觉上左偏是预期行为。"
|
|
44
|
+
]
|
|
45
|
+
}
|
|
32
46
|
;
|
|
33
47
|
|
|
34
48
|
export default _default;
|
|
@@ -1,50 +1,59 @@
|
|
|
1
|
-
declare const _default: {
|
|
2
|
-
"name": "AutoColumnPlugin",
|
|
3
|
-
"description": "按「容器可用宽度 ÷ 最小列宽」自动决定列数,取代写死 3 列。走 D1-A 布局钩子(calculateColumns),拿到的是真实容器宽度,不是 window.innerWidth。",
|
|
4
|
-
"since": "2.0.0",
|
|
5
|
-
"tags": [
|
|
6
|
-
"layout",
|
|
7
|
-
"layout-hook",
|
|
8
|
-
"响应式"
|
|
9
|
-
],
|
|
10
|
-
"
|
|
11
|
-
{
|
|
12
|
-
"name": "minColumnWidth",
|
|
13
|
-
"type": "number",
|
|
14
|
-
"default": "—",
|
|
15
|
-
"description": "每列最小宽度 px(必填)"
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
"name": "maxColumns",
|
|
19
|
-
"type": "number",
|
|
20
|
-
"default": "Infinity",
|
|
21
|
-
"description": "列数上限"
|
|
22
|
-
},
|
|
1
|
+
declare const _default: {
|
|
2
|
+
"name": "AutoColumnPlugin",
|
|
3
|
+
"description": "按「容器可用宽度 ÷ 最小列宽」自动决定列数,取代写死 3 列。走 D1-A 布局钩子(calculateColumns),拿到的是真实容器宽度,不是 window.innerWidth。",
|
|
4
|
+
"since": "2.0.0",
|
|
5
|
+
"tags": [
|
|
6
|
+
"layout",
|
|
7
|
+
"layout-hook",
|
|
8
|
+
"响应式"
|
|
9
|
+
],
|
|
10
|
+
"events": [
|
|
23
11
|
{
|
|
24
|
-
"name": "
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"description": "列数下限"
|
|
12
|
+
"name": "calculateColumns",
|
|
13
|
+
"when": "每次布局前,询问列数",
|
|
14
|
+
"description": "返回列数则覆盖 props.columns;返回 undefined 沿用配置"
|
|
28
15
|
}
|
|
29
16
|
],
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
17
|
+
"methods": [],
|
|
18
|
+
"methodsNote": "只读取 context 字段(props / state / data),不调用上下文方法",
|
|
19
|
+
"config": [
|
|
20
|
+
{
|
|
21
|
+
"name": "minColumnWidth",
|
|
22
|
+
"type": "number",
|
|
23
|
+
"default": "—",
|
|
24
|
+
"description": "每列最小宽度 px(必填)"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "maxColumns",
|
|
28
|
+
"type": "number",
|
|
29
|
+
"default": "Infinity",
|
|
30
|
+
"description": "列数上限"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "minColumns",
|
|
34
|
+
"type": "number",
|
|
35
|
+
"default": "1",
|
|
36
|
+
"description": "列数下限"
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"example": "// 按容器宽与最小列宽自动算列数,窄屏自动降列。\nconst Waterfall = withPlugins(WaterfallCore, [\n createAutoColumnPlugin({\n maxColumns: \"Infinity\",\n minColumns: 1,\n }),\n]);\n\n<Waterfall items={items} renderItem={(item) => <Card data={item} />} />;",
|
|
40
|
+
"conflicts": [
|
|
41
|
+
"ResponsiveColumnsPlugin"
|
|
42
|
+
],
|
|
43
|
+
"features": [
|
|
44
|
+
"按容器宽度(不是视口宽度)算列数",
|
|
45
|
+
"列数上下限可夹",
|
|
46
|
+
"与 Gap / Padding 一起算,留白不吞列宽"
|
|
47
|
+
],
|
|
48
|
+
"useCases": [
|
|
49
|
+
"响应式信息流",
|
|
50
|
+
"侧边栏宽度可拖动的后台看板",
|
|
51
|
+
"移动端 → 桌面端同一套代码"
|
|
52
|
+
],
|
|
53
|
+
"notes": [
|
|
54
|
+
"与 ResponsiveColumnsPlugin 同时装会互相覆盖列数,只选一个。"
|
|
55
|
+
]
|
|
56
|
+
}
|
|
48
57
|
;
|
|
49
58
|
|
|
50
59
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/custom-plugins/BookmarkPlugin/create.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAEtF,MAAM,MAAM,cAAc,GAAG;IAC3B,sBAAsB;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW;IACX,cAAc,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CACpC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,GAAE,cAAmB,GAAG,eAAe,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/custom-plugins/BookmarkPlugin/create.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAEtF,MAAM,MAAM,cAAc,GAAG;IAC3B,sBAAsB;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW;IACX,cAAc,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CACpC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,GAAE,cAAmB,GAAG,eAAe,CAAC,CAAC,CAAC,CA6D7F"}
|
|
@@ -1,41 +1,50 @@
|
|
|
1
|
-
declare const _default: {
|
|
2
|
-
"name": "BookmarkPlugin",
|
|
3
|
-
"description": "长列表读到一半要跳走时按 **B** 存位置,回来按 **R** 复原。焦点在输入框/可编辑区域时不拦截按键。",
|
|
4
|
-
"since": "2.0.0",
|
|
5
|
-
"tags": [
|
|
6
|
-
"ui",
|
|
7
|
-
"滚动",
|
|
8
|
-
"快捷键"
|
|
9
|
-
],
|
|
10
|
-
"
|
|
11
|
-
{
|
|
12
|
-
"name": "storageKey",
|
|
13
|
-
"type": "string",
|
|
14
|
-
"default": "\"waterfall-bookmark\"",
|
|
15
|
-
"description": "localStorage 键名"
|
|
16
|
-
},
|
|
1
|
+
declare const _default: {
|
|
2
|
+
"name": "BookmarkPlugin",
|
|
3
|
+
"description": "长列表读到一半要跳走时按 **B** 存位置,回来按 **R** 复原。焦点在输入框/可编辑区域时不拦截按键。",
|
|
4
|
+
"since": "2.0.0",
|
|
5
|
+
"tags": [
|
|
6
|
+
"ui",
|
|
7
|
+
"滚动",
|
|
8
|
+
"快捷键"
|
|
9
|
+
],
|
|
10
|
+
"events": [
|
|
17
11
|
{
|
|
18
|
-
"name": "
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"description": "恢复时的滚动行为"
|
|
12
|
+
"name": "onMount",
|
|
13
|
+
"when": "瀑布流挂载完成",
|
|
14
|
+
"description": "初始化观察器与滚动监听,返回清理函数"
|
|
22
15
|
}
|
|
23
16
|
],
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
17
|
+
"methods": [],
|
|
18
|
+
"methodsNote": "只读取 context 字段(props / state / data),不调用上下文方法",
|
|
19
|
+
"config": [
|
|
20
|
+
{
|
|
21
|
+
"name": "storageKey",
|
|
22
|
+
"type": "string",
|
|
23
|
+
"default": "\"waterfall-bookmark\"",
|
|
24
|
+
"description": "localStorage 键名"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "scrollBehavior",
|
|
28
|
+
"type": "\"auto\" | \"smooth\"",
|
|
29
|
+
"default": "\"smooth\"",
|
|
30
|
+
"description": "恢复时的滚动行为"
|
|
31
|
+
}
|
|
32
|
+
],
|
|
33
|
+
"example": "// 按 B 记录滚动位置、按 R 跳回(localStorage),忽略输入框按键。\nconst Waterfall = withPlugins(WaterfallCore, [\n createBookmarkPlugin({\n storageKey: \"waterfall-bookmark\",\n scrollBehavior: \"smooth\",\n }),\n]);\n\n<Waterfall items={items} renderItem={(item) => <Card data={item} />} />;",
|
|
34
|
+
"features": [
|
|
35
|
+
"B 存 / R 取,零 UI 侵入",
|
|
36
|
+
"自动区分容器滚动与页面滚动",
|
|
37
|
+
"输入框内不误触"
|
|
38
|
+
],
|
|
39
|
+
"useCases": [
|
|
40
|
+
"长文列表阅读",
|
|
41
|
+
"后台大表格浏览",
|
|
42
|
+
"演示时快速复位"
|
|
43
|
+
],
|
|
44
|
+
"notes": [
|
|
45
|
+
"键名全局共用,一个页面里多处瀑布流请各自传不同的 storageKey。"
|
|
46
|
+
]
|
|
47
|
+
}
|
|
39
48
|
;
|
|
40
49
|
|
|
41
50
|
export default _default;
|
|
@@ -8,8 +8,10 @@ export type ClickAnalyticsConfig = {
|
|
|
8
8
|
/** `getStats()` 的返回形状:够平,直接 `JSON.stringify` 就能上报 */
|
|
9
9
|
export type ClickAnalyticsStats = {
|
|
10
10
|
total: number;
|
|
11
|
+
/** `index` 是该 key 最近一次出现时的下标;数据被排序 / 分页后以 `key` 为准 */
|
|
11
12
|
byIndex: Array<{
|
|
12
13
|
index: number;
|
|
14
|
+
key: string;
|
|
13
15
|
clicks: number;
|
|
14
16
|
}>;
|
|
15
17
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/custom-plugins/ClickAnalyticsPlugin/create.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/custom-plugins/ClickAnalyticsPlugin/create.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,gDAAgD,CAAC;AAExD,MAAM,MAAM,oBAAoB,GAAG;IACjC,6BAA6B;IAC7B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,oCAAoC;IACpC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,qDAAqD;AACrD,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChE,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,GAAG,GAAG,EAChD,MAAM,GAAE,oBAAyB,GAChC,eAAe,CAAC,CAAC,CAAC,GAAG;IAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;CAAE,CAsG9D"}
|
|
@@ -6,6 +6,35 @@ declare const _default: {
|
|
|
6
6
|
"interaction",
|
|
7
7
|
"埋点"
|
|
8
8
|
],
|
|
9
|
+
"events": [
|
|
10
|
+
{
|
|
11
|
+
"name": "onMount",
|
|
12
|
+
"when": "瀑布流挂载完成",
|
|
13
|
+
"description": "初始化观察器与滚动监听,返回清理函数"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"name": "onItemClick",
|
|
17
|
+
"when": "单个卡片被点击",
|
|
18
|
+
"description": "卡片级跳转与点击埋点"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"name": "onLayoutComplete",
|
|
22
|
+
"when": "DOM 落位完成(可安全测量)",
|
|
23
|
+
"description": "测量真实高度、懒加载判定、曝光上报"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"name": "renderOverlay",
|
|
27
|
+
"when": "每次渲染,滚动容器内的内容层之上",
|
|
28
|
+
"description": "回到顶部、加载提示、浮层工具"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"name": "analytics:click",
|
|
32
|
+
"when": "卡片点击后",
|
|
33
|
+
"description": "广播 { index, key, item, event, total } 点击埋点"
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"methods": [],
|
|
37
|
+
"methodsNote": "只读取 context 字段(props / state / data),不调用上下文方法",
|
|
9
38
|
"config": [
|
|
10
39
|
{
|
|
11
40
|
"name": "log",
|