@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.
Files changed (102) hide show
  1. package/lib/cjs/components/Composer/Composer.d.ts.map +1 -1
  2. package/lib/cjs/components/Composer/Composer.js +3 -2
  3. package/lib/cjs/components/Composer/Composer.js.map +1 -1
  4. package/lib/cjs/components/Editor/plugins/DefaultHtmlValuePlugin.d.ts.map +1 -1
  5. package/lib/cjs/components/Editor/plugins/DefaultHtmlValuePlugin.js +10 -3
  6. package/lib/cjs/components/Editor/plugins/DefaultHtmlValuePlugin.js.map +1 -1
  7. package/lib/cjs/components/Feed/Feed.d.ts +16 -2
  8. package/lib/cjs/components/Feed/Feed.d.ts.map +1 -1
  9. package/lib/cjs/components/Feed/Feed.js +140 -96
  10. package/lib/cjs/components/Feed/Feed.js.map +1 -1
  11. package/lib/cjs/components/Feed/Skeleton.d.ts.map +1 -1
  12. package/lib/cjs/components/Feed/Skeleton.js +3 -1
  13. package/lib/cjs/components/Feed/Skeleton.js.map +1 -1
  14. package/lib/cjs/components/FeedObject/Contributors/Contributors.d.ts.map +1 -1
  15. package/lib/cjs/components/FeedObject/Contributors/Contributors.js +12 -15
  16. package/lib/cjs/components/FeedObject/Contributors/Contributors.js.map +1 -1
  17. package/lib/cjs/components/FeedObject/FeedObject.d.ts +10 -0
  18. package/lib/cjs/components/FeedObject/FeedObject.d.ts.map +1 -1
  19. package/lib/cjs/components/FeedObject/FeedObject.js +6 -2
  20. package/lib/cjs/components/FeedObject/FeedObject.js.map +1 -1
  21. package/lib/cjs/components/Notification/Notification.d.ts +10 -0
  22. package/lib/cjs/components/Notification/Notification.d.ts.map +1 -1
  23. package/lib/cjs/components/Notification/Notification.js +11 -3
  24. package/lib/cjs/components/Notification/Notification.js.map +1 -1
  25. package/lib/cjs/shared/ContributionActionsMenu/index.d.ts.map +1 -1
  26. package/lib/cjs/shared/ContributionActionsMenu/index.js +7 -2
  27. package/lib/cjs/shared/ContributionActionsMenu/index.js.map +1 -1
  28. package/lib/cjs/shared/Media/Link/PreviewComponent.js +1 -2
  29. package/lib/cjs/shared/Media/Link/PreviewComponent.js.map +1 -1
  30. package/lib/cjs/shared/VirtualizedScroller/VirtualScrollerChild.d.ts +12 -0
  31. package/lib/cjs/shared/VirtualizedScroller/VirtualScrollerChild.d.ts.map +1 -0
  32. package/lib/cjs/shared/VirtualizedScroller/VirtualScrollerChild.js +41 -0
  33. package/lib/cjs/shared/VirtualizedScroller/VirtualScrollerChild.js.map +1 -0
  34. package/lib/cjs/shared/VirtualizedScroller/VirtualizedScroller.d.ts +2 -0
  35. package/lib/cjs/shared/VirtualizedScroller/VirtualizedScroller.d.ts.map +1 -0
  36. package/lib/cjs/shared/VirtualizedScroller/VirtualizedScroller.js +103 -0
  37. package/lib/cjs/shared/VirtualizedScroller/VirtualizedScroller.js.map +1 -0
  38. package/lib/cjs/shared/VirtualizedScroller/index.d.ts +5 -0
  39. package/lib/cjs/shared/VirtualizedScroller/index.d.ts.map +1 -0
  40. package/lib/cjs/shared/VirtualizedScroller/index.js +11 -0
  41. package/lib/cjs/shared/VirtualizedScroller/index.js.map +1 -0
  42. package/lib/cjs/utils/feed.d.ts +13 -0
  43. package/lib/cjs/utils/feed.d.ts.map +1 -0
  44. package/lib/cjs/utils/feed.js +23 -0
  45. package/lib/cjs/utils/feed.js.map +1 -0
  46. package/lib/esm/components/Composer/Composer.d.ts.map +1 -1
  47. package/lib/esm/components/Composer/Composer.js +3 -2
  48. package/lib/esm/components/Composer/Composer.js.map +1 -1
  49. package/lib/esm/components/Editor/plugins/DefaultHtmlValuePlugin.d.ts.map +1 -1
  50. package/lib/esm/components/Editor/plugins/DefaultHtmlValuePlugin.js +10 -3
  51. package/lib/esm/components/Editor/plugins/DefaultHtmlValuePlugin.js.map +1 -1
  52. package/lib/esm/components/Feed/Feed.d.ts +16 -2
  53. package/lib/esm/components/Feed/Feed.d.ts.map +1 -1
  54. package/lib/esm/components/Feed/Feed.js +141 -97
  55. package/lib/esm/components/Feed/Feed.js.map +1 -1
  56. package/lib/esm/components/Feed/Skeleton.d.ts.map +1 -1
  57. package/lib/esm/components/Feed/Skeleton.js +3 -1
  58. package/lib/esm/components/Feed/Skeleton.js.map +1 -1
  59. package/lib/esm/components/FeedObject/Contributors/Contributors.d.ts.map +1 -1
  60. package/lib/esm/components/FeedObject/Contributors/Contributors.js +12 -15
  61. package/lib/esm/components/FeedObject/Contributors/Contributors.js.map +1 -1
  62. package/lib/esm/components/FeedObject/FeedObject.d.ts +10 -0
  63. package/lib/esm/components/FeedObject/FeedObject.d.ts.map +1 -1
  64. package/lib/esm/components/FeedObject/FeedObject.js +6 -2
  65. package/lib/esm/components/FeedObject/FeedObject.js.map +1 -1
  66. package/lib/esm/components/Notification/Notification.d.ts +10 -0
  67. package/lib/esm/components/Notification/Notification.d.ts.map +1 -1
  68. package/lib/esm/components/Notification/Notification.js +11 -3
  69. package/lib/esm/components/Notification/Notification.js.map +1 -1
  70. package/lib/esm/shared/ContributionActionsMenu/index.d.ts.map +1 -1
  71. package/lib/esm/shared/ContributionActionsMenu/index.js +7 -2
  72. package/lib/esm/shared/ContributionActionsMenu/index.js.map +1 -1
  73. package/lib/esm/shared/Media/Link/PreviewComponent.js +1 -2
  74. package/lib/esm/shared/Media/Link/PreviewComponent.js.map +1 -1
  75. package/lib/esm/shared/VirtualizedScroller/VirtualScrollerChild.d.ts +12 -0
  76. package/lib/esm/shared/VirtualizedScroller/VirtualScrollerChild.d.ts.map +1 -0
  77. package/lib/esm/shared/VirtualizedScroller/VirtualScrollerChild.js +16 -0
  78. package/lib/esm/shared/VirtualizedScroller/VirtualScrollerChild.js.map +1 -0
  79. package/lib/esm/shared/VirtualizedScroller/VirtualizedScroller.d.ts +2 -0
  80. package/lib/esm/shared/VirtualizedScroller/VirtualizedScroller.d.ts.map +1 -0
  81. package/lib/esm/shared/VirtualizedScroller/VirtualizedScroller.js +74 -0
  82. package/lib/esm/shared/VirtualizedScroller/VirtualizedScroller.js.map +1 -0
  83. package/lib/esm/shared/VirtualizedScroller/index.d.ts +5 -0
  84. package/lib/esm/shared/VirtualizedScroller/index.d.ts.map +1 -0
  85. package/lib/esm/shared/VirtualizedScroller/index.js +5 -0
  86. package/lib/esm/shared/VirtualizedScroller/index.js.map +1 -0
  87. package/lib/esm/utils/feed.d.ts +13 -0
  88. package/lib/esm/utils/feed.d.ts.map +1 -0
  89. package/lib/esm/utils/feed.js +18 -0
  90. package/lib/esm/utils/feed.js.map +1 -0
  91. package/lib/umd/react-ui.js +21 -21
  92. package/lib/umd/react-ui.js.LICENSE.txt +16 -0
  93. package/lib/umd/react-ui.js.map +1 -1
  94. package/package.json +9 -8
  95. package/lib/cjs/components/Feed/FeedVirtuoso.d.ts +0 -102
  96. package/lib/cjs/components/Feed/FeedVirtuoso.d.ts.map +0 -1
  97. package/lib/cjs/components/Feed/FeedVirtuoso.js +0 -311
  98. package/lib/cjs/components/Feed/FeedVirtuoso.js.map +0 -1
  99. package/lib/esm/components/Feed/FeedVirtuoso.d.ts +0 -102
  100. package/lib/esm/components/Feed/FeedVirtuoso.d.ts.map +0 -1
  101. package/lib/esm/components/Feed/FeedVirtuoso.js +0 -283
  102. package/lib/esm/components/Feed/FeedVirtuoso.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@selfcommunity/react-ui",
3
- "version": "0.1.19-alpha.3",
3
+ "version": "0.2.0",
4
4
  "description": "React UI Components to integrate a Community created with SelfCommunity.",
5
5
  "author": "SelfCommunity <https://www.selfcommunity.com>",
6
6
  "homepage": "https://www.selfcommunity.com",
@@ -67,11 +67,11 @@
67
67
  "@rpldy/upload-drop-zone": "^0.18.0",
68
68
  "@rpldy/upload-preview": "^0.18.0",
69
69
  "@rpldy/uploady": "^0.18.0",
70
- "@selfcommunity/api-services": "^0.1.19-alpha.0",
71
- "@selfcommunity/react-core": "^0.1.19-alpha.2",
72
- "@selfcommunity/react-i18n": "^0.1.19-alpha.0",
73
- "@selfcommunity/types": "^0.1.19-alpha.0",
74
- "@selfcommunity/utils": "^0.1.19-alpha.0",
70
+ "@selfcommunity/api-services": "^0.1.19",
71
+ "@selfcommunity/react-core": "^0.1.19",
72
+ "@selfcommunity/react-i18n": "^0.1.19",
73
+ "@selfcommunity/types": "^0.1.19",
74
+ "@selfcommunity/utils": "^0.1.19",
75
75
  "@types/classnames": "^2.2.11",
76
76
  "autosuggest-highlight": "^3.1.1",
77
77
  "classnames": "^2.2.6",
@@ -97,7 +97,8 @@
97
97
  "seamless-scroll-polyfill": "^2.1.8",
98
98
  "sortablejs": "^1.14.0",
99
99
  "spark-md5": "~3.0.2",
100
- "use-deep-compare-effect": "^1.8.1"
100
+ "use-deep-compare-effect": "^1.8.1",
101
+ "virtual-scroller": "^1.9.1"
101
102
  },
102
103
  "devDependencies": {
103
104
  "@babel/cli": "^7.12.13",
@@ -157,5 +158,5 @@
157
158
  "bugs": {
158
159
  "url": "https://github.com/selfcommunity/community-js/issues"
159
160
  },
160
- "gitHead": "6ef242761673cdf8bb81c39e5962d1f186afc7a8"
161
+ "gitHead": "987392f4858805e4e9d65eedc87961531ad974d9"
161
162
  }
@@ -1,102 +0,0 @@
1
- import React, { ReactNode } from 'react';
2
- import { SCFeedWidgetType } from '../../types/feed';
3
- import { CustomAdvProps } from '../CustomAdv';
4
- import { SCUserType } from '@selfcommunity/types';
5
- import { EndpointType } from '@selfcommunity/api-services';
6
- import { CacheStrategies } from '@selfcommunity/utils';
7
- export interface FeedSidebarProps {
8
- top: string | number;
9
- bottomBoundary: string | number;
10
- }
11
- export declare type FeedRef = {
12
- addFeedData: (obj: any) => void;
13
- refresh: () => void;
14
- };
15
- export interface FeedProps {
16
- /**
17
- * Id of the feed object
18
- * @default 'feed'
19
- */
20
- id?: string;
21
- /**
22
- * Overrides or extends the styles applied to the component.
23
- * @default null
24
- */
25
- className?: string;
26
- /**
27
- * Feed API Endpoint
28
- */
29
- endpoint: EndpointType;
30
- /**
31
- * Feed API Query Params
32
- * @default [{'limit': 5}]
33
- */
34
- endpointQueryParams?: Record<string, string | number>;
35
- /**
36
- * End message, rendered when no more feed item can be displayed
37
- * @default <FormattedMessage id="ui.feed.noOtherFeedObject" defaultMessage="ui.feed.noOtherFeedObject" />
38
- */
39
- endMessage?: ReactNode;
40
- /**
41
- * Refresh message, rendered when no more feed item can be displayed
42
- * @default <FormattedMessage id="ui.feed.refreshRelease" defaultMessage="ui.feed.refreshRelease" />
43
- */
44
- refreshMessage?: ReactNode;
45
- /**
46
- * Widgets to insert into the feed
47
- * @default empty array
48
- */
49
- widgets?: SCFeedWidgetType[];
50
- /**
51
- * Component used to render single feed item retrieved by the endpoint
52
- */
53
- ItemComponent: React.ElementType;
54
- /**
55
- * Function used to convert the single result returned by the Endpoint into the props necessary to render the ItemComponent
56
- */
57
- itemPropsGenerator: (scUser: SCUserType, item: any) => any;
58
- /**
59
- * Function used to generate an id from the single result returned by the Endpoint
60
- */
61
- itemIdGenerator: (item: any) => any;
62
- /**
63
- * Props to spread to single feed item
64
- * @default empty object
65
- */
66
- ItemProps?: any;
67
- /**
68
- * Skeleton used to render loading effect during fetch
69
- */
70
- ItemSkeleton: React.ElementType;
71
- /**
72
- * Props to spread to single feed item skeleton
73
- * @default empty object
74
- */
75
- ItemSkeletonProps?: any;
76
- /**
77
- * Callback invoked whenever data is loaded during paging
78
- */
79
- onFetchData?: (data: any) => any;
80
- /**
81
- * Authenticated or not
82
- */
83
- requireAuthentication?: boolean;
84
- /**
85
- * Caching strategies
86
- * @default CacheStrategies.CACHE_FIRST
87
- */
88
- cacheStrategy?: CacheStrategies;
89
- /**
90
- * Props to spread to single feed object
91
- * @default {top: 0, bottomBoundary: `#${id}`}
92
- */
93
- FeedSidebarProps?: FeedSidebarProps;
94
- /**
95
- * Props to spread to single custom adv element (this props can be used only if Custom Adv are enabled)
96
- * @default {}
97
- */
98
- CustomAdvProps?: CustomAdvProps;
99
- }
100
- declare const _default: React.ForwardRefExoticComponent<FeedProps & React.RefAttributes<FeedRef>>;
101
- export default _default;
102
- //# sourceMappingURL=FeedVirtuoso.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FeedVirtuoso.d.ts","sourceRoot":"","sources":["../../../../src/components/Feed/FeedVirtuoso.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAGZ,SAAS,EAOV,MAAM,OAAO,CAAC;AAKf,OAAO,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAElD,OAAkB,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AACvD,OAAO,EAAsC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAC,eAAe,EAAW,MAAM,sBAAsB,CAAC;AAkD/D,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC;CACjC;AAED,oBAAY,OAAO,GAAG;IACpB,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,EAAE,YAAY,CAAC;IAEvB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IAEtD;;;OAGG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IAEvB;;;OAGG;IACH,cAAc,CAAC,EAAE,SAAS,CAAC;IAE3B;;;OAGG;IACH,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAE7B;;OAEG;IACH,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC;IAEjC;;OAEG;IACH,kBAAkB,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,KAAA,KAAK,GAAG,CAAC;IAEtD;;OAEG;IACH,eAAe,EAAE,CAAC,IAAI,KAAA,KAAK,GAAG,CAAC;IAE/B;;;OAGG;IACH,SAAS,CAAC,EAAE,GAAG,CAAC;IAEhB;;OAEG;IACH,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC;IAEhC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,GAAG,CAAC;IAExB;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,KAAA,KAAK,GAAG,CAAC;IAE5B;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;OAGG;IACH,aAAa,CAAC,EAAE,eAAe,CAAC;IAEhC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;;AAkWD,wBAAgC"}
@@ -1,311 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- const react_1 = __importStar(require("react"));
30
- const styles_1 = require("@mui/material/styles");
31
- const material_1 = require("@mui/material");
32
- const react_intl_1 = require("react-intl");
33
- const Skeleton_1 = require("../Skeleton");
34
- const react_stickynode_1 = __importDefault(require("react-stickynode"));
35
- const CustomAdv_1 = __importDefault(require("../CustomAdv"));
36
- const types_1 = require("@selfcommunity/types");
37
- const utils_1 = require("@selfcommunity/utils");
38
- const react_core_1 = require("@selfcommunity/react-core");
39
- const classnames_1 = __importDefault(require("classnames"));
40
- const pubsub_js_1 = __importDefault(require("pubsub-js"));
41
- const system_1 = require("@mui/system");
42
- const react_virtuoso_1 = require("react-virtuoso");
43
- const Widget_1 = __importDefault(require("../Widget"));
44
- const react_intersection_observer_1 = require("react-intersection-observer");
45
- const seamless_scroll_polyfill_1 = require("seamless-scroll-polyfill");
46
- const PREFIX = 'SCFeed';
47
- const classes = {
48
- root: `${PREFIX}-root`,
49
- left: `${PREFIX}-left`,
50
- right: `${PREFIX}-right`,
51
- end: `${PREFIX}-end`,
52
- refresh: `${PREFIX}-refresh`
53
- };
54
- const Root = (0, styles_1.styled)(material_1.Grid, {
55
- name: PREFIX,
56
- slot: 'Root',
57
- overridesResolver: (props, styles) => styles.root
58
- })(({ theme }) => ({
59
- marginTop: theme.spacing(-2),
60
- [`& .${classes.left}`]: {
61
- padding: '0 2px 0 2px',
62
- minHeight: 800,
63
- [theme.breakpoints.down('md')]: {
64
- '& > .SCWidget-root, & > .SCCustomAdv-root': {
65
- maxWidth: 700,
66
- marginLeft: 'auto',
67
- marginRight: 'auto'
68
- }
69
- }
70
- },
71
- [`& .${classes.end}, & .${classes.refresh}`]: {
72
- textAlign: 'center'
73
- }
74
- }));
75
- const PREFERENCES = [react_core_1.SCPreferences.ADVERTISING_CUSTOM_ADV_ENABLED, react_core_1.SCPreferences.ADVERTISING_CUSTOM_ADV_ONLY_FOR_ANONYMOUS_USERS_ENABLED];
76
- /**
77
- * A wrapper component for children of
78
- * VirtualScroll. Computes inline style and
79
- * handles whether to display props.children.
80
- */
81
- const VirtualScrollChild = ({ cacheKey, index, cacheValue, cacheStrategy, restorationRef, children }) => {
82
- const [ref, inView] = (0, react_intersection_observer_1.useInView)({ threshold: 0.5 });
83
- (0, react_1.useEffect)(() => {
84
- /* const _restoreItemKey = SCCache.getFeedSPCacheKey(cacheKey);
85
- if (cacheStrategy === CacheStrategies.CACHE_FIRST && LRUCache.hasKey(_restoreItemKey)) {
86
- const _cachevalue = LRUCache.get(_restoreItemKey);
87
- if (_cachevalue === cacheValue) {
88
- console.log('Restore from cache', LRUCache.get(_restoreItemKey));
89
- const element = document.getElementById(LRUCache.get(_restoreItemKey));
90
- if (element) {
91
- window.requestAnimationFrame(() => {
92
- scrollIntoView(element, {block: 'center', inline: 'center'});
93
- });
94
- }
95
- }*/
96
- // restorationRef is only provided to the ProductCard that needs to be scrolled to
97
- if (!restorationRef || cacheStrategy !== utils_1.CacheStrategies.CACHE_FIRST) {
98
- return;
99
- }
100
- console.log('Restore: ', restorationRef.current);
101
- const element = document.getElementById(restorationRef.current);
102
- console.log('Element', element);
103
- if (element) {
104
- console.log('Perform scroll: ');
105
- console.log(element);
106
- (0, seamless_scroll_polyfill_1.scrollIntoView)(element, { block: 'end', inline: 'end' });
107
- restorationRef.current = null;
108
- /* window.requestAnimationFrame(() => {
109
- scrollIntoView(element, {block: 'center'});
110
- restorationRef.current = null;
111
- }); */
112
- }
113
- }, []);
114
- (0, react_1.useEffect)(() => {
115
- if (inView) {
116
- console.log('Store cache value ', cacheValue);
117
- utils_1.LRUCache.set(react_core_1.SCCache.getFeedSPCacheKey(cacheKey), cacheValue);
118
- }
119
- }, [inView]);
120
- return (react_1.default.createElement("div", { ref: ref, id: cacheValue }, children));
121
- };
122
- /**
123
- * > API documentation for the Community-JS Feed component. Learn about the available props and the CSS API.
124
-
125
- #### Import
126
-
127
- ```jsx
128
- import {Feed} from '@selfcommunity/react-ui';
129
- ```
130
-
131
- #### Component Name
132
-
133
- The name `SCFeed` can be used when providing style overrides in the theme.
134
-
135
- #### CSS
136
-
137
- |Rule Name|Global class|Description|
138
- |---|---|---|
139
- |root|.SCFeed-root|Styles applied to the root element.|
140
- |left|.SCFeed-left|Styles applied to the left element.|
141
- |right|.SCFeed-right|Styles applied to the right element.|
142
- |end|.SCFeed-end|Styles applied to the end element.|
143
- |refresh|.SCFeed-refresh|Styles applied to the refresh section.|
144
- *
145
- * @param inProps
146
- */
147
- const Feed = (inProps, ref) => {
148
- // PROPS
149
- const props = (0, system_1.useThemeProps)({
150
- props: inProps,
151
- name: PREFIX
152
- });
153
- const { id = 'feed', className, endpoint, endpointQueryParams = { limit: 5, offset: 0 }, endMessage = react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.feed.noOtherFeedObject", defaultMessage: "ui.feed.noOtherFeedObject" }), refreshMessage = react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.feed.refreshRelease", defaultMessage: "ui.feed.refreshRelease" }), widgets = [], ItemComponent, itemPropsGenerator, itemIdGenerator, ItemProps = {}, ItemSkeleton, ItemSkeletonProps = {}, onFetchData, FeedSidebarProps = { top: 0, bottomBoundary: `#${id}` }, CustomAdvProps = {}, requireAuthentication = false, cacheStrategy = utils_1.CacheStrategies.NETWORK_ONLY } = props;
154
- // STATE
155
- const feedDataObject = (0, react_core_1.useSCFetchFeed)({
156
- id,
157
- endpoint,
158
- endpointQueryParams,
159
- onChangePage: onFetchData,
160
- cacheStrategy
161
- });
162
- console.log(feedDataObject);
163
- const [headData, setHeadData] = (0, react_1.useState)([]);
164
- const restorationRef = react_1.default.useRef(cacheStrategy === utils_1.CacheStrategies.CACHE_FIRST ? utils_1.LRUCache.get(react_core_1.SCCache.getFeedSPCacheKey(id)) : null);
165
- // CONTEXT
166
- const scPreferences = (0, react_core_1.useSCPreferences)();
167
- const scUserContext = (0, react_1.useContext)(react_core_1.SCUserContext);
168
- // CONST
169
- const authUserId = scUserContext.user ? scUserContext.user.id : null;
170
- // REFS
171
- const virtuosoRef = (0, react_1.useRef)(null);
172
- const refreshSubscription = (0, react_1.useRef)(null);
173
- /**
174
- * Compute preferences
175
- */
176
- const preferences = (0, react_1.useMemo)(() => {
177
- const _preferences = {};
178
- PREFERENCES.map((p) => (_preferences[p] = p in scPreferences.preferences ? scPreferences.preferences[p].value : null));
179
- return _preferences;
180
- }, [scPreferences.preferences]);
181
- /**
182
- * Compute Widgets
183
- */
184
- const _widgets = (0, react_1.useMemo)(() => {
185
- if (preferences[react_core_1.SCPreferences.ADVERTISING_CUSTOM_ADV_ENABLED] &&
186
- ((preferences[react_core_1.SCPreferences.ADVERTISING_CUSTOM_ADV_ONLY_FOR_ANONYMOUS_USERS_ENABLED] && scUserContext.user === null) ||
187
- !preferences[react_core_1.SCPreferences.ADVERTISING_CUSTOM_ADV_ONLY_FOR_ANONYMOUS_USERS_ENABLED])) {
188
- return [
189
- ...widgets,
190
- {
191
- type: 'widget',
192
- component: CustomAdv_1.default,
193
- componentProps: Object.assign({ position: types_1.SCCustomAdvPosition.POSITION_FEED_SIDEBAR }, CustomAdvProps),
194
- column: 'right',
195
- position: 0
196
- },
197
- ...Array.from({ length: feedDataObject.feedData.length / 10 }, (_, i) => i * 10).map((position) => {
198
- return {
199
- type: 'widget',
200
- component: CustomAdv_1.default,
201
- componentProps: Object.assign({ position: types_1.SCCustomAdvPosition.POSITION_FEED }, CustomAdvProps),
202
- column: 'left',
203
- position
204
- };
205
- })
206
- ];
207
- }
208
- return [...widgets];
209
- }, [widgets, feedDataObject.feedData, preferences]);
210
- const refresh = () => {
211
- console.log('REFRESHHHHH');
212
- feedDataObject.reload();
213
- };
214
- const subscriber = (msg, data) => {
215
- if (data.refresh) {
216
- refresh();
217
- }
218
- };
219
- // EFFECTS
220
- (0, react_1.useEffect)(() => {
221
- if ((requireAuthentication && authUserId !== null) || !requireAuthentication) {
222
- if (cacheStrategy !== utils_1.CacheStrategies.CACHE_FIRST) {
223
- feedDataObject.getNextPage();
224
- }
225
- }
226
- }, [authUserId]);
227
- (0, react_1.useEffect)(() => {
228
- refreshSubscription.current = pubsub_js_1.default.subscribe(id, subscriber);
229
- return () => {
230
- pubsub_js_1.default.unsubscribe(refreshSubscription.current);
231
- };
232
- }, []);
233
- // EXPOSED METHODS
234
- (0, react_1.useImperativeHandle)(ref, () => ({
235
- addFeedData: (data) => {
236
- setHeadData(data);
237
- },
238
- refresh: () => {
239
- refresh();
240
- }
241
- }));
242
- // RENDER
243
- const theme = (0, styles_1.useTheme)();
244
- const oneColLayout = (0, material_1.useMediaQuery)(theme.breakpoints.down('md'));
245
- /* const getData = useMemo(
246
- () => (): FeedData => {
247
- const widgetSort = (w1, w2) => (w1.position > w2.position ? 1 : -1);
248
- const widgetReducer = (value, w) => {
249
- value.splice(w.position, 0, w);
250
- return value;
251
- };
252
- if (oneColLayout) {
253
- return {
254
- left: _widgets
255
- .map((w) => Object.assign({}, w, {position: w.position * (w.column === 'right' ? 5 : 1)}))
256
- .sort(widgetSort)
257
- .reduce(widgetReducer, [...headData, ...feedDataObject.feedData]),
258
- right: []
259
- };
260
- } else {
261
- return {
262
- left: _widgets
263
- .filter((w) => w.column === 'left')
264
- .sort(widgetSort)
265
- .reduce(widgetReducer, [...headData, ...feedDataObject.feedData]),
266
- right: _widgets.filter((w) => w.column === 'right').sort(widgetSort)
267
- };
268
- }
269
- },
270
- [feedDataObject.isLoadingNext, oneColLayout, feedDataObject.feedData, _widgets, headData]
271
- );
272
-
273
- const data = getData(); */
274
- const data = { left: feedDataObject.feedData, right: [] };
275
- const InnerItem = (0, react_1.useMemo)(() => ({ index, d }) => {
276
- return (react_1.default.createElement(VirtualScrollChild, { index: index, cacheKey: id, cacheValue: d.type === 'widget' ? `widget_left_${index}` : `item_${itemIdGenerator(d)}`, restorationRef: restorationRef, cacheStrategy: cacheStrategy }, d.type === 'widget' ? (react_1.default.createElement(d.component, Object.assign({ key: `widget_left_${index}` }, d.componentProps, (d.publishEvents && { publicationChannel: id })))) : (react_1.default.createElement(ItemComponent, Object.assign({ key: `item_${itemIdGenerator(d)}` }, itemPropsGenerator(scUserContext.user, d), ItemProps, { sx: { width: '100%' } })))));
277
- }, []);
278
- const itemContent = (i, d) => {
279
- return react_1.default.createElement(InnerItem, { index: i, d: d });
280
- };
281
- const endReached = () => {
282
- if (feedDataObject.feedData.length > 0) {
283
- console.log('feedDataObject.getNextPage');
284
- feedDataObject.getNextPage();
285
- }
286
- };
287
- const startReached = () => {
288
- if (feedDataObject.feedData.length > 0) {
289
- console.log('feedDataObject.getPreviousPage');
290
- feedDataObject.getPreviousPage();
291
- }
292
- };
293
- return (react_1.default.createElement(Root, { container: true, spacing: 2, id: id, className: (0, classnames_1.default)(classes.root, className) },
294
- react_1.default.createElement(material_1.Grid, { item: true, xs: 12, md: 7 },
295
- react_1.default.createElement("div", { className: classes.left, style: { overflow: 'visible' } }, feedDataObject.isLoadingNext && !data.left.length ? (react_1.default.createElement(react_1.default.Fragment, null, [...Array(3)].map((v, i) => (react_1.default.createElement(ItemSkeleton, Object.assign({ key: i }, ItemSkeletonProps)))))) : (react_1.default.createElement(react_virtuoso_1.Virtuoso, Object.assign({ style: { height: '100%' }, initialScrollTop: 0, useWindowScroll: true, ref: virtuosoRef, overscan: { main: 5, reverse: 5 }, totalCount: data.left.length, data: data.left, endReached: endReached,
296
- // startReached={startReached}
297
- itemContent: itemContent }, (cacheStrategy === utils_1.CacheStrategies.CACHE_FIRST
298
- ? {
299
- initialItemCount: data.left.length
300
- }
301
- : {}), { components: {
302
- Footer: () => feedDataObject.next ? (react_1.default.createElement(ItemSkeleton, Object.assign({}, ItemSkeletonProps))) : (react_1.default.createElement(Widget_1.default, { className: classes.end },
303
- react_1.default.createElement(material_1.CardContent, null, endMessage)))
304
- } }))))),
305
- data.right.length > 0 && (react_1.default.createElement(material_1.Hidden, { smDown: true },
306
- react_1.default.createElement(material_1.Grid, { item: true, xs: 12, md: 5 },
307
- react_1.default.createElement(react_stickynode_1.default, Object.assign({ enabled: true, className: classes.right }, FeedSidebarProps),
308
- react_1.default.createElement(react_1.default.Suspense, { fallback: react_1.default.createElement(Skeleton_1.GenericSkeleton, null) }, data.right.map((d, i) => (react_1.default.createElement(d.component, Object.assign({ key: i }, d.componentProps)))))))))));
309
- };
310
- exports.default = (0, react_1.forwardRef)(Feed);
311
- //# sourceMappingURL=FeedVirtuoso.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FeedVirtuoso.js","sourceRoot":"","sources":["../../../../src/components/Feed/FeedVirtuoso.tsx"],"names":[],"mappings":"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"}
@@ -1,102 +0,0 @@
1
- import React, { ReactNode } from 'react';
2
- import { SCFeedWidgetType } from '../../types/feed';
3
- import { CustomAdvProps } from '../CustomAdv';
4
- import { SCUserType } from '@selfcommunity/types';
5
- import { EndpointType } from '@selfcommunity/api-services';
6
- import { CacheStrategies } from '@selfcommunity/utils';
7
- export interface FeedSidebarProps {
8
- top: string | number;
9
- bottomBoundary: string | number;
10
- }
11
- export declare type FeedRef = {
12
- addFeedData: (obj: any) => void;
13
- refresh: () => void;
14
- };
15
- export interface FeedProps {
16
- /**
17
- * Id of the feed object
18
- * @default 'feed'
19
- */
20
- id?: string;
21
- /**
22
- * Overrides or extends the styles applied to the component.
23
- * @default null
24
- */
25
- className?: string;
26
- /**
27
- * Feed API Endpoint
28
- */
29
- endpoint: EndpointType;
30
- /**
31
- * Feed API Query Params
32
- * @default [{'limit': 5}]
33
- */
34
- endpointQueryParams?: Record<string, string | number>;
35
- /**
36
- * End message, rendered when no more feed item can be displayed
37
- * @default <FormattedMessage id="ui.feed.noOtherFeedObject" defaultMessage="ui.feed.noOtherFeedObject" />
38
- */
39
- endMessage?: ReactNode;
40
- /**
41
- * Refresh message, rendered when no more feed item can be displayed
42
- * @default <FormattedMessage id="ui.feed.refreshRelease" defaultMessage="ui.feed.refreshRelease" />
43
- */
44
- refreshMessage?: ReactNode;
45
- /**
46
- * Widgets to insert into the feed
47
- * @default empty array
48
- */
49
- widgets?: SCFeedWidgetType[];
50
- /**
51
- * Component used to render single feed item retrieved by the endpoint
52
- */
53
- ItemComponent: React.ElementType;
54
- /**
55
- * Function used to convert the single result returned by the Endpoint into the props necessary to render the ItemComponent
56
- */
57
- itemPropsGenerator: (scUser: SCUserType, item: any) => any;
58
- /**
59
- * Function used to generate an id from the single result returned by the Endpoint
60
- */
61
- itemIdGenerator: (item: any) => any;
62
- /**
63
- * Props to spread to single feed item
64
- * @default empty object
65
- */
66
- ItemProps?: any;
67
- /**
68
- * Skeleton used to render loading effect during fetch
69
- */
70
- ItemSkeleton: React.ElementType;
71
- /**
72
- * Props to spread to single feed item skeleton
73
- * @default empty object
74
- */
75
- ItemSkeletonProps?: any;
76
- /**
77
- * Callback invoked whenever data is loaded during paging
78
- */
79
- onFetchData?: (data: any) => any;
80
- /**
81
- * Authenticated or not
82
- */
83
- requireAuthentication?: boolean;
84
- /**
85
- * Caching strategies
86
- * @default CacheStrategies.CACHE_FIRST
87
- */
88
- cacheStrategy?: CacheStrategies;
89
- /**
90
- * Props to spread to single feed object
91
- * @default {top: 0, bottomBoundary: `#${id}`}
92
- */
93
- FeedSidebarProps?: FeedSidebarProps;
94
- /**
95
- * Props to spread to single custom adv element (this props can be used only if Custom Adv are enabled)
96
- * @default {}
97
- */
98
- CustomAdvProps?: CustomAdvProps;
99
- }
100
- declare const _default: React.ForwardRefExoticComponent<FeedProps & React.RefAttributes<FeedRef>>;
101
- export default _default;
102
- //# sourceMappingURL=FeedVirtuoso.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FeedVirtuoso.d.ts","sourceRoot":"","sources":["../../../../src/components/Feed/FeedVirtuoso.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAGZ,SAAS,EAOV,MAAM,OAAO,CAAC;AAKf,OAAO,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAElD,OAAkB,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AACvD,OAAO,EAAsC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAC,eAAe,EAAW,MAAM,sBAAsB,CAAC;AAkD/D,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC;CACjC;AAED,oBAAY,OAAO,GAAG;IACpB,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,EAAE,YAAY,CAAC;IAEvB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IAEtD;;;OAGG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IAEvB;;;OAGG;IACH,cAAc,CAAC,EAAE,SAAS,CAAC;IAE3B;;;OAGG;IACH,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAE7B;;OAEG;IACH,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC;IAEjC;;OAEG;IACH,kBAAkB,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,KAAA,KAAK,GAAG,CAAC;IAEtD;;OAEG;IACH,eAAe,EAAE,CAAC,IAAI,KAAA,KAAK,GAAG,CAAC;IAE/B;;;OAGG;IACH,SAAS,CAAC,EAAE,GAAG,CAAC;IAEhB;;OAEG;IACH,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC;IAEhC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,GAAG,CAAC;IAExB;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,KAAA,KAAK,GAAG,CAAC;IAE5B;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;OAGG;IACH,aAAa,CAAC,EAAE,eAAe,CAAC;IAEhC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;;AAkWD,wBAAgC"}