@selfcommunity/react-ui 0.1.19-alpha.3 → 0.2.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/lib/cjs/components/Composer/Composer.d.ts.map +1 -1
- package/lib/cjs/components/Composer/Composer.js +3 -2
- package/lib/cjs/components/Composer/Composer.js.map +1 -1
- package/lib/cjs/components/Editor/plugins/DefaultHtmlValuePlugin.d.ts.map +1 -1
- package/lib/cjs/components/Editor/plugins/DefaultHtmlValuePlugin.js +10 -3
- package/lib/cjs/components/Editor/plugins/DefaultHtmlValuePlugin.js.map +1 -1
- package/lib/cjs/components/Feed/Feed.d.ts +16 -2
- package/lib/cjs/components/Feed/Feed.d.ts.map +1 -1
- package/lib/cjs/components/Feed/Feed.js +140 -96
- package/lib/cjs/components/Feed/Feed.js.map +1 -1
- package/lib/cjs/components/Feed/Skeleton.d.ts.map +1 -1
- package/lib/cjs/components/Feed/Skeleton.js +3 -1
- package/lib/cjs/components/Feed/Skeleton.js.map +1 -1
- package/lib/cjs/components/FeedObject/Contributors/Contributors.d.ts.map +1 -1
- package/lib/cjs/components/FeedObject/Contributors/Contributors.js +12 -15
- package/lib/cjs/components/FeedObject/Contributors/Contributors.js.map +1 -1
- package/lib/cjs/components/FeedObject/FeedObject.d.ts +10 -0
- package/lib/cjs/components/FeedObject/FeedObject.d.ts.map +1 -1
- package/lib/cjs/components/FeedObject/FeedObject.js +6 -2
- package/lib/cjs/components/FeedObject/FeedObject.js.map +1 -1
- package/lib/cjs/components/Notification/Notification.d.ts +10 -0
- package/lib/cjs/components/Notification/Notification.d.ts.map +1 -1
- package/lib/cjs/components/Notification/Notification.js +11 -3
- package/lib/cjs/components/Notification/Notification.js.map +1 -1
- package/lib/cjs/shared/ContributionActionsMenu/index.d.ts.map +1 -1
- package/lib/cjs/shared/ContributionActionsMenu/index.js +7 -2
- package/lib/cjs/shared/ContributionActionsMenu/index.js.map +1 -1
- package/lib/cjs/shared/Media/Link/PreviewComponent.js +1 -2
- package/lib/cjs/shared/Media/Link/PreviewComponent.js.map +1 -1
- package/lib/cjs/shared/VirtualizedScroller/VirtualScrollerChild.d.ts +12 -0
- package/lib/cjs/shared/VirtualizedScroller/VirtualScrollerChild.d.ts.map +1 -0
- package/lib/cjs/shared/VirtualizedScroller/VirtualScrollerChild.js +41 -0
- package/lib/cjs/shared/VirtualizedScroller/VirtualScrollerChild.js.map +1 -0
- package/lib/cjs/shared/VirtualizedScroller/VirtualizedScroller.d.ts +2 -0
- package/lib/cjs/shared/VirtualizedScroller/VirtualizedScroller.d.ts.map +1 -0
- package/lib/cjs/shared/VirtualizedScroller/VirtualizedScroller.js +103 -0
- package/lib/cjs/shared/VirtualizedScroller/VirtualizedScroller.js.map +1 -0
- package/lib/cjs/shared/VirtualizedScroller/index.d.ts +5 -0
- package/lib/cjs/shared/VirtualizedScroller/index.d.ts.map +1 -0
- package/lib/cjs/shared/VirtualizedScroller/index.js +11 -0
- package/lib/cjs/shared/VirtualizedScroller/index.js.map +1 -0
- package/lib/cjs/utils/feed.d.ts +13 -0
- package/lib/cjs/utils/feed.d.ts.map +1 -0
- package/lib/cjs/utils/feed.js +23 -0
- package/lib/cjs/utils/feed.js.map +1 -0
- package/lib/esm/components/Composer/Composer.d.ts.map +1 -1
- package/lib/esm/components/Composer/Composer.js +3 -2
- package/lib/esm/components/Composer/Composer.js.map +1 -1
- package/lib/esm/components/Editor/plugins/DefaultHtmlValuePlugin.d.ts.map +1 -1
- package/lib/esm/components/Editor/plugins/DefaultHtmlValuePlugin.js +10 -3
- package/lib/esm/components/Editor/plugins/DefaultHtmlValuePlugin.js.map +1 -1
- package/lib/esm/components/Feed/Feed.d.ts +16 -2
- package/lib/esm/components/Feed/Feed.d.ts.map +1 -1
- package/lib/esm/components/Feed/Feed.js +141 -97
- package/lib/esm/components/Feed/Feed.js.map +1 -1
- package/lib/esm/components/Feed/Skeleton.d.ts.map +1 -1
- package/lib/esm/components/Feed/Skeleton.js +3 -1
- package/lib/esm/components/Feed/Skeleton.js.map +1 -1
- package/lib/esm/components/FeedObject/Contributors/Contributors.d.ts.map +1 -1
- package/lib/esm/components/FeedObject/Contributors/Contributors.js +12 -15
- package/lib/esm/components/FeedObject/Contributors/Contributors.js.map +1 -1
- package/lib/esm/components/FeedObject/FeedObject.d.ts +10 -0
- package/lib/esm/components/FeedObject/FeedObject.d.ts.map +1 -1
- package/lib/esm/components/FeedObject/FeedObject.js +6 -2
- package/lib/esm/components/FeedObject/FeedObject.js.map +1 -1
- package/lib/esm/components/Notification/Notification.d.ts +10 -0
- package/lib/esm/components/Notification/Notification.d.ts.map +1 -1
- package/lib/esm/components/Notification/Notification.js +11 -3
- package/lib/esm/components/Notification/Notification.js.map +1 -1
- package/lib/esm/shared/ContributionActionsMenu/index.d.ts.map +1 -1
- package/lib/esm/shared/ContributionActionsMenu/index.js +7 -2
- package/lib/esm/shared/ContributionActionsMenu/index.js.map +1 -1
- package/lib/esm/shared/Media/Link/PreviewComponent.js +1 -2
- package/lib/esm/shared/Media/Link/PreviewComponent.js.map +1 -1
- package/lib/esm/shared/VirtualizedScroller/VirtualScrollerChild.d.ts +12 -0
- package/lib/esm/shared/VirtualizedScroller/VirtualScrollerChild.d.ts.map +1 -0
- package/lib/esm/shared/VirtualizedScroller/VirtualScrollerChild.js +16 -0
- package/lib/esm/shared/VirtualizedScroller/VirtualScrollerChild.js.map +1 -0
- package/lib/esm/shared/VirtualizedScroller/VirtualizedScroller.d.ts +2 -0
- package/lib/esm/shared/VirtualizedScroller/VirtualizedScroller.d.ts.map +1 -0
- package/lib/esm/shared/VirtualizedScroller/VirtualizedScroller.js +74 -0
- package/lib/esm/shared/VirtualizedScroller/VirtualizedScroller.js.map +1 -0
- package/lib/esm/shared/VirtualizedScroller/index.d.ts +5 -0
- package/lib/esm/shared/VirtualizedScroller/index.d.ts.map +1 -0
- package/lib/esm/shared/VirtualizedScroller/index.js +5 -0
- package/lib/esm/shared/VirtualizedScroller/index.js.map +1 -0
- package/lib/esm/utils/feed.d.ts +13 -0
- package/lib/esm/utils/feed.d.ts.map +1 -0
- package/lib/esm/utils/feed.js +18 -0
- package/lib/esm/utils/feed.js.map +1 -0
- package/lib/umd/react-ui.js +21 -21
- package/lib/umd/react-ui.js.LICENSE.txt +16 -0
- package/lib/umd/react-ui.js.map +1 -1
- package/package.json +9 -8
- package/lib/cjs/components/Feed/FeedVirtuoso.d.ts +0 -102
- package/lib/cjs/components/Feed/FeedVirtuoso.d.ts.map +0 -1
- package/lib/cjs/components/Feed/FeedVirtuoso.js +0 -311
- package/lib/cjs/components/Feed/FeedVirtuoso.js.map +0 -1
- package/lib/esm/components/Feed/FeedVirtuoso.d.ts +0 -102
- package/lib/esm/components/Feed/FeedVirtuoso.d.ts.map +0 -1
- package/lib/esm/components/Feed/FeedVirtuoso.js +0 -283
- package/lib/esm/components/Feed/FeedVirtuoso.js.map +0 -1
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import React, { useEffect, useMemo, useRef } from 'react';
|
|
13
|
+
import { CacheStrategies, LRUCache } from '@selfcommunity/utils';
|
|
14
|
+
import VirtualScroller from 'virtual-scroller/react';
|
|
15
|
+
export default function VirtualizedScroller(props) {
|
|
16
|
+
const { items = [], ItemComponent, getItemId, initialScrollerState, onScrollerStateChange, onScrollerMount, onScrollerPositionChange, onScrollerSaveState, cacheStrategy = CacheStrategies.CACHE_FIRST, cacheScrollStateKey = 'virtual_scroller_st', cacheScrollerPositionKey = 'virtual_scroller_sp' } = props, rest = __rest(props, ["items", "ItemComponent", "getItemId", "initialScrollerState", "onScrollerStateChange", "onScrollerMount", "onScrollerPositionChange", "onScrollerSaveState", "cacheStrategy", "cacheScrollStateKey", "cacheScrollerPositionKey"]);
|
|
17
|
+
// REF
|
|
18
|
+
const virtualScrollerMountState = useRef(false);
|
|
19
|
+
// HELPERS
|
|
20
|
+
/**
|
|
21
|
+
* Callback on mount the virtual scroller
|
|
22
|
+
*/
|
|
23
|
+
const onVirtualScrollerMount = useMemo(() => () => {
|
|
24
|
+
virtualScrollerMountState.current = true;
|
|
25
|
+
onScrollerMount && onScrollerMount();
|
|
26
|
+
}, []);
|
|
27
|
+
/**
|
|
28
|
+
* Get initial scroll position by cacheScrollerPositionKey
|
|
29
|
+
* Recovered only if cacheStrategy = CACHE_FIRST
|
|
30
|
+
*/
|
|
31
|
+
const getInitialScrollPosition = useMemo(() => () => cacheStrategy === CacheStrategies.CACHE_FIRST && cacheScrollerPositionKey ? LRUCache.get(cacheScrollerPositionKey) : 0, [cacheStrategy, cacheScrollerPositionKey]);
|
|
32
|
+
/**
|
|
33
|
+
* Callback on virtual scroller position change
|
|
34
|
+
*/
|
|
35
|
+
const onScrollPositionChange = useMemo(() => (y) => {
|
|
36
|
+
if (cacheScrollerPositionKey) {
|
|
37
|
+
LRUCache.set(cacheScrollerPositionKey, y);
|
|
38
|
+
}
|
|
39
|
+
onScrollerPositionChange && onScrollerPositionChange(y);
|
|
40
|
+
}, [cacheScrollerPositionKey]);
|
|
41
|
+
/**
|
|
42
|
+
* Callback on virtual scroller state change
|
|
43
|
+
*/
|
|
44
|
+
const onStateScrollChange = useMemo(() => (state) => {
|
|
45
|
+
virtualScrollerState.current = state;
|
|
46
|
+
onScrollerStateChange && onScrollerStateChange(state);
|
|
47
|
+
}, []);
|
|
48
|
+
/**
|
|
49
|
+
* Save virtual scroller state
|
|
50
|
+
*/
|
|
51
|
+
const saveVirtualScrollerState = useMemo(() => (state) => {
|
|
52
|
+
if (cacheScrollerPositionKey) {
|
|
53
|
+
LRUCache.set(cacheScrollStateKey, state);
|
|
54
|
+
}
|
|
55
|
+
onScrollerSaveState && onScrollerSaveState(state);
|
|
56
|
+
}, [cacheScrollStateKey]);
|
|
57
|
+
const readVirtualScrollerState = useMemo(() => () => {
|
|
58
|
+
if (cacheStrategy === CacheStrategies.CACHE_FIRST && cacheScrollStateKey) {
|
|
59
|
+
return LRUCache.get(cacheScrollStateKey);
|
|
60
|
+
}
|
|
61
|
+
return null;
|
|
62
|
+
}, [cacheScrollStateKey, cacheStrategy]);
|
|
63
|
+
// REF
|
|
64
|
+
const virtualScrollerState = useRef(readVirtualScrollerState());
|
|
65
|
+
// EFFECTS
|
|
66
|
+
useEffect(() => {
|
|
67
|
+
return () => {
|
|
68
|
+
// Save state before the component unmounts.
|
|
69
|
+
saveVirtualScrollerState(virtualScrollerState.current);
|
|
70
|
+
};
|
|
71
|
+
});
|
|
72
|
+
return (React.createElement(VirtualScroller, Object.assign({ items: items, itemComponent: ItemComponent, onMount: onVirtualScrollerMount }, (getItemId && { getItemId }), { initialState: initialScrollerState ? initialScrollerState : readVirtualScrollerState(), onStateChange: onStateScrollChange, initialScrollPosition: getInitialScrollPosition(), onScrollPositionChange: onScrollPositionChange }, rest)));
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=VirtualizedScroller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VirtualizedScroller.js","sourceRoot":"","sources":["../../../../src/shared/VirtualizedScroller/VirtualizedScroller.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared/VirtualizedScroller/index.tsx"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,kBAAkB,MAAM,wBAAwB,CAAC;AACxD,eAAe,mBAAmB,CAAC;AACnC,OAAO,EAAC,kBAAkB,EAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared/VirtualizedScroller/index.tsx"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,kBAAkB,MAAM,wBAAwB,CAAC;AACxD,eAAe,mBAAmB,CAAC;AACnC,OAAO,EAAC,kBAAkB,EAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compare widget priority
|
|
3
|
+
* @param w1
|
|
4
|
+
* @param w2
|
|
5
|
+
*/
|
|
6
|
+
export declare const widgetSort: (w1: any, w2: any) => 1 | -1;
|
|
7
|
+
/**
|
|
8
|
+
* Insert widget in the correct position of feed
|
|
9
|
+
* @param value
|
|
10
|
+
* @param w
|
|
11
|
+
*/
|
|
12
|
+
export declare const widgetReducer: (total: any, limit: any) => (value: any, w: any) => any;
|
|
13
|
+
//# sourceMappingURL=feed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../../../src/utils/feed.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,UAAU,8BAAmD,CAAC;AAE3E;;;;GAIG;AACH,eAAO,MAAM,aAAa,yDAKzB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compare widget priority
|
|
3
|
+
* @param w1
|
|
4
|
+
* @param w2
|
|
5
|
+
*/
|
|
6
|
+
export const widgetSort = (w1, w2) => (w1.position > w2.position ? 1 : -1);
|
|
7
|
+
/**
|
|
8
|
+
* Insert widget in the correct position of feed
|
|
9
|
+
* @param value
|
|
10
|
+
* @param w
|
|
11
|
+
*/
|
|
12
|
+
export const widgetReducer = (total, limit) => (value, w) => {
|
|
13
|
+
if (w.position < value.length || total < limit) {
|
|
14
|
+
value.splice(w.position, 0, w);
|
|
15
|
+
}
|
|
16
|
+
return value;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=feed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feed.js","sourceRoot":"","sources":["../../../src/utils/feed.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3E;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;IAC1D,IAAI,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,GAAG,KAAK,EAAE;QAC9C,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KAChC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
|