@selfcommunity/react-ui 0.10.2-courses.185 → 0.10.2-courses.186

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 (95) hide show
  1. package/lib/cjs/components/BottomNavigation/BottomNavigation.d.ts +1 -1
  2. package/lib/cjs/components/Editor/Editor.d.ts +1 -1
  3. package/lib/cjs/components/Editor/Editor.js +1 -1
  4. package/lib/cjs/components/Editor/nodes/HashtagNode.d.ts +1 -1
  5. package/lib/cjs/components/Editor/nodes/HashtagNode.js +6 -4
  6. package/lib/cjs/components/Editor/nodes/ImageNode.d.ts +1 -1
  7. package/lib/cjs/components/Editor/nodes/ImageNode.js +6 -6
  8. package/lib/cjs/components/Editor/nodes/MentionNode.d.ts +1 -1
  9. package/lib/cjs/components/Editor/nodes/MentionNode.js +6 -4
  10. package/lib/cjs/components/Editor/plugins/ApiPlugin.d.ts +1 -1
  11. package/lib/cjs/components/Editor/plugins/MentionsPlugin.d.ts +2 -2
  12. package/lib/cjs/components/Editor/shared/useDecorators.d.ts +2 -2
  13. package/lib/cjs/components/Event/Event.js +6 -3
  14. package/lib/cjs/components/EventForm/types.d.ts +5 -5
  15. package/lib/cjs/components/EventMediaWidget/asUploadButton.d.ts +1 -1
  16. package/lib/cjs/components/EventParticipantsButton/EventParticipantsButton.js +1 -1
  17. package/lib/cjs/components/Events/Events.d.ts +5 -0
  18. package/lib/cjs/components/Events/Events.js +21 -10
  19. package/lib/cjs/components/Events/OngoingEventsFilter.d.ts +8 -0
  20. package/lib/cjs/components/Events/OngoingEventsFilter.js +24 -0
  21. package/lib/cjs/components/Feed/Feed.d.ts +2 -2
  22. package/lib/cjs/components/Feed/Skeleton.d.ts +1 -1
  23. package/lib/cjs/components/LiveStreamForm/types.d.ts +3 -3
  24. package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/ControlBar.d.ts +1 -1
  25. package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/FocusLayout.d.ts +1 -1
  26. package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/SettingsMenuToggle.d.ts +1 -1
  27. package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/utils.d.ts +2 -2
  28. package/lib/cjs/components/LiveStreamRoom/types.d.ts +1 -1
  29. package/lib/cjs/components/NavigationMenuIconButton/DefaultDrawerSkeleton.d.ts +1 -1
  30. package/lib/cjs/components/NavigationMenuIconButton/DefaultHeaderContent.d.ts +1 -1
  31. package/lib/cjs/components/NavigationToolbar/NavigationToolbar.d.ts +1 -1
  32. package/lib/cjs/components/NavigationToolbar/NavigationToolbar.js +2 -2
  33. package/lib/cjs/components/NavigationToolbarMobile/NavigationToolbarMobile.d.ts +1 -1
  34. package/lib/cjs/components/NavigationToolbarMobile/NavigationToolbarMobile.js +4 -4
  35. package/lib/cjs/components/PrivateMessageComponent/Skeleton.d.ts +1 -1
  36. package/lib/cjs/components/SearchDialog/SearchDialog.d.ts +4 -1
  37. package/lib/cjs/components/SearchDialog/SearchDialog.js +2 -2
  38. package/lib/cjs/shared/CourseUsersTable/CourseUsersTable.d.ts +1 -1
  39. package/lib/cjs/shared/InfiniteScroll/index.d.ts +1 -1
  40. package/lib/cjs/shared/Media/File/asUploadButton.d.ts +1 -1
  41. package/lib/cjs/shared/Media/Link/UrlTextField/index.d.ts +1 -1
  42. package/lib/cjs/shared/MetadataField/MetadataField.d.ts +1 -1
  43. package/lib/cjs/shared/StickyBox/index.d.ts +4 -4
  44. package/lib/cjs/shared/UsernameTextField/index.d.ts +1 -1
  45. package/lib/cjs/types/composer.d.ts +1 -1
  46. package/lib/esm/components/BottomNavigation/BottomNavigation.d.ts +1 -1
  47. package/lib/esm/components/Editor/Editor.d.ts +1 -1
  48. package/lib/esm/components/Editor/Editor.js +2 -2
  49. package/lib/esm/components/Editor/nodes/HashtagNode.d.ts +1 -1
  50. package/lib/esm/components/Editor/nodes/HashtagNode.js +6 -4
  51. package/lib/esm/components/Editor/nodes/ImageNode.d.ts +1 -1
  52. package/lib/esm/components/Editor/nodes/ImageNode.js +6 -6
  53. package/lib/esm/components/Editor/nodes/MentionNode.d.ts +1 -1
  54. package/lib/esm/components/Editor/nodes/MentionNode.js +6 -4
  55. package/lib/esm/components/Editor/plugins/ApiPlugin.d.ts +1 -1
  56. package/lib/esm/components/Editor/plugins/MentionsPlugin.d.ts +2 -2
  57. package/lib/esm/components/Editor/shared/useDecorators.d.ts +2 -2
  58. package/lib/esm/components/Event/Event.js +6 -3
  59. package/lib/esm/components/EventForm/types.d.ts +5 -5
  60. package/lib/esm/components/EventMediaWidget/asUploadButton.d.ts +1 -1
  61. package/lib/esm/components/EventParticipantsButton/EventParticipantsButton.js +1 -1
  62. package/lib/esm/components/Events/Events.d.ts +5 -0
  63. package/lib/esm/components/Events/Events.js +22 -11
  64. package/lib/esm/components/Events/OngoingEventsFilter.d.ts +8 -0
  65. package/lib/esm/components/Events/OngoingEventsFilter.js +21 -0
  66. package/lib/esm/components/Feed/Feed.d.ts +2 -2
  67. package/lib/esm/components/Feed/Skeleton.d.ts +1 -1
  68. package/lib/esm/components/LiveStreamForm/types.d.ts +3 -3
  69. package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/ControlBar.d.ts +1 -1
  70. package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/FocusLayout.d.ts +1 -1
  71. package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/SettingsMenuToggle.d.ts +1 -1
  72. package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/utils.d.ts +2 -2
  73. package/lib/esm/components/LiveStreamRoom/types.d.ts +1 -1
  74. package/lib/esm/components/NavigationMenuIconButton/DefaultDrawerSkeleton.d.ts +1 -1
  75. package/lib/esm/components/NavigationMenuIconButton/DefaultHeaderContent.d.ts +1 -1
  76. package/lib/esm/components/NavigationToolbar/NavigationToolbar.d.ts +1 -1
  77. package/lib/esm/components/NavigationToolbar/NavigationToolbar.js +2 -2
  78. package/lib/esm/components/NavigationToolbarMobile/NavigationToolbarMobile.d.ts +1 -1
  79. package/lib/esm/components/NavigationToolbarMobile/NavigationToolbarMobile.js +4 -4
  80. package/lib/esm/components/PrivateMessageComponent/Skeleton.d.ts +1 -1
  81. package/lib/esm/components/SearchDialog/SearchDialog.d.ts +4 -1
  82. package/lib/esm/components/SearchDialog/SearchDialog.js +2 -2
  83. package/lib/esm/shared/CourseUsersTable/CourseUsersTable.d.ts +1 -1
  84. package/lib/esm/shared/InfiniteScroll/index.d.ts +1 -1
  85. package/lib/esm/shared/Media/File/asUploadButton.d.ts +1 -1
  86. package/lib/esm/shared/Media/Link/UrlTextField/index.d.ts +1 -1
  87. package/lib/esm/shared/MetadataField/MetadataField.d.ts +1 -1
  88. package/lib/esm/shared/StickyBox/index.d.ts +4 -4
  89. package/lib/esm/shared/UsernameTextField/index.d.ts +1 -1
  90. package/lib/esm/types/composer.d.ts +1 -1
  91. package/lib/umd/689.js +2 -0
  92. package/lib/umd/react-ui.js +1 -1
  93. package/package.json +11 -11
  94. package/lib/umd/233.js +0 -2
  95. /package/lib/umd/{233.js.LICENSE.txt → 689.js.LICENSE.txt} +0 -0
@@ -1,6 +1,6 @@
1
1
  import { __rest } from "tslib";
2
2
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { Box, Button, Chip, FormControl, Grid, Icon, IconButton, InputAdornment, InputLabel, MenuItem, Radio, Select, styled, TextField, Typography, useMediaQuery, useTheme, useThemeProps } from '@mui/material';
3
+ import { Box, Button, Chip, Divider, FormControl, Grid, Icon, IconButton, InputAdornment, InputLabel, MenuItem, Radio, Select, styled, TextField, Typography, useMediaQuery, useTheme, useThemeProps } from '@mui/material';
4
4
  import { Endpoints, http } from '@selfcommunity/api-services';
5
5
  import { SCPreferences, SCPreferencesContext, SCUserContext, UserUtils } from '@selfcommunity/react-core';
6
6
  import { SCEventDateFilterType, SCEventLocationFilterType, SCEventSubscriptionStatusType } from '@selfcommunity/types';
@@ -18,10 +18,13 @@ import Skeleton from '../Events/Skeleton';
18
18
  import { PREFIX } from './constants';
19
19
  import LocationEventsFilter from './LocationEventsFilter';
20
20
  import PastEventsFilter from './PastEventsFilter';
21
+ import OngoingEventsFilter from './OngoingEventsFilter';
21
22
  const classes = {
22
23
  root: `${PREFIX}-root`,
23
24
  filters: `${PREFIX}-filters`,
24
25
  events: `${PREFIX}-events`,
26
+ sectionTitle: `${PREFIX}-section-title`,
27
+ divider: `${PREFIX}-divider`,
25
28
  item: `${PREFIX}-item`,
26
29
  itemSkeleton: `${PREFIX}-item-skeleton`,
27
30
  noResults: `${PREFIX}-no-results`,
@@ -29,7 +32,7 @@ const classes = {
29
32
  search: `${PREFIX}-search`
30
33
  };
31
34
  const options = [
32
- { value: SCEventDateFilterType.ANY, label: _jsx(FormattedMessage, { id: "ui.events.select.any", defaultMessage: "ui.events.select.any" }) },
35
+ { value: SCEventDateFilterType.ALL, label: _jsx(FormattedMessage, { id: "ui.events.select.any", defaultMessage: "ui.events.select.any" }) },
33
36
  { value: SCEventDateFilterType.TODAY, label: _jsx(FormattedMessage, { id: "ui.events.select.today", defaultMessage: "ui.events.select.today" }) },
34
37
  { value: SCEventDateFilterType.TOMORROW, label: _jsx(FormattedMessage, { id: "ui.events.select.tomorrow", defaultMessage: "ui.events.select.tomorrow" }) },
35
38
  { value: SCEventDateFilterType.THIS_WEEK, label: _jsx(FormattedMessage, { id: "ui.events.select.thisWeek", defaultMessage: "ui.events.select.thisWeek" }) },
@@ -43,7 +46,7 @@ const Root = styled(Box, {
43
46
  export const EventsChipRoot = styled(Chip, {
44
47
  name: PREFIX,
45
48
  slot: 'EventsChipRoot',
46
- shouldForwardProp: (prop) => prop !== 'showFollowed' && prop !== 'showPastEvents'
49
+ shouldForwardProp: (prop) => prop !== 'showFollowed' && prop !== 'showPastEvents' && prop !== 'showOngoingEvents'
47
50
  })(() => ({}));
48
51
  /**
49
52
  * > API documentation for the Community-JS Events component. Learn about the available props and the CSS API.
@@ -78,7 +81,7 @@ export default function Events(inProps) {
78
81
  props: inProps,
79
82
  name: PREFIX
80
83
  });
81
- const { endpoint = Endpoints.SearchEvents, endpointQueryParams = { limit: 8, offset: DEFAULT_PAGINATION_OFFSET }, className, EventComponentProps = { elevation: 0, square: true }, EventsSkeletonComponentProps = {}, EventSkeletonComponentProps = { elevation: 0, square: true }, GridContainerComponentProps = {}, GridItemComponentProps = {}, CreateEventButtonProps = {}, showFilters = false, filters, general = true } = props, rest = __rest(props, ["endpoint", "endpointQueryParams", "className", "EventComponentProps", "EventsSkeletonComponentProps", "EventSkeletonComponentProps", "GridContainerComponentProps", "GridItemComponentProps", "CreateEventButtonProps", "showFilters", "filters", "general"]);
84
+ const { endpoint = Endpoints.SearchEvents, endpointQueryParams = { limit: 8, offset: DEFAULT_PAGINATION_OFFSET }, className, EventComponentProps = { elevation: 0, square: true }, EventsSkeletonComponentProps = {}, EventSkeletonComponentProps = { elevation: 0, square: true }, GridContainerComponentProps = {}, GridItemComponentProps = {}, CreateEventButtonProps = {}, showFilters = false, filters, general = true, hideTitle = false } = props, rest = __rest(props, ["endpoint", "endpointQueryParams", "className", "EventComponentProps", "EventsSkeletonComponentProps", "EventSkeletonComponentProps", "GridContainerComponentProps", "GridItemComponentProps", "CreateEventButtonProps", "showFilters", "filters", "general", "hideTitle"]);
82
85
  // STATE
83
86
  const [events, setEvents] = useState([]);
84
87
  const [loading, setLoading] = useState(true);
@@ -88,7 +91,9 @@ export default function Events(inProps) {
88
91
  const [location, setLocation] = useState(SCEventLocationFilterType.ANY);
89
92
  const [showFollowed, setShowFollowed] = useState(false);
90
93
  const [showPastEvents, setShowPastEvents] = useState(false);
94
+ const [showOngoingEvents, setShowOngoingEvents] = useState(false);
91
95
  const [showMyEvents, setShowMyEvents] = useState(false);
96
+ const showUserEvents = !general && (events.length || (!events.length && (showPastEvents || showMyEvents || location !== SCEventLocationFilterType.ANY)));
92
97
  // CONTEXT
93
98
  const scUserContext = useContext(SCUserContext);
94
99
  const scPreferencesContext = useContext(SCPreferencesContext);
@@ -115,6 +120,12 @@ export default function Events(inProps) {
115
120
  const handleDeletePastClick = () => {
116
121
  setShowPastEvents(false);
117
122
  };
123
+ const handleChipOngoingClick = () => {
124
+ setShowOngoingEvents(!showOngoingEvents);
125
+ };
126
+ const handleDeleteOngoingClick = () => {
127
+ setShowOngoingEvents(false);
128
+ };
118
129
  /**
119
130
  * Fetches events list
120
131
  */
@@ -125,7 +136,7 @@ export default function Events(inProps) {
125
136
  url: endpoint.url({}),
126
137
  method: endpoint.method,
127
138
  params: Object.assign(Object.assign({}, endpointQueryParams), (general
128
- ? Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (query && { search: query })), (dateSearch !== SCEventDateFilterType.ANY && { date_filter: dateSearch })), (location !== SCEventLocationFilterType.ANY && { location })), (showFollowed && { follows: showFollowed })), (showPastEvents && { date_filter: SCEventDateFilterType.PAST })) : Object.assign(Object.assign(Object.assign({ subscription_status: SCEventSubscriptionStatusType.GOING }, (location !== SCEventLocationFilterType.ANY && { location })), (showPastEvents && { past: showPastEvents })), (showMyEvents && { created_by: authUserId }))))
139
+ ? Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (query && { search: query })), (dateSearch !== SCEventDateFilterType.ALL && { date_filter: dateSearch })), (location !== SCEventLocationFilterType.ANY && { location })), (showFollowed && { follows: showFollowed })), (showOngoingEvents && { date_filter: SCEventDateFilterType.NOT_PAST })) : Object.assign(Object.assign(Object.assign({ subscription_status: SCEventSubscriptionStatusType.GOING }, (location !== SCEventLocationFilterType.ANY && { location })), (showPastEvents && { past: showPastEvents })), (showMyEvents && { created_by: authUserId }))))
129
140
  })
130
141
  .then((res) => {
131
142
  setEvents(res.data.results);
@@ -146,7 +157,7 @@ export default function Events(inProps) {
146
157
  else {
147
158
  fetchEvents();
148
159
  }
149
- }, [contentAvailability, authUserId, dateSearch, location, showFollowed, showPastEvents, showMyEvents]);
160
+ }, [contentAvailability, authUserId, dateSearch, location, showFollowed, showPastEvents, showMyEvents, showOngoingEvents]);
150
161
  /**
151
162
  * Subscriber for pubsub callback
152
163
  */
@@ -209,23 +220,23 @@ export default function Events(inProps) {
209
220
  /**
210
221
  * Renders events list
211
222
  */
212
- const c = (_jsxs(_Fragment, { children: [showFilters && (_jsx(Grid, Object.assign({ container: true, className: classes.filters, gap: 2 }, { children: filters ? (filters) : !general ? (_jsxs(_Fragment, { children: [_jsx(Grid, Object.assign({ item: true }, { children: _jsx(EventsChipRoot, { color: showMyEvents ? 'secondary' : 'default', variant: showMyEvents ? 'filled' : 'outlined', label: _jsx(FormattedMessage, { id: "ui.events.filterByCreatedByMe", defaultMessage: "ui.events.filterByCreatedByMe" }), onClick: () => setShowMyEvents(!showMyEvents),
223
+ const content = (_jsxs(_Fragment, { children: [showFilters && (_jsx(Grid, Object.assign({ container: true, className: classes.filters, gap: 2 }, { children: filters ? (filters) : showUserEvents ? (_jsxs(_Fragment, { children: [_jsx(Grid, Object.assign({ item: true }, { children: _jsx(EventsChipRoot, { color: showMyEvents ? 'secondary' : 'default', variant: showMyEvents ? 'filled' : 'outlined', label: _jsx(FormattedMessage, { id: "ui.events.filterByCreatedByMe", defaultMessage: "ui.events.filterByCreatedByMe" }), onClick: () => setShowMyEvents(!showMyEvents),
213
224
  // @ts-expect-error this is needed to use showFollowed into SCEvents
214
- showFollowed: showMyEvents, deleteIcon: showMyEvents ? _jsx(Icon, { children: "close" }) : null, onDelete: showMyEvents ? () => setShowMyEvents(false) : null, disabled: loading }) })), _jsx(Grid, Object.assign({ item: true }, { children: _jsx(PastEventsFilter, { showPastEvents: showPastEvents, handleClick: handleChipPastClick, handleDeleteClick: handleDeletePastClick, disabled: loading }) })), _jsx(Grid, Object.assign({ item: true, xs: 12, md: 2 }, { children: _jsx(LocationEventsFilter, { value: location, disabled: loading, handleOnChange: handleOnChangeLocation }) }))] })) : (_jsxs(_Fragment, { children: [_jsx(Grid, Object.assign({ item: true, xs: 12, md: 3 }, { children: _jsx(TextField, { className: classes.search, size: 'small', fullWidth: true, value: query, label: _jsx(FormattedMessage, { id: "ui.events.filterByName", defaultMessage: "ui.events.filterByName" }), variant: "outlined", onChange: handleOnChangeFilterName, disabled: loading, onKeyUp: (e) => {
225
+ showFollowed: showMyEvents, deleteIcon: showMyEvents ? _jsx(Icon, { children: "close" }) : null, onDelete: showMyEvents ? () => setShowMyEvents(false) : null, disabled: loading }) })), _jsx(Grid, Object.assign({ item: true }, { children: _jsx(PastEventsFilter, { showPastEvents: showPastEvents, handleClick: handleChipPastClick, handleDeleteClick: handleDeletePastClick, disabled: loading }) })), _jsx(Grid, Object.assign({ item: true, xs: 12, md: 2 }, { children: _jsx(LocationEventsFilter, { value: location, disabled: loading, handleOnChange: handleOnChangeLocation }) }))] })) : general ? (_jsxs(_Fragment, { children: [_jsx(Grid, Object.assign({ item: true, xs: 12, md: 3 }, { children: _jsx(TextField, { className: classes.search, size: 'small', fullWidth: true, value: query, label: _jsx(FormattedMessage, { id: "ui.events.filterByName", defaultMessage: "ui.events.filterByName" }), variant: "outlined", onChange: handleOnChangeFilterName, disabled: loading, onKeyUp: (e) => {
215
226
  e.preventDefault();
216
227
  if (e.key === 'Enter') {
217
228
  fetchEvents();
218
229
  }
219
230
  }, InputProps: {
220
231
  endAdornment: (_jsx(InputAdornment, Object.assign({ position: "end" }, { children: isMobile ? (_jsx(IconButton, Object.assign({ onClick: () => fetchEvents(), disabled: loading }, { children: _jsx(Icon, { children: "search" }) }))) : (_jsx(Button, { size: "small", variant: "contained", color: "secondary", onClick: () => fetchEvents(), endIcon: _jsx(Icon, { children: "search" }), disabled: loading })) })))
221
- } }) })), _jsx(Grid, Object.assign({ item: true, xs: 12, md: 2 }, { children: _jsxs(FormControl, Object.assign({ fullWidth: true }, { children: [_jsx(InputLabel, { children: _jsx(FormattedMessage, { id: "ui.events.filterByDate", defaultMessage: "ui.events.filterByDate" }) }), _jsx(Select, Object.assign({ disabled: showPastEvents || loading, size: 'small', label: _jsx(FormattedMessage, { id: "ui.events.filterByDate", defaultMessage: "ui.events.filterByDate" }), value: dateSearch, onChange: handleOnChangeTimeFrame, renderValue: (selected) => options.find((option) => option.value === selected).label }, { children: options.map((option) => (_jsxs(MenuItem, Object.assign({ value: option.value }, { children: [_jsx(Radio, { checked: dateSearch === option.value, value: option.value, name: "radio-button-select", inputProps: { 'aria-label': option.label } }), option.label] }), option.value))) }))] })) })), _jsx(Grid, Object.assign({ item: true, xs: 12, md: 2 }, { children: _jsx(LocationEventsFilter, { value: location, disabled: loading, handleOnChange: handleOnChangeLocation }) })), authUserId && (_jsx(Grid, Object.assign({ item: true }, { children: _jsx(EventsChipRoot, { color: showFollowed ? 'secondary' : 'default', variant: showFollowed ? 'filled' : 'outlined', label: _jsx(FormattedMessage, { id: "ui.events.filterByFollowedInterest", defaultMessage: "ui.events.filterByFollowedInterest" }), onClick: handleChipClick,
232
+ } }) })), _jsx(Grid, Object.assign({ item: true, xs: 12, md: 2 }, { children: _jsxs(FormControl, Object.assign({ fullWidth: true }, { children: [_jsx(InputLabel, { children: _jsx(FormattedMessage, { id: "ui.events.filterByDate", defaultMessage: "ui.events.filterByDate" }) }), _jsx(Select, Object.assign({ disabled: showOngoingEvents || loading, size: 'small', label: _jsx(FormattedMessage, { id: "ui.events.filterByDate", defaultMessage: "ui.events.filterByDate" }), value: dateSearch, onChange: handleOnChangeTimeFrame, renderValue: (selected) => options.find((option) => option.value === selected).label }, { children: options.map((option) => (_jsxs(MenuItem, Object.assign({ value: option.value }, { children: [_jsx(Radio, { checked: dateSearch === option.value, value: option.value, name: "radio-button-select", inputProps: { 'aria-label': option.label } }), option.label] }), option.value))) }))] })) })), _jsx(Grid, Object.assign({ item: true, xs: 12, md: 2 }, { children: _jsx(LocationEventsFilter, { value: location, disabled: loading, handleOnChange: handleOnChangeLocation }) })), authUserId && (_jsx(Grid, Object.assign({ item: true }, { children: _jsx(EventsChipRoot, { color: showFollowed ? 'secondary' : 'default', variant: showFollowed ? 'filled' : 'outlined', label: _jsx(FormattedMessage, { id: "ui.events.filterByFollowedInterest", defaultMessage: "ui.events.filterByFollowedInterest" }), onClick: handleChipClick,
222
233
  // @ts-expect-error this is needed to use showFollowed into SCEvents
223
- showFollowed: showFollowed, deleteIcon: showFollowed ? _jsx(Icon, { children: "close" }) : null, onDelete: showFollowed ? handleDeleteClick : null, disabled: loading }) }))), _jsx(Grid, Object.assign({ item: true }, { children: _jsx(PastEventsFilter, { showPastEvents: showPastEvents, handleClick: handleChipPastClick, handleDeleteClick: handleDeletePastClick, disabled: dateSearch !== SCEventDateFilterType.ANY || loading }) }))] })) }))), _jsx(_Fragment, { children: loading ? (_jsx(Skeleton, Object.assign({}, EventsSkeletonComponentProps, { EventSkeletonProps: EventSkeletonComponentProps }))) : (_jsx(_Fragment, { children: !events.length ? (_jsx(Box, Object.assign({ className: classes.noResults }, { children: general ? (_jsxs(_Fragment, { children: [_jsx(EventSkeleton, Object.assign({}, EventSkeletonComponentProps, { skeletonsAnimation: false, actions: (onlyStaffEnabled && UserUtils.isStaff(scUserContext.user)) || !onlyStaffEnabled ? (_jsx(CreateEventButton, Object.assign({}, CreateEventButtonProps))) : null })), _jsx(Typography, Object.assign({ variant: "body1" }, { children: _jsx(FormattedMessage, { id: "ui.events.noEvents.title", defaultMessage: "ui.events.noEvents.title" }) }))] })) : (_jsxs(_Fragment, { children: [_jsx(EventSkeleton, Object.assign({}, EventSkeletonComponentProps, { skeletonsAnimation: false, actions: (onlyStaffEnabled && UserUtils.isStaff(scUserContext.user)) || !onlyStaffEnabled ? (_jsx(CreateEventButton, Object.assign({}, CreateEventButtonProps))) : null })), _jsx(Typography, Object.assign({ variant: "body1" }, { children: _jsx(FormattedMessage, { id: "ui.events.noEvents.title.personal", defaultMessage: "ui.events.noEvents.title.personal" }) }))] })) }))) : (_jsxs(_Fragment, { children: [_jsx(Grid, Object.assign({ container: true, spacing: { xs: 2 }, className: classes.events }, GridContainerComponentProps, { children: _jsxs(_Fragment, { children: [events.map((event) => (_jsx(Grid, Object.assign({ item: true, xs: 12, sm: 12, md: 6, className: classes.item }, GridItemComponentProps, { children: _jsx(Event, Object.assign({ event: event, eventId: event.id }, EventComponentProps)) }), event.id))), authUserId && events.length % 2 !== 0 && (_jsx(Grid, Object.assign({ item: true, xs: 12, sm: 12, md: 6, className: classes.itemSkeleton }, GridItemComponentProps, { children: _jsx(EventSkeleton, Object.assign({}, EventSkeletonComponentProps, { skeletonsAnimation: false, actions: _jsx(CreateEventButton, Object.assign({ variant: "outlined", color: "primary", size: "small" }, CreateEventButtonProps, { children: _jsx(FormattedMessage, { id: "ui.events.skeleton.action.add", defaultMessage: "ui.events.skeleton.action.add" }) })) })) }), 'skeleton-item'))] }) })), Boolean(next) && (_jsx(Button, Object.assign({ color: "secondary", variant: "text", onClick: handleNext, className: classes.showMore }, { children: _jsx(FormattedMessage, { id: "ui.events.button.seeMore", defaultMessage: "ui.events.button.seeMore" }) })))] })) })) })] }));
234
+ showFollowed: showFollowed, deleteIcon: showFollowed ? _jsx(Icon, { children: "close" }) : null, onDelete: showFollowed ? handleDeleteClick : null, disabled: loading }) }))), _jsx(Grid, Object.assign({ item: true }, { children: _jsx(OngoingEventsFilter, { showOngoingEvents: showOngoingEvents, handleClick: handleChipOngoingClick, handleDeleteClick: handleDeleteOngoingClick, disabled: dateSearch !== SCEventDateFilterType.ALL || loading }) }))] })) : null }))), _jsx(_Fragment, { children: loading ? (_jsx(Skeleton, Object.assign({}, EventsSkeletonComponentProps, { EventSkeletonProps: EventSkeletonComponentProps }))) : (_jsx(_Fragment, { children: !events.length ? (_jsx(Box, Object.assign({ className: classes.noResults }, { children: general ? (_jsxs(_Fragment, { children: [_jsx(EventSkeleton, Object.assign({}, EventSkeletonComponentProps, { skeletonsAnimation: false, actions: (onlyStaffEnabled && UserUtils.isStaff(scUserContext.user)) || !onlyStaffEnabled ? (_jsx(CreateEventButton, Object.assign({}, CreateEventButtonProps))) : null })), _jsx(Typography, Object.assign({ variant: "body1" }, { children: _jsx(FormattedMessage, { id: "ui.events.noEvents.title", defaultMessage: "ui.events.noEvents.title" }) }))] })) : showUserEvents ? (_jsx(_Fragment, { children: _jsx(Typography, Object.assign({ variant: "body1" }, { children: _jsx(FormattedMessage, { id: "ui.events.noEvents.title.personal", defaultMessage: "ui.events.noEvents.title.personal" }) })) })) : null }))) : (_jsxs(_Fragment, { children: [_jsx(Grid, Object.assign({ container: true, spacing: { xs: 2 }, className: classes.events }, GridContainerComponentProps, { children: _jsxs(_Fragment, { children: [events.map((event) => (_jsx(Grid, Object.assign({ item: true, xs: 12, sm: 12, md: 6, className: classes.item }, GridItemComponentProps, { children: _jsx(Event, Object.assign({ event: event, eventId: event.id }, EventComponentProps)) }), event.id))), authUserId && events.length % 2 !== 0 && (_jsx(Grid, Object.assign({ item: true, xs: 12, sm: 12, md: 6, className: classes.itemSkeleton }, GridItemComponentProps, { children: _jsx(EventSkeleton, Object.assign({}, EventSkeletonComponentProps, { skeletonsAnimation: false, actions: _jsx(CreateEventButton, Object.assign({ variant: "outlined", color: "primary", size: "small" }, CreateEventButtonProps, { children: _jsx(FormattedMessage, { id: "ui.events.skeleton.action.add", defaultMessage: "ui.events.skeleton.action.add" }) })) })) }), 'skeleton-item'))] }) })), Boolean(next) && (_jsx(Button, Object.assign({ color: "secondary", variant: "text", onClick: handleNext, className: classes.showMore }, { children: _jsx(FormattedMessage, { id: "ui.events.button.seeMore", defaultMessage: "ui.events.button.seeMore" }) })))] })) })) })] }));
224
235
  /**
225
236
  * Renders root object (if content availability community option is false and user is anonymous, component is hidden)
226
237
  */
227
238
  if (!contentAvailability && !scUserContext.user) {
228
239
  return null;
229
240
  }
230
- return (_jsx(Root, Object.assign({ className: classNames(classes.root, className) }, rest, { children: c })));
241
+ return (_jsxs(Root, Object.assign({ className: classNames(classes.root, className) }, rest, { children: [_jsx(_Fragment, { children: showUserEvents && !hideTitle ? (_jsxs(_Fragment, { children: [_jsx(Typography, Object.assign({ variant: "h4", className: classes.sectionTitle }, { children: _jsx(FormattedMessage, { id: "ui.events.myEvents.title", defaultMessage: "ui.events.myEvents.title" }) })), _jsx(Divider, { className: classes.divider })] })) : general ? (_jsxs(_Fragment, { children: [_jsx(Typography, Object.assign({ variant: "h4", className: classes.sectionTitle }, { children: _jsx(FormattedMessage, { id: "ui.events.allEvents.title", defaultMessage: "ui.events.allEvents.title" }) })), _jsx(Divider, { className: classes.divider })] })) : null }), content] })));
231
242
  }
@@ -0,0 +1,8 @@
1
+ import { ChipProps } from '@mui/material';
2
+ export interface OngoingEventsFilterProps extends ChipProps {
3
+ autoHide?: boolean;
4
+ showOngoingEvents: boolean;
5
+ handleClick: () => void;
6
+ handleDeleteClick?: () => void;
7
+ }
8
+ export default function OngoingEventsFilter(inProps: OngoingEventsFilterProps): JSX.Element;
@@ -0,0 +1,21 @@
1
+ import { __rest } from "tslib";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { Icon, useThemeProps } from '@mui/material';
4
+ import { FormattedMessage } from 'react-intl';
5
+ import { PREFIX } from './constants';
6
+ import { EventsChipRoot } from './Events';
7
+ export default function OngoingEventsFilter(inProps) {
8
+ // PROPS
9
+ const props = useThemeProps({
10
+ props: inProps,
11
+ name: PREFIX
12
+ });
13
+ const { autoHide = false, showOngoingEvents, handleClick, handleDeleteClick } = props, rest = __rest(props, ["autoHide", "showOngoingEvents", "handleClick", "handleDeleteClick"]);
14
+ if (autoHide) {
15
+ return null;
16
+ }
17
+ return (_jsx(EventsChipRoot, Object.assign({ color: showOngoingEvents ? 'secondary' : 'default', variant: showOngoingEvents ? 'filled' : 'outlined', label: _jsx(FormattedMessage, { id: "ui.events.filterByOngoingEvents", defaultMessage: "ui.events.filterByOngoingEvents" }), onClick: handleClick,
18
+ // eslint-disable-next-line @typescript-eslint/ban-ts-ignore
19
+ // @ts-ignore
20
+ showOngoingEvents: showOngoingEvents, deleteIcon: showOngoingEvents ? _jsx(Icon, { children: "close" }) : null, onDelete: showOngoingEvents ? handleDeleteClick : undefined }, rest)));
21
+ }
@@ -9,11 +9,11 @@ import { StickyBoxProps } from '../../shared/StickyBox';
9
9
  /**
10
10
  * FeedSidebarProps has the same props as StickyBoxProps type
11
11
  */
12
- export declare type FeedSidebarProps = StickyBoxProps;
12
+ export type FeedSidebarProps = StickyBoxProps;
13
13
  /**
14
14
  * FeedRef props
15
15
  */
16
- export declare type FeedRef = {
16
+ export type FeedRef = {
17
17
  addFeedData: (obj: any, syncPagination?: boolean) => void;
18
18
  refresh: () => void;
19
19
  getCurrentFeedObjectIds: () => number[];
@@ -11,7 +11,7 @@ interface FeedSkeletonMap {
11
11
  */
12
12
  className?: string;
13
13
  }
14
- export declare type FeedSkeletonProps = React.PropsWithChildren<FeedSkeletonMap>;
14
+ export type FeedSkeletonProps = React.PropsWithChildren<FeedSkeletonMap>;
15
15
  /**
16
16
  * > API documentation for the Community-JS Feed Skeleton component. Learn about the available props and the CSS API.
17
17
 
@@ -1,4 +1,4 @@
1
- export declare type InitialFieldState = {
1
+ export type InitialFieldState = {
2
2
  title: string;
3
3
  description: string;
4
4
  slug?: string;
@@ -7,5 +7,5 @@ export declare type InitialFieldState = {
7
7
  coverFile?: string | Blob;
8
8
  isSubmitting: boolean;
9
9
  };
10
- export declare type FieldStateKeys = keyof InitialFieldState;
11
- export declare type FieldStateValues = InitialFieldState[FieldStateKeys];
10
+ export type FieldStateKeys = keyof InitialFieldState;
11
+ export type FieldStateValues = InitialFieldState[FieldStateKeys];
@@ -1,7 +1,7 @@
1
1
  import { Track } from 'livekit-client';
2
2
  import * as React from 'react';
3
3
  /** @public */
4
- export declare type ControlBarControls = {
4
+ export type ControlBarControls = {
5
5
  microphone?: boolean;
6
6
  camera?: boolean;
7
7
  chat?: boolean;
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import type { TrackReferenceOrPlaceholder } from '@livekit/components-core';
3
3
  import type { ParticipantClickEvent } from '@livekit/components-core';
4
- export declare type FocusLayoutContainerProps = React.HTMLAttributes<HTMLDivElement>;
4
+ export type FocusLayoutContainerProps = React.HTMLAttributes<HTMLDivElement>;
5
5
  /**
6
6
  * The `FocusLayoutContainer` is a layout component that expects two children:
7
7
  * A small side component: In a video conference, this is usually a carousel of participants
@@ -12,7 +12,7 @@ export declare function useSettingsToggle({ props }: UseSettingsToggleProps): {
12
12
  'aria-pressed': string;
13
13
  };
14
14
  };
15
- export declare type SettingsMenuToggleProps = React.ButtonHTMLAttributes<HTMLButtonElement>;
15
+ export type SettingsMenuToggleProps = React.ButtonHTMLAttributes<HTMLButtonElement>;
16
16
  /**
17
17
  * The `SettingsMenuToggle` component is a button that toggles the visibility of the `SettingsMenu` component.
18
18
  */
@@ -7,12 +7,12 @@ export declare function chain(...callbacks: any[]): (...args: any[]) => void;
7
7
  interface Props {
8
8
  [key: string]: any;
9
9
  }
10
- declare type TupleTypes<T> = {
10
+ type TupleTypes<T> = {
11
11
  [P in keyof T]: T[P];
12
12
  } extends {
13
13
  [key: number]: infer V;
14
14
  } ? V : never;
15
- declare type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
15
+ type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
16
16
  /**
17
17
  * Merges multiple props objects together. Event handlers are chained,
18
18
  * classNames are combined, and ids are deduplicated - different ids
@@ -14,7 +14,7 @@ export interface TokenResult {
14
14
  accessToken: string;
15
15
  }
16
16
  export declare function isVideoCodec(codec: string): codec is VideoCodec;
17
- export declare type ConnectionDetails = {
17
+ export type ConnectionDetails = {
18
18
  serverUrl: string;
19
19
  roomName: string;
20
20
  participantName: string;
@@ -1,6 +1,6 @@
1
1
  import { BoxProps } from '@mui/material';
2
2
  export declare const PREFIX = "SCDefaultDrawerSkeleton";
3
- export declare type DefaultDrawerSkeletonProps = BoxProps;
3
+ export type DefaultDrawerSkeletonProps = BoxProps;
4
4
  /**
5
5
  * > API documentation for the Community-JS Default Drawer Skeleton component. Learn about the available props and the CSS API.
6
6
 
@@ -1,3 +1,3 @@
1
1
  import { BoxProps } from '@mui/material';
2
- export declare type DefaultHeaderContentProps = BoxProps;
2
+ export type DefaultHeaderContentProps = BoxProps;
3
3
  export default function DefaultHeaderContent(inProps: DefaultHeaderContentProps): JSX.Element;
@@ -17,7 +17,7 @@ export interface NavigationToolbarProps extends ToolbarProps {
17
17
  /**
18
18
  * Searchbar props
19
19
  */
20
- SearchAutocompleteProps?: SearchAutocompleteProps;
20
+ SearchAutocompleteComponentProps?: SearchAutocompleteProps;
21
21
  /**
22
22
  * The navigation path
23
23
  */
@@ -97,7 +97,7 @@ export default function NavigationToolbar(inProps) {
97
97
  props: inProps,
98
98
  name: PREFIX
99
99
  });
100
- const { value = '', className = '', disableSearch = false, disableComposer = false, SearchAutocompleteProps = {}, startActions = null, endActions = null, NavigationSettingsIconButtonComponent = NavigationSettingsIconButton, NavigationMenuIconButtonComponentProps = {}, NavigationMenuIconButtonComponent = NavigationMenuIconButton, children = null, NotificationMenuProps = {}, ComposerIconButtonProps = {}, onOpenNotificationMenu, onCloseNotificationMenu } = props, rest = __rest(props, ["value", "className", "disableSearch", "disableComposer", "SearchAutocompleteProps", "startActions", "endActions", "NavigationSettingsIconButtonComponent", "NavigationMenuIconButtonComponentProps", "NavigationMenuIconButtonComponent", "children", "NotificationMenuProps", "ComposerIconButtonProps", "onOpenNotificationMenu", "onCloseNotificationMenu"]);
100
+ const { value = '', className = '', disableSearch = false, disableComposer = false, SearchAutocompleteComponentProps = {}, startActions = null, endActions = null, NavigationSettingsIconButtonComponent = NavigationSettingsIconButton, NavigationMenuIconButtonComponentProps = {}, NavigationMenuIconButtonComponent = NavigationMenuIconButton, children = null, NotificationMenuProps = {}, ComposerIconButtonProps = {}, onOpenNotificationMenu, onCloseNotificationMenu } = props, rest = __rest(props, ["value", "className", "disableSearch", "disableComposer", "SearchAutocompleteComponentProps", "startActions", "endActions", "NavigationSettingsIconButtonComponent", "NavigationMenuIconButtonComponentProps", "NavigationMenuIconButtonComponent", "children", "NotificationMenuProps", "ComposerIconButtonProps", "onOpenNotificationMenu", "onCloseNotificationMenu"]);
101
101
  // CONTEXT
102
102
  const scUserContext = useSCUser();
103
103
  const scRoutingContext = useSCRouting();
@@ -153,7 +153,7 @@ export default function NavigationToolbar(inProps) {
153
153
  }), "aria-label": "Groups", to: scRoutingContext.url(SCRoutes.GROUPS_SUBSCRIBED_ROUTE_NAME, {}), component: Link }, { children: _jsx(Icon, { children: "groups" }) }))), eventsEnabled && (scUserContext.user || preferences[SCPreferences.CONFIGURATIONS_CONTENT_AVAILABILITY]) && (_jsx(IconButton, Object.assign({ className: classNames(classes.events, {
154
154
  [classes.active]: value.startsWith(scRoutingContext.url(SCRoutes.EVENTS_ROUTE_NAME, {}))
155
155
  }), "aria-label": "Events", to: scRoutingContext.url(SCRoutes.EVENTS_ROUTE_NAME, {}), component: Link }, { children: _jsx(Icon, { children: "CalendarIcon" }) })))] })));
156
- return (_jsxs(Root, Object.assign({ className: classNames(className, classes.root) }, rest, { children: [_jsx(NavigationMenuIconButtonComponent, Object.assign({}, NavigationMenuIconButtonComponentProps)), _jsx(Link, Object.assign({ to: scRoutingContext.url(SCRoutes.HOME_ROUTE_NAME, {}), className: classes.logo }, { children: _jsx("img", { src: preferences[SCPreferences.LOGO_NAVBAR_LOGO], alt: "logo" }) })), !scUserContext.user && !preferences[SCPreferences.ADDONS_CLOSED_COMMUNITY] && (_jsx(Button, Object.assign({ color: "inherit", component: Link, to: scRoutingContext.url(SCRoutes.SIGNUP_ROUTE_NAME, {}), className: classes.register }, { children: _jsx(FormattedMessage, { id: "ui.appBar.navigation.register", defaultMessage: "ui.appBar.navigation.register" }) }))), preferences[SCPreferences.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_ENABLED] && (_jsx(_Fragment, { children: preferences[SCPreferences.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_TEXT] ? (_jsx(Tooltip, Object.assign({ title: preferences[SCPreferences.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_TEXT] }, { children: _jsx(Link, Object.assign({ target: "blank", to: preferences[SCPreferences.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_URL], className: classes.customItem }, { children: _jsx("img", { src: preferences[SCPreferences.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_IMAGE], alt: "custom_item" }) })) }))) : (_jsx(Link, Object.assign({ target: "blank", to: preferences[SCPreferences.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_URL], className: classes.customItem }, { children: _jsx("img", { src: preferences[SCPreferences.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_IMAGE], alt: "custom_item" }) }))) })), _children, (preferences[SCPreferences.CONFIGURATIONS_CONTENT_AVAILABILITY] || scUserContext.user) && !disableSearch ? (_jsx(SearchAutocomplete, Object.assign({ className: classes.search, blurOnSelect: true }, SearchAutocompleteProps))) : (_jsx(Box, { className: classes.search })), startActions, scUserContext.user ? (_jsxs(_Fragment, { children: [showComposer && _jsx(ComposerIconButton, Object.assign({ className: classes.composer }, ComposerIconButtonProps)), _jsx(Tooltip, Object.assign({ title: scUserContext.user.username }, { children: _jsx(IconButton, Object.assign({ component: Link, to: scRoutingContext.url(SCRoutes.USER_PROFILE_ROUTE_NAME, scUserContext.user), "aria-label": "Profile", className: classes.profile }, { children: _jsx(Avatar, { alt: scUserContext.user.username, src: scUserContext.user.avatar }) })) })), _jsxs(_Fragment, { children: [_jsx(IconButton, Object.assign({ className: classNames(classes.notification, {
156
+ return (_jsxs(Root, Object.assign({ className: classNames(className, classes.root) }, rest, { children: [_jsx(NavigationMenuIconButtonComponent, Object.assign({}, NavigationMenuIconButtonComponentProps)), _jsx(Link, Object.assign({ to: scRoutingContext.url(SCRoutes.HOME_ROUTE_NAME, {}), className: classes.logo }, { children: _jsx("img", { src: preferences[SCPreferences.LOGO_NAVBAR_LOGO], alt: "logo" }) })), !scUserContext.user && !preferences[SCPreferences.ADDONS_CLOSED_COMMUNITY] && (_jsx(Button, Object.assign({ color: "inherit", component: Link, to: scRoutingContext.url(SCRoutes.SIGNUP_ROUTE_NAME, {}), className: classes.register }, { children: _jsx(FormattedMessage, { id: "ui.appBar.navigation.register", defaultMessage: "ui.appBar.navigation.register" }) }))), preferences[SCPreferences.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_ENABLED] && (_jsx(_Fragment, { children: preferences[SCPreferences.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_TEXT] ? (_jsx(Tooltip, Object.assign({ title: preferences[SCPreferences.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_TEXT] }, { children: _jsx(Link, Object.assign({ target: "blank", to: preferences[SCPreferences.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_URL], className: classes.customItem }, { children: _jsx("img", { src: preferences[SCPreferences.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_IMAGE], alt: "custom_item" }) })) }))) : (_jsx(Link, Object.assign({ target: "blank", to: preferences[SCPreferences.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_URL], className: classes.customItem }, { children: _jsx("img", { src: preferences[SCPreferences.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_IMAGE], alt: "custom_item" }) }))) })), _children, (preferences[SCPreferences.CONFIGURATIONS_CONTENT_AVAILABILITY] || scUserContext.user) && !disableSearch ? (_jsx(SearchAutocomplete, Object.assign({ className: classes.search, blurOnSelect: true }, SearchAutocompleteComponentProps))) : (_jsx(Box, { className: classes.search })), startActions, scUserContext.user ? (_jsxs(_Fragment, { children: [showComposer && _jsx(ComposerIconButton, Object.assign({ className: classes.composer }, ComposerIconButtonProps)), _jsx(Tooltip, Object.assign({ title: scUserContext.user.username }, { children: _jsx(IconButton, Object.assign({ component: Link, to: scRoutingContext.url(SCRoutes.USER_PROFILE_ROUTE_NAME, scUserContext.user), "aria-label": "Profile", className: classes.profile }, { children: _jsx(Avatar, { alt: scUserContext.user.username, src: scUserContext.user.avatar }) })) })), _jsxs(_Fragment, { children: [_jsx(IconButton, Object.assign({ className: classNames(classes.notification, {
157
157
  [classes.active]: value.startsWith(scRoutingContext.url(SCRoutes.USER_NOTIFICATIONS_ROUTE_NAME, {}))
158
158
  }), "aria-label": "Notification", onClick: handleOpenNotificationMenu }, { children: _jsx(Badge, Object.assign({ badgeContent: scUserContext.user.unseen_notification_banners_counter + scUserContext.user.unseen_interactions_counter, color: "secondary" }, { children: _jsx(Icon, { children: "notifications_active" }) })) })), Boolean(anchorNotification) && (_jsx(NotificationMenu, Object.assign({ className: classes.notificationsMenu, id: "notification-menu", anchorEl: anchorNotification, open: true, onClose: handleCloseNotificationMenu, onClick: handleCloseNotificationMenu, transformOrigin: { horizontal: 'right', vertical: 'top' }, anchorOrigin: { horizontal: 'right', vertical: 'bottom' } }, NotificationMenuProps)))] }), privateMessagingEnabled && (_jsx(IconButton, Object.assign({ className: classNames(classes.messages, {
159
159
  [classes.active]: value.startsWith(scRoutingContext.url(SCRoutes.USER_PRIVATE_MESSAGES_ROUTE_NAME, {}))
@@ -16,7 +16,7 @@ export interface NavigationToolbarMobileProps extends ToolbarProps {
16
16
  /**
17
17
  * Props spread to SearchAutocomplete component
18
18
  */
19
- SearchAutocompleteProps?: SearchAutocompleteProps;
19
+ SearchAutocompleteComponentProps?: SearchAutocompleteProps;
20
20
  /**
21
21
  * Actions to be inserted before composer IconButton
22
22
  */
@@ -69,7 +69,7 @@ export default function NavigationToolbarMobile(inProps) {
69
69
  props: inProps,
70
70
  name: PREFIX
71
71
  });
72
- const { className = '', disableSearch = false, preserveDesktopLogo = false, SearchAutocompleteProps = {}, children = null, startActions = null, endActions = null, NavigationMenuIconButtonComponent = NavigationMenuIconButton, NavigationSettingsIconButtonComponent = NavigationSettingsIconButton, ComposerIconButtonProps = {} } = props, rest = __rest(props, ["className", "disableSearch", "preserveDesktopLogo", "SearchAutocompleteProps", "children", "startActions", "endActions", "NavigationMenuIconButtonComponent", "NavigationSettingsIconButtonComponent", "ComposerIconButtonProps"]);
72
+ const { className = '', disableSearch = false, preserveDesktopLogo = false, SearchAutocompleteComponentProps = {}, children = null, startActions = null, endActions = null, NavigationMenuIconButtonComponent = NavigationMenuIconButton, NavigationSettingsIconButtonComponent = NavigationSettingsIconButton, ComposerIconButtonProps = {} } = props, rest = __rest(props, ["className", "disableSearch", "preserveDesktopLogo", "SearchAutocompleteComponentProps", "children", "startActions", "endActions", "NavigationMenuIconButtonComponent", "NavigationSettingsIconButtonComponent", "ComposerIconButtonProps"]);
73
73
  // CONTEXT
74
74
  const scUserContext = useSCUser();
75
75
  const scRoutingContext = useSCRouting();
@@ -96,10 +96,10 @@ export default function NavigationToolbarMobile(inProps) {
96
96
  // HANDLERS
97
97
  const handleOpenSearch = useCallback(() => {
98
98
  setSearchOpen(true);
99
- }, []);
99
+ }, [setSearchOpen]);
100
100
  const handleCloseSearch = useCallback(() => {
101
101
  setSearchOpen(false);
102
- }, []);
102
+ }, [setSearchOpen]);
103
103
  // RENDER
104
104
  if (scUserContext.loading) {
105
105
  return _jsx(NavigationToolbarMobileSkeleton, {});
@@ -107,7 +107,7 @@ export default function NavigationToolbarMobile(inProps) {
107
107
  const _children = children || (_jsxs(_Fragment, { children: [_jsx(NavigationMenuIconButtonComponent, {}), _jsx(Link, Object.assign({ to: scRoutingContext.url(SCRoutes.HOME_ROUTE_NAME, {}), className: classNames(className, classes.logo, {
108
108
  [classes.logoFlex]: preferences[SCPreferences.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_URL].value
109
109
  }) }, { children: !preserveDesktopLogo ? (_jsx("img", { src: preferences[SCPreferences.LOGO_NAVBAR_LOGO_MOBILE].value, alt: "logo" })) : (_jsx("img", { src: preferences[SCPreferences.LOGO_NAVBAR_LOGO].value, alt: "logo" })) })), preferences[SCPreferences.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_ENABLED].value && (_jsx(Link, Object.assign({ target: "blank", to: preferences[SCPreferences.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_URL].value, className: classes.customItem }, { children: _jsx("img", { src: preferences[SCPreferences.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_IMAGE].value, alt: "custom_item" }) })))] }));
110
- return (_jsxs(Root, Object.assign({ className: classNames(className, classes.root) }, rest, { children: [_children, startActions, (contentAvailable || scUserContext.user) && !disableSearch && (_jsxs(_Fragment, { children: [_jsx(IconButton, Object.assign({ className: classes.search, onClick: handleOpenSearch }, { children: _jsx(Icon, { children: "search" }) })), _jsx(SearchDialog, { className: classes.searchDialog, fullScreen: true, open: searchOpen, SearchAutocompleteProps: Object.assign(Object.assign({}, SearchAutocompleteProps), { onClear: handleCloseSearch }) })] })), endActions, (!postOnlyStaffEnabled || (UserUtils.isStaff(scUserContext.user) && postOnlyStaffEnabled)) &&
110
+ return (_jsxs(Root, Object.assign({ className: classNames(className, classes.root) }, rest, { children: [_children, startActions, (contentAvailable || scUserContext.user) && !disableSearch && (_jsxs(_Fragment, { children: [_jsx(IconButton, Object.assign({ className: classes.search, onClick: handleOpenSearch }, { children: _jsx(Icon, { children: "search" }) })), _jsx(SearchDialog, { className: classes.searchDialog, fullScreen: true, open: searchOpen, SearchAutocompleteComponentProps: Object.assign(Object.assign({}, SearchAutocompleteComponentProps), { onClear: handleCloseSearch }) })] })), endActions, (!postOnlyStaffEnabled || (UserUtils.isStaff(scUserContext.user) && postOnlyStaffEnabled)) &&
111
111
  (scUserContext.user || contentAvailable) &&
112
112
  exploreStreamEnabled && _jsx(ComposerIconButton, Object.assign({}, ComposerIconButtonProps)), scUserContext.user && (groupsEnabled || eventsEnabled) && (_jsx(IconButton, Object.assign({ className: classes.notifications, component: Link, to: scRoutingContext.url(SCRoutes.USER_NOTIFICATIONS_ROUTE_NAME, {}) }, { children: _jsx(Badge, Object.assign({ badgeContent: scUserContext.user.unseen_notification_banners_counter + scUserContext.user.unseen_interactions_counter, color: "secondary" }, { children: _jsx(Icon, { children: "notifications_active" }) })) }))), scUserContext.user ? (_jsx(NavigationSettingsIconButtonComponent, { className: classes.settings })) : (_jsx(Button, Object.assign({ className: classes.login, color: "inherit", component: Link, to: scRoutingContext.url(SCRoutes.SIGNIN_ROUTE_NAME, {}) }, { children: _jsx(FormattedMessage, { id: "ui.appBar.navigation.login", defaultMessage: "ui.appBar.navigation.login" }) })))] })));
113
113
  }
@@ -6,7 +6,7 @@ interface PrivateMessageComponentSkeletonMap {
6
6
  */
7
7
  className?: string;
8
8
  }
9
- export declare type PrivateMessageComponentProps = React.PropsWithChildren<PrivateMessageComponentSkeletonMap>;
9
+ export type PrivateMessageComponentProps = React.PropsWithChildren<PrivateMessageComponentSkeletonMap>;
10
10
  /**
11
11
  * > API documentation for the Community-JS Private Messages Skeleton Template. Learn about the available props and the CSS API.
12
12
 
@@ -6,7 +6,10 @@ export interface SearchDialogProps extends DialogProps {
6
6
  * @default null
7
7
  */
8
8
  className?: string;
9
- SearchAutocompleteProps: SearchAutocompleteProps;
9
+ /**
10
+ * Overrides props for the SearchAutocomplete component.
11
+ */
12
+ SearchAutocompleteComponentProps: SearchAutocompleteProps;
10
13
  /**
11
14
  * Other props
12
15
  */
@@ -28,6 +28,6 @@ export default function Search(inProps) {
28
28
  props: inProps,
29
29
  name: PREFIX
30
30
  });
31
- const { className, SearchAutocompleteProps = { autoFocus: true } } = props, rest = __rest(props, ["className", "SearchAutocompleteProps"]);
32
- return (_jsx(Root, Object.assign({ className: classNames(classes.root, className) }, rest, { children: _jsx(DialogContent, { children: _jsx(SearchAutocomplete, Object.assign({ className: classes.search, blurOnSelect: false, open: true, disablePortal: true }, SearchAutocompleteProps)) }) })));
31
+ const { className, SearchAutocompleteComponentProps = { autoFocus: true } } = props, rest = __rest(props, ["className", "SearchAutocompleteComponentProps"]);
32
+ return (_jsx(Root, Object.assign({ className: classNames(classes.root, className) }, rest, { children: _jsx(DialogContent, { children: _jsx(SearchAutocomplete, Object.assign({ className: classes.search, blurOnSelect: false, open: true, disablePortal: true }, SearchAutocompleteComponentProps)) }) })));
33
33
  }
@@ -1,6 +1,6 @@
1
1
  import { Dispatch } from 'react';
2
2
  import { SCCourseType } from '@selfcommunity/types';
3
- declare type HeaderCellsType = {
3
+ type HeaderCellsType = {
4
4
  id?: string;
5
5
  };
6
6
  export interface CourseUsersTableProps {
@@ -1,5 +1,5 @@
1
1
  import { Component, ReactNode, CSSProperties } from 'react';
2
- declare type Fn = () => any;
2
+ type Fn = () => any;
3
3
  export interface InfiniteScrollProps {
4
4
  next?: Fn;
5
5
  hasMoreNext?: boolean;
@@ -1,5 +1,5 @@
1
1
  import type { ComponentType } from "react";
2
- declare type FileInputProps = {
2
+ type FileInputProps = {
3
3
  capture?: string;
4
4
  accept: string;
5
5
  };
@@ -75,6 +75,6 @@ export interface OutlinedUrlTextFieldProps extends BaseUrlTextFieldProps {
75
75
  */
76
76
  InputProps?: Partial<OutlinedInputProps>;
77
77
  }
78
- export declare type UrlTextFieldProps = StandardUrlTextFieldProps | FilledUrlTextFieldProps | OutlinedUrlTextFieldProps;
78
+ export type UrlTextFieldProps = StandardUrlTextFieldProps | FilledUrlTextFieldProps | OutlinedUrlTextFieldProps;
79
79
  declare const _default: (props: UrlTextFieldProps) => JSX.Element;
80
80
  export default _default;
@@ -1,6 +1,6 @@
1
1
  import { TextFieldProps } from '@mui/material';
2
2
  import { SCMetadataType } from '@selfcommunity/types';
3
- export declare type MetadataFieldProps = TextFieldProps & {
3
+ export type MetadataFieldProps = TextFieldProps & {
4
4
  metadata: SCMetadataType;
5
5
  };
6
6
  declare const MetadataField: (props: MetadataFieldProps) => JSX.Element;
@@ -32,18 +32,18 @@ import React from 'react';
32
32
  /**
33
33
  * Types/interfaces
34
34
  */
35
- export declare type UseStickyBoxProps = {
35
+ export type UseStickyBoxProps = {
36
36
  offsetTop?: number;
37
37
  offsetBottom?: number;
38
38
  bottom?: boolean;
39
39
  };
40
- export declare type StickyBoxProps = UseStickyBoxProps & {
40
+ export type StickyBoxProps = UseStickyBoxProps & {
41
41
  style?: React.CSSProperties;
42
42
  className?: string;
43
43
  children?: React.ReactNode;
44
44
  };
45
- export declare type useStickyBox = <T = any>(options?: UseStickyBoxProps) => React.RefCallback<T>;
46
- export declare type StickyBoxComponent = React.FunctionComponent<StickyBoxProps>;
45
+ export type useStickyBox = <T = any>(options?: UseStickyBoxProps) => React.RefCallback<T>;
46
+ export type StickyBoxComponent = React.FunctionComponent<StickyBoxProps>;
47
47
  /**
48
48
  * useStickyBox
49
49
  * @param offsetTop
@@ -1,5 +1,5 @@
1
1
  import { TextFieldProps } from '@mui/material';
2
- export declare type UsernameTextFieldProps = {
2
+ export type UsernameTextFieldProps = {
3
3
  /**
4
4
  * Allows the field to accept an email format as well
5
5
  */
@@ -10,6 +10,6 @@ export interface ComposerLayerProps {
10
10
  onSave: (value: any) => void;
11
11
  defaultValue: any;
12
12
  }
13
- export declare type ComposerContentType = Omit<SCFeedPostType, 'id' | 'last_activity_at' | 'added_at' | 'slug' | 'summary' | 'deleted' | 'collapsed' | 'comment_count' | 'share_count' | 'view_count' | 'vote_count' | 'follower_count' | 'reaction' | 'reactions_count' | 'flag_count' | 'type'> & {
13
+ export type ComposerContentType = Omit<SCFeedPostType, 'id' | 'last_activity_at' | 'added_at' | 'slug' | 'summary' | 'deleted' | 'collapsed' | 'comment_count' | 'share_count' | 'view_count' | 'vote_count' | 'follower_count' | 'reaction' | 'reactions_count' | 'flag_count' | 'type'> & {
14
14
  title?: string;
15
15
  };