@selfcommunity/react-ui 0.1.19-alpha.2 → 0.2.0-alpha.1

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 (118) 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 +141 -84
  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 +1 -1
  15. package/lib/cjs/components/FeedObject/Contributors/Contributors.d.ts.map +1 -1
  16. package/lib/cjs/components/FeedObject/Contributors/Contributors.js +13 -16
  17. package/lib/cjs/components/FeedObject/Contributors/Contributors.js.map +1 -1
  18. package/lib/cjs/components/FeedObject/Contributors/Skeleton.d.ts +34 -0
  19. package/lib/cjs/components/FeedObject/Contributors/Skeleton.d.ts.map +1 -0
  20. package/lib/cjs/components/FeedObject/Contributors/Skeleton.js +66 -0
  21. package/lib/cjs/components/FeedObject/Contributors/Skeleton.js.map +1 -0
  22. package/lib/cjs/components/FeedObject/FeedObject.d.ts +10 -0
  23. package/lib/cjs/components/FeedObject/FeedObject.d.ts.map +1 -1
  24. package/lib/cjs/components/FeedObject/FeedObject.js +11 -11
  25. package/lib/cjs/components/FeedObject/FeedObject.js.map +1 -1
  26. package/lib/cjs/components/Notification/Notification.d.ts +10 -0
  27. package/lib/cjs/components/Notification/Notification.d.ts.map +1 -1
  28. package/lib/cjs/components/Notification/Notification.js +11 -3
  29. package/lib/cjs/components/Notification/Notification.js.map +1 -1
  30. package/lib/cjs/shared/ContributionActionsMenu/index.d.ts.map +1 -1
  31. package/lib/cjs/shared/ContributionActionsMenu/index.js +7 -2
  32. package/lib/cjs/shared/ContributionActionsMenu/index.js.map +1 -1
  33. package/lib/cjs/shared/Media/Image/PreviewComponent.d.ts.map +1 -1
  34. package/lib/cjs/shared/Media/Image/PreviewComponent.js +5 -10
  35. package/lib/cjs/shared/Media/Image/PreviewComponent.js.map +1 -1
  36. package/lib/cjs/shared/Media/Link/PreviewComponent.js +1 -2
  37. package/lib/cjs/shared/Media/Link/PreviewComponent.js.map +1 -1
  38. package/lib/cjs/shared/VirtualizedScroller/VirtualScrollerChild.d.ts +12 -0
  39. package/lib/cjs/shared/VirtualizedScroller/VirtualScrollerChild.d.ts.map +1 -0
  40. package/lib/cjs/shared/VirtualizedScroller/VirtualScrollerChild.js +41 -0
  41. package/lib/cjs/shared/VirtualizedScroller/VirtualScrollerChild.js.map +1 -0
  42. package/lib/cjs/shared/VirtualizedScroller/VirtualizedScroller.d.ts +2 -0
  43. package/lib/cjs/shared/VirtualizedScroller/VirtualizedScroller.d.ts.map +1 -0
  44. package/lib/cjs/shared/VirtualizedScroller/VirtualizedScroller.js +103 -0
  45. package/lib/cjs/shared/VirtualizedScroller/VirtualizedScroller.js.map +1 -0
  46. package/lib/cjs/shared/VirtualizedScroller/index.d.ts +5 -0
  47. package/lib/cjs/shared/VirtualizedScroller/index.d.ts.map +1 -0
  48. package/lib/cjs/shared/VirtualizedScroller/index.js +11 -0
  49. package/lib/cjs/shared/VirtualizedScroller/index.js.map +1 -0
  50. package/lib/cjs/utils/feed.d.ts +13 -0
  51. package/lib/cjs/utils/feed.d.ts.map +1 -0
  52. package/lib/cjs/utils/feed.js +23 -0
  53. package/lib/cjs/utils/feed.js.map +1 -0
  54. package/lib/esm/components/Composer/Composer.d.ts.map +1 -1
  55. package/lib/esm/components/Composer/Composer.js +3 -2
  56. package/lib/esm/components/Composer/Composer.js.map +1 -1
  57. package/lib/esm/components/Editor/plugins/DefaultHtmlValuePlugin.d.ts.map +1 -1
  58. package/lib/esm/components/Editor/plugins/DefaultHtmlValuePlugin.js +10 -3
  59. package/lib/esm/components/Editor/plugins/DefaultHtmlValuePlugin.js.map +1 -1
  60. package/lib/esm/components/Feed/Feed.d.ts +16 -2
  61. package/lib/esm/components/Feed/Feed.d.ts.map +1 -1
  62. package/lib/esm/components/Feed/Feed.js +142 -85
  63. package/lib/esm/components/Feed/Feed.js.map +1 -1
  64. package/lib/esm/components/Feed/Skeleton.d.ts.map +1 -1
  65. package/lib/esm/components/Feed/Skeleton.js +3 -1
  66. package/lib/esm/components/Feed/Skeleton.js.map +1 -1
  67. package/lib/esm/components/FeedObject/Contributors/Contributors.d.ts +1 -1
  68. package/lib/esm/components/FeedObject/Contributors/Contributors.d.ts.map +1 -1
  69. package/lib/esm/components/FeedObject/Contributors/Contributors.js +14 -17
  70. package/lib/esm/components/FeedObject/Contributors/Contributors.js.map +1 -1
  71. package/lib/esm/components/FeedObject/Contributors/Skeleton.d.ts +34 -0
  72. package/lib/esm/components/FeedObject/Contributors/Skeleton.d.ts.map +1 -0
  73. package/lib/esm/components/FeedObject/Contributors/Skeleton.js +60 -0
  74. package/lib/esm/components/FeedObject/Contributors/Skeleton.js.map +1 -0
  75. package/lib/esm/components/FeedObject/FeedObject.d.ts +10 -0
  76. package/lib/esm/components/FeedObject/FeedObject.d.ts.map +1 -1
  77. package/lib/esm/components/FeedObject/FeedObject.js +11 -11
  78. package/lib/esm/components/FeedObject/FeedObject.js.map +1 -1
  79. package/lib/esm/components/Notification/Notification.d.ts +10 -0
  80. package/lib/esm/components/Notification/Notification.d.ts.map +1 -1
  81. package/lib/esm/components/Notification/Notification.js +11 -3
  82. package/lib/esm/components/Notification/Notification.js.map +1 -1
  83. package/lib/esm/shared/ContributionActionsMenu/index.d.ts.map +1 -1
  84. package/lib/esm/shared/ContributionActionsMenu/index.js +7 -2
  85. package/lib/esm/shared/ContributionActionsMenu/index.js.map +1 -1
  86. package/lib/esm/shared/Media/Image/PreviewComponent.d.ts.map +1 -1
  87. package/lib/esm/shared/Media/Image/PreviewComponent.js +5 -10
  88. package/lib/esm/shared/Media/Image/PreviewComponent.js.map +1 -1
  89. package/lib/esm/shared/Media/Link/PreviewComponent.js +1 -2
  90. package/lib/esm/shared/Media/Link/PreviewComponent.js.map +1 -1
  91. package/lib/esm/shared/VirtualizedScroller/VirtualScrollerChild.d.ts +12 -0
  92. package/lib/esm/shared/VirtualizedScroller/VirtualScrollerChild.d.ts.map +1 -0
  93. package/lib/esm/shared/VirtualizedScroller/VirtualScrollerChild.js +16 -0
  94. package/lib/esm/shared/VirtualizedScroller/VirtualScrollerChild.js.map +1 -0
  95. package/lib/esm/shared/VirtualizedScroller/VirtualizedScroller.d.ts +2 -0
  96. package/lib/esm/shared/VirtualizedScroller/VirtualizedScroller.d.ts.map +1 -0
  97. package/lib/esm/shared/VirtualizedScroller/VirtualizedScroller.js +74 -0
  98. package/lib/esm/shared/VirtualizedScroller/VirtualizedScroller.js.map +1 -0
  99. package/lib/esm/shared/VirtualizedScroller/index.d.ts +5 -0
  100. package/lib/esm/shared/VirtualizedScroller/index.d.ts.map +1 -0
  101. package/lib/esm/shared/VirtualizedScroller/index.js +5 -0
  102. package/lib/esm/shared/VirtualizedScroller/index.js.map +1 -0
  103. package/lib/esm/utils/feed.d.ts +13 -0
  104. package/lib/esm/utils/feed.d.ts.map +1 -0
  105. package/lib/esm/utils/feed.js +18 -0
  106. package/lib/esm/utils/feed.js.map +1 -0
  107. package/lib/umd/react-ui.js +21 -21
  108. package/lib/umd/react-ui.js.LICENSE.txt +16 -0
  109. package/lib/umd/react-ui.js.map +1 -1
  110. package/package.json +9 -8
  111. package/lib/cjs/components/Feed/FeedInfiniteScroll.d.ts +0 -102
  112. package/lib/cjs/components/Feed/FeedInfiniteScroll.d.ts.map +0 -1
  113. package/lib/cjs/components/Feed/FeedInfiniteScroll.js +0 -273
  114. package/lib/cjs/components/Feed/FeedInfiniteScroll.js.map +0 -1
  115. package/lib/esm/components/Feed/FeedInfiniteScroll.d.ts +0 -102
  116. package/lib/esm/components/Feed/FeedInfiniteScroll.d.ts.map +0 -1
  117. package/lib/esm/components/Feed/FeedInfiniteScroll.js +0 -245
  118. package/lib/esm/components/Feed/FeedInfiniteScroll.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.2",
3
+ "version": "0.2.0-alpha.1",
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.1",
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-alpha.1",
71
+ "@selfcommunity/react-core": "^0.1.19-alpha.4",
72
+ "@selfcommunity/react-i18n": "^0.1.19-alpha.1",
73
+ "@selfcommunity/types": "^0.1.19-alpha.1",
74
+ "@selfcommunity/utils": "^0.1.19-alpha.1",
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": "2fe2fd2879fdd27af0257d2e253b970972961f6c"
161
+ "gitHead": "2e2afb982d91b75173758c2bda6c95a5797a2825"
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=FeedInfiniteScroll.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FeedInfiniteScroll.d.ts","sourceRoot":"","sources":["../../../../src/components/Feed/FeedInfiniteScroll.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;AAiD/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;;AA4TD,wBAAgC"}
@@ -1,273 +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 Widget_1 = __importDefault(require("../Widget"));
43
- const react_infinite_scroll_component_1 = __importDefault(require("react-infinite-scroll-component"));
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
- [theme.breakpoints.down('md')]: {
63
- '& > .SCWidget-root, & > .SCCustomAdv-root': {
64
- maxWidth: 700,
65
- marginLeft: 'auto',
66
- marginRight: 'auto'
67
- }
68
- }
69
- },
70
- [`& .${classes.end}, & .${classes.refresh}`]: {
71
- textAlign: 'center'
72
- }
73
- }));
74
- const PREFERENCES = [react_core_1.SCPreferences.ADVERTISING_CUSTOM_ADV_ENABLED, react_core_1.SCPreferences.ADVERTISING_CUSTOM_ADV_ONLY_FOR_ANONYMOUS_USERS_ENABLED];
75
- /**
76
- * A wrapper component for children of
77
- * VirtualScroll. Computes inline style and
78
- * handles whether to display props.children.
79
- */
80
- const VirtualScrollChild = ({ cacheKey, index, children }) => {
81
- const [ref, inView] = (0, react_intersection_observer_1.useInView)({ threshold: 0.5 });
82
- (0, react_1.useEffect)(() => {
83
- if (inView) {
84
- console.log(react_core_1.SCCache.getFeedSPCacheKey(cacheKey), index);
85
- utils_1.LRUCache.set(react_core_1.SCCache.getFeedSPCacheKey(cacheKey), index);
86
- }
87
- }, [inView]);
88
- return (react_1.default.createElement("div", { ref: ref, id: index, key: index }, children));
89
- };
90
- /**
91
- * > API documentation for the Community-JS Feed component. Learn about the available props and the CSS API.
92
-
93
- #### Import
94
-
95
- ```jsx
96
- import {Feed} from '@selfcommunity/react-ui';
97
- ```
98
-
99
- #### Component Name
100
-
101
- The name `SCFeed` can be used when providing style overrides in the theme.
102
-
103
- #### CSS
104
-
105
- |Rule Name|Global class|Description|
106
- |---|---|---|
107
- |root|.SCFeed-root|Styles applied to the root element.|
108
- |left|.SCFeed-left|Styles applied to the left element.|
109
- |right|.SCFeed-right|Styles applied to the right element.|
110
- |end|.SCFeed-end|Styles applied to the end element.|
111
- |refresh|.SCFeed-refresh|Styles applied to the refresh section.|
112
- *
113
- * @param inProps
114
- */
115
- const Feed = (inProps, ref) => {
116
- // PROPS
117
- const props = (0, system_1.useThemeProps)({
118
- props: inProps,
119
- name: PREFIX
120
- });
121
- const { id = 'feed', className, endpoint, endpointQueryParams = { limit: 10, 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;
122
- // STATE
123
- const feedDataObject = (0, react_core_1.useSCFetchFeed)({
124
- id,
125
- endpoint,
126
- endpointQueryParams,
127
- onChangePage: onFetchData,
128
- cacheStrategy
129
- });
130
- const [headData, setHeadData] = (0, react_1.useState)([]);
131
- // CONTEXT
132
- const scPreferences = (0, react_core_1.useSCPreferences)();
133
- const scUserContext = (0, react_1.useContext)(react_core_1.SCUserContext);
134
- // CONST
135
- const authUserId = scUserContext.user ? scUserContext.user.id : null;
136
- // REFS
137
- const refreshSubscription = (0, react_1.useRef)(null);
138
- /**
139
- * Compute preferences
140
- */
141
- const preferences = (0, react_1.useMemo)(() => {
142
- const _preferences = {};
143
- PREFERENCES.map((p) => (_preferences[p] = p in scPreferences.preferences ? scPreferences.preferences[p].value : null));
144
- return _preferences;
145
- }, [scPreferences.preferences]);
146
- /**
147
- * Compute Widgets
148
- */
149
- const _widgets = (0, react_1.useMemo)(() => {
150
- if (preferences[react_core_1.SCPreferences.ADVERTISING_CUSTOM_ADV_ENABLED] &&
151
- ((preferences[react_core_1.SCPreferences.ADVERTISING_CUSTOM_ADV_ONLY_FOR_ANONYMOUS_USERS_ENABLED] && scUserContext.user === null) ||
152
- !preferences[react_core_1.SCPreferences.ADVERTISING_CUSTOM_ADV_ONLY_FOR_ANONYMOUS_USERS_ENABLED])) {
153
- return [
154
- ...widgets,
155
- {
156
- type: 'widget',
157
- component: CustomAdv_1.default,
158
- componentProps: Object.assign({ position: types_1.SCCustomAdvPosition.POSITION_FEED_SIDEBAR }, CustomAdvProps),
159
- column: 'right',
160
- position: 0
161
- },
162
- ...Array.from({ length: feedDataObject.feedData.length / 10 }, (_, i) => i * 10).map((position) => {
163
- return {
164
- type: 'widget',
165
- component: CustomAdv_1.default,
166
- componentProps: Object.assign({ position: types_1.SCCustomAdvPosition.POSITION_FEED }, CustomAdvProps),
167
- column: 'left',
168
- position
169
- };
170
- })
171
- ];
172
- }
173
- return [...widgets];
174
- }, [widgets, feedDataObject.feedData, preferences]);
175
- const refresh = () => {
176
- feedDataObject.reload();
177
- };
178
- const subscriber = (msg, data) => {
179
- if (data.refresh) {
180
- refresh();
181
- }
182
- };
183
- // EFFECTS
184
- (0, react_1.useEffect)(() => {
185
- if ((requireAuthentication && authUserId !== null) || !requireAuthentication) {
186
- feedDataObject.getNextPage();
187
- }
188
- }, [authUserId]);
189
- (0, react_1.useEffect)(() => {
190
- const _restoreItemKey = react_core_1.SCCache.getFeedSPCacheKey(id);
191
- if (cacheStrategy === utils_1.CacheStrategies.CACHE_FIRST && utils_1.LRUCache.hasKey(_restoreItemKey)) {
192
- window.requestAnimationFrame(() => {
193
- const marker = utils_1.LRUCache.get(_restoreItemKey);
194
- if (marker) {
195
- const element = document.getElementById(marker);
196
- if (element) {
197
- (0, seamless_scroll_polyfill_1.scrollIntoView)(element, { block: 'start' });
198
- }
199
- utils_1.LRUCache.delete(react_core_1.SCCache.getFeedSPCacheKey(id));
200
- }
201
- });
202
- }
203
- else {
204
- (0, seamless_scroll_polyfill_1.scrollTo)(window, { top: 0 });
205
- }
206
- }, []);
207
- (0, react_1.useEffect)(() => {
208
- refreshSubscription.current = pubsub_js_1.default.subscribe(id, subscriber);
209
- return () => {
210
- pubsub_js_1.default.unsubscribe(refreshSubscription.current);
211
- };
212
- }, []);
213
- // EXPOSED METHODS
214
- (0, react_1.useImperativeHandle)(ref, () => ({
215
- addFeedData: (data) => {
216
- setHeadData(data);
217
- },
218
- refresh: () => {
219
- refresh();
220
- }
221
- }));
222
- // RENDER
223
- const theme = (0, styles_1.useTheme)();
224
- const oneColLayout = (0, material_1.useMediaQuery)(theme.breakpoints.down('md'));
225
- const getData = (0, react_1.useMemo)(() => () => {
226
- const widgetSort = (w1, w2) => (w1.position > w2.position ? 1 : -1);
227
- const widgetReducer = (value, w) => {
228
- value.splice(w.position, 0, w);
229
- return value;
230
- };
231
- if (oneColLayout) {
232
- return {
233
- left: _widgets
234
- .map((w) => Object.assign({}, w, { position: w.position * (w.column === 'right' ? 5 : 1) }))
235
- .sort(widgetSort)
236
- .reduce(widgetReducer, [
237
- ...headData,
238
- ...feedDataObject.feedData,
239
- ...(feedDataObject.isLoadingNext ? [{ type: 'widget', component: ItemSkeleton, componentProps: ItemSkeletonProps }] : [])
240
- ]),
241
- right: []
242
- };
243
- }
244
- else {
245
- return {
246
- left: _widgets
247
- .filter((w) => w.column === 'left')
248
- .sort(widgetSort)
249
- .reduce(widgetReducer, [
250
- ...headData,
251
- ...feedDataObject.feedData,
252
- ...(feedDataObject.isLoadingNext ? [{ type: 'widget', component: ItemSkeleton, componentProps: ItemSkeletonProps }] : [])
253
- ]),
254
- right: _widgets.filter((w) => w.column === 'right').sort(widgetSort)
255
- };
256
- }
257
- }, [feedDataObject.isLoadingNext, oneColLayout, feedDataObject.feedData, _widgets, headData]);
258
- const data = getData();
259
- const InnerItem = (0, react_1.useMemo)(() => ({ index, d }) => {
260
- return (react_1.default.createElement(VirtualScrollChild, { index: index, cacheKey: id }, 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%' } })))));
261
- }, []);
262
- return (react_1.default.createElement(Root, { container: true, spacing: 2, id: id, className: (0, classnames_1.default)(classes.root, className) },
263
- react_1.default.createElement(material_1.Grid, { item: true, xs: 12, md: 7 },
264
- 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_infinite_scroll_component_1.default, { className: classes.left, dataLength: data.left.length, next: feedDataObject.feedData.length > 0 ? feedDataObject.getNextPage : () => null, hasMore: Boolean(feedDataObject.next), loader: react_1.default.createElement(react_1.default.Fragment, null), endMessage: react_1.default.createElement(Widget_1.default, { className: classes.end },
265
- react_1.default.createElement(material_1.CardContent, null, endMessage)), refreshFunction: refresh, pullDownToRefresh: true, pullDownToRefreshThreshold: 1000, pullDownToRefreshContent: null, releaseToRefreshContent: react_1.default.createElement(Widget_1.default, { variant: "outlined", className: classes.refresh },
266
- react_1.default.createElement(material_1.CardContent, null, refreshMessage)), style: { overflow: 'visible' } }, data.left.map((d, i) => (react_1.default.createElement(InnerItem, { index: i, d: d }))))))),
267
- data.right.length > 0 && (react_1.default.createElement(material_1.Hidden, { smDown: true },
268
- react_1.default.createElement(material_1.Grid, { item: true, xs: 12, md: 5 },
269
- react_1.default.createElement(react_stickynode_1.default, Object.assign({ enabled: true, className: classes.right }, FeedSidebarProps),
270
- 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)))))))))));
271
- };
272
- exports.default = (0, react_1.forwardRef)(Feed);
273
- //# sourceMappingURL=FeedInfiniteScroll.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FeedInfiniteScroll.js","sourceRoot":"","sources":["../../../../src/components/Feed/FeedInfiniteScroll.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=FeedInfiniteScroll.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FeedInfiniteScroll.d.ts","sourceRoot":"","sources":["../../../../src/components/Feed/FeedInfiniteScroll.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;AAiD/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;;AA4TD,wBAAgC"}