@plusscommunities/pluss-circles-web 1.5.10 → 1.6.0-beta

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.
@@ -13,41 +13,781 @@ import _ from 'lodash';
13
13
  import moment from 'moment';
14
14
  import { Link } from 'react-router-dom';
15
15
  import * as PlussCore from '@plusscommunities/pluss-core-web';
16
- import { Table } from 'react-bootstrap';
17
- import FontAwesome from 'react-fontawesome';
18
16
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
17
+ import 'js-cookie';
18
+ import 'crypto-js';
19
+ import * as PlussGroupsWeb from '@plusscommunities/pluss-circles-web-groups';
20
+ import * as PlussMaintenanceWeb from '@plusscommunities/pluss-maintenance-web';
21
+ import * as PlussFormsWeb from '@plusscommunities/pluss-maintenance-web-forms';
22
+ import * as PlussNewsletterWeb from '@plusscommunities/pluss-newsletter-web';
23
+ import * as PlussFeatureBuilder from '@plusscommunities/pluss-feature-builder-web';
24
+ import * as PlussFeatureBuilderA from '@plusscommunities/pluss-feature-builder-web-a';
25
+ import * as PlussFeatureBuilderB from '@plusscommunities/pluss-feature-builder-web-b';
26
+ import 'axios';
27
+ import 'aws-amplify';
28
+ import { Table } from 'react-bootstrap';
29
+ import { Icon } from '@components';
19
30
  import { withRouter } from 'react-router';
20
31
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
21
- import { faUserGroup, faMessage, faUserTie, faUsers, faUsersRectangle, faPeopleArrows } from '@fortawesome/free-solid-svg-icons';
22
32
 
23
33
  var values = {
24
- featureKey: 'circles',
25
- entityKey: 'circle',
26
- entityName: 'circle',
27
- serviceKey: 'circles',
28
- permission: 'circles',
29
- menuIcon: 'circle-o',
30
- isFontAwesome: true,
31
- reducerKey: 'circles',
32
- actionCircleKey: 'CIRCLE',
33
- textFeatureTitle: 'Circles',
34
- textAddMenuTitle: 'Circle',
34
+ featureKey: "circles",
35
+ entityKey: "circle",
36
+ entityName: "circle",
37
+ serviceKey: "circles",
38
+ permission: "circles",
39
+ menuIcon: "circle-o",
40
+ reducerKey: "circles",
41
+ actionCircleKey: "CIRCLE",
42
+ textFeatureTitle: "Circles",
43
+ textAddMenuTitle: "Circle",
35
44
  textEmptyGroups: "You aren't in any Circles",
36
- textEmptyPeople: 'Contacts will show here',
37
- componentCircles: 'Circles',
38
- componentAddCircle: 'AddCircle',
39
- componentCircle: 'Circle',
40
- inviteKey: 'circleInvite',
41
- messageKey: 'circleMessage',
42
- chatRoute: 'circleChat',
43
- updateKeyUserCircles: 'userCircles',
44
- allowPublicKey: 'circleAllowPublicCircles',
45
+ textEmptyPeople: "Contacts will show here",
46
+ componentCircles: "Circles",
47
+ componentAddCircle: "AddCircle",
48
+ componentCircle: "Circle",
49
+ inviteKey: "circleInvite",
50
+ messageKey: "circleMessage",
51
+ chatRoute: "circleChat",
52
+ updateKeyUserCircles: "userCircles",
53
+ allowPublicKey: "circleAllowPublicCircles",
45
54
  allowPublicKeyDefault: false,
46
55
  settings: {
47
56
  allowAnyCreate: false
48
57
  }
49
58
  };
50
59
 
60
+ PlussCore.Analytics.compileStats;
61
+ PlussCore.Analytics.getInsight;
62
+ PlussCore.Analytics.getAnalyticsFilterOptions;
63
+ PlussCore.Analytics.countActivities;
64
+ PlussCore.Analytics.generateDateRangeObjects;
65
+ PlussCore.Analytics.generateDateActivities;
66
+
67
+ var Colours$3 = PlussCore.Colours;
68
+ Colours$3.COLOUR_DUSK_LIGHT;
69
+ var COLOUR_BRANDING_MAIN = '#4a57b7';
70
+ var COLOUR_BRANDING_OFF = '#597db4';
71
+ var COLOUR_BRANDING_APP = '#4a57b7';
72
+
73
+ var baseStage = 'dev';
74
+ var baseClient = 'dev';
75
+ var clientName = 'Pluss Communities Development';
76
+ var baseUploadsUrl = "https://".concat(baseClient, "-").concat(baseStage, "-uploads.s3.ap-southeast-2.amazonaws.com/");
77
+ var baseLibraryUrl = "https://pluss60-dev-uploads.s3.ap-southeast-2.amazonaws.com/";
78
+ var baseAPIUrl = "https://".concat(baseClient, ".pluss60-api.com");
79
+ var logo = 'https://pluss60-dev-uploads.s3.ap-southeast-2.amazonaws.com/uploads/users/ap-southeast-2:efbab8db-136a-446e-b14a-d00af0067841/public/d78861b4474381d18bbb3c806a/plusscommunities.png';
80
+ var newsHaveTags = true;
81
+ var hasAvailableNews = false;
82
+ var DEFAULT_ALLOW_COMMENTS = true;
83
+ var AWS_UPLOADS_BUCKET = "".concat(baseClient, "-").concat(baseStage, "-uploads");
84
+ var MAKE_API_KEY = '1162b2f93e93eb238e3e29aa602c60369dc6c297';
85
+ var UTC_OFFSET = 10;
86
+
87
+ var CONST_STRINGS = {
88
+ REQUEST: 'Request',
89
+ MAINTENANCE_REQUEST: 'Request',
90
+ MAINTENANCE: 'Requests',
91
+ MAINTENANCE_HOME: 'Must be home',
92
+ JOB_TYPE: 'Request Type',
93
+ PERMISSION_MAINTENANCETYPES: 'Manage Request Types',
94
+ PERMISSION_MAINTENANCETRACKING: 'Request Tracking',
95
+ PERMISSION_FAQS: 'Manage Information',
96
+ FAQS: 'Information',
97
+ FAQ_ENTRY: 'info page',
98
+ FEEDBACK_ANONYMOUS: 'Anonymous',
99
+ KIOSK_FORM_LOCKOUT: 'Lockout Form',
100
+ KIOSK_FORM_SIGNIN: 'Sign In Form',
101
+ FACILITY: 'Facility',
102
+ FACILITIES: 'Facilities',
103
+ FACILITIES_MANAGEMENT: 'Facilities Management'
104
+ };
105
+
106
+ function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
107
+
108
+ function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$5(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
109
+
110
+ var extensions = [PlussGroupsWeb, PlussMaintenanceWeb, PlussNewsletterWeb, PlussFormsWeb, PlussFeatureBuilder, PlussFeatureBuilderA, PlussFeatureBuilderB];
111
+ var extensionViewWidgets = {};
112
+ var extensionViewFulls = {};
113
+ var extensionPreviewWidgets = {};
114
+ var extensionPreviewFulls = {};
115
+ var extensionPreviewGridIcons = {};
116
+ var extensionActivityTexts = {};
117
+ var extensionWidgetInfos = {};
118
+ var extensionWidgetOptions = [];
119
+ var extensionWidgetKeys = [];
120
+ var extensionFeatureInfo = [];
121
+ var extensionRoutes = [];
122
+ var extensionHiddenSections = [];
123
+ var extensionMoreSections = [];
124
+
125
+ var extensionReducers = _objectSpread$5({}, PlussCore.Reducers);
126
+
127
+ var extensionScreens = {};
128
+ var extensionAnalytics = {};
129
+ var extensionDashboardLoaders = {};
130
+ var extensionStartupActions = [];
131
+ var extensionNotificationPreferences = []; // Configure environment settings for the core
132
+
133
+ var environment = {
134
+ baseStage: baseStage,
135
+ baseAPIUrl: baseAPIUrl,
136
+ baseUploadsUrl: baseUploadsUrl,
137
+ baseLibraryUrl: baseLibraryUrl,
138
+ uploadBucket: AWS_UPLOADS_BUCKET,
139
+ colourBrandingMain: COLOUR_BRANDING_MAIN,
140
+ colourBrandingOff: COLOUR_BRANDING_OFF,
141
+ colourBrandingApp: COLOUR_BRANDING_APP,
142
+ defaultProfileImage: "https://pluss-prd-uploads.s3.ap-southeast-2.amazonaws.com/uploads/users/ap-southeast-2:80aecdcb-9955-493e-a341-2f2263f64777/public/d6a654304734aca4f7ebb19249/profilepic.png",
143
+ utcOffset: UTC_OFFSET,
144
+ hasAvailableNews: hasAvailableNews,
145
+ newsHaveTags: newsHaveTags,
146
+ defaultAllowComments: DEFAULT_ALLOW_COMMENTS,
147
+ makeApiKey: MAKE_API_KEY,
148
+ logo: logo,
149
+ clientName: clientName
150
+ };
151
+ PlussCore.Config.init(environment);
152
+ /**
153
+ * The internal structure used to register a feature with the PlussCore system.
154
+ * @typedef {Object} ExtensionModule
155
+ * @property {Object} Config - Configuration metadata.
156
+ * @property {string} Config.key - Unique widget key.
157
+ * @property {string} Config.singularName - Display name.
158
+ * @property {string} [Config.description] - Description text.
159
+ * @property {string} [Config.emptyText] - Empty state text.
160
+ * @property {Array<Object>} [Config.widgetOptions] - Options for the settings panel.
161
+ * @property {Object} [Config.menu] - Side menu configuration.
162
+ * @property {string} Config.menu.Icon - Icon name.
163
+ * @property {string} Config.menu.Label - Label text.
164
+ * @property {React.ComponentType<any>} ViewWidget - React component for the dashboard widget view.
165
+ * @property {React.ComponentType<any>} ViewFull - React component for the full page view.
166
+ * @property {React.ComponentType<any>} [PreviewWidget] - React component for the feature picker preview.
167
+ * @property {React.ComponentType<any>} [PreviewFull] - React component for the feature picker full preview.
168
+ */
169
+
170
+ var installExtension = function installExtension(e) {
171
+ // Determine the key from the Config
172
+ var _e$Config = e.Config,
173
+ key = _e$Config.key,
174
+ activities = _e$Config.activities,
175
+ description = _e$Config.description,
176
+ emptyText = _e$Config.emptyText,
177
+ widgetOptions = _e$Config.widgetOptions,
178
+ menu = _e$Config.menu,
179
+ addUrl = _e$Config.addUrl,
180
+ addPermission = _e$Config.addPermission,
181
+ singularName = _e$Config.singularName,
182
+ routes = _e$Config.routes,
183
+ permissions = _e$Config.permissions,
184
+ hiddenSections = _e$Config.hiddenSections,
185
+ moreSections = _e$Config.moreSections;
186
+ _e$Config.aliases;
187
+ var hiddenFromFeaturePicker = _e$Config.hiddenFromFeaturePicker,
188
+ featurePickerInfo = _e$Config.featurePickerInfo,
189
+ notificationPreference = _e$Config.notificationPreference; // Prevent duplicate registration
190
+
191
+ if (extensionWidgetKeys.includes(key)) return; // Configure environment settings if the extension has an init
192
+
193
+ if (e.Config.init) e.Config.init(environment); // Configure feature picker controls
194
+
195
+ if (e.ViewWidget) extensionViewWidgets[key] = e.ViewWidget;
196
+ if (e.ViewFull) extensionViewFulls[key] = e.ViewFull;
197
+ if (e.PreviewWidget) extensionPreviewWidgets[key] = e.PreviewWidget;
198
+ if (e.PreviewFull) extensionPreviewFulls[key] = e.PreviewFull;
199
+ if (e.PreviewGrid) extensionPreviewGridIcons[key] = e.PreviewGrid;
200
+ if (e.Analytics) extensionAnalytics[key] = e.Analytics;
201
+
202
+ if (e.DashboardLoader) {
203
+ extensionDashboardLoaders[key] = e.DashboardLoader;
204
+ } // Configure activity list
205
+
206
+
207
+ if (activities) {
208
+ activities.forEach(function (a) {
209
+ extensionActivityTexts[a] = e.ActivityText;
210
+ });
211
+ } // Configure reducers
212
+
213
+
214
+ if (e.Reducers) Object.assign(extensionReducers, e.Reducers); // Configure screens
215
+
216
+ if (e.Screens) Object.assign(extensionScreens, e.Screens); // Configurations
217
+
218
+ extensionWidgetInfos[key] = {
219
+ description: description || "",
220
+ emptyText: emptyText || ""
221
+ };
222
+
223
+ if (widgetOptions && widgetOptions.length > 0) {
224
+ // Note: pushing to exported let/const arrays might require reassignment
225
+ // but since arrays are reference types, pushing works if imported correctly.
226
+ // ideally extensionWidgetOptions should be exported as a getter or mutable object
227
+ widgetOptions.forEach(function (o) {
228
+ extensionWidgetOptions.push(_objectSpread$5({
229
+ key: key
230
+ }, o));
231
+ });
232
+ }
233
+
234
+ extensionWidgetKeys.push(key); // Handle both single menu object and array of menu objects
235
+
236
+ var menuItems = Array.isArray(menu) ? menu : [menu].filter(Boolean);
237
+ menuItems.forEach(function (menuItem) {
238
+ extensionFeatureInfo.push(_objectSpread$5({
239
+ key: key,
240
+ addUrl: addUrl || "",
241
+ addPermission: addPermission || "",
242
+ singularName: singularName || "",
243
+ hiddenFromFeaturePicker: hiddenFromFeaturePicker || false,
244
+ featurePickerContent: e.FeaturePickerContent,
245
+ featurePickerInfo: featurePickerInfo
246
+ }, menuItem));
247
+ });
248
+ if (routes && routes.length > 0) routes.forEach(function (r) {
249
+ return extensionRoutes.push(r);
250
+ });
251
+
252
+ if (permissions && permissions.length > 0) {
253
+ permissions.forEach(function (p) {
254
+ });
255
+ }
256
+
257
+ if (hiddenSections && hiddenSections.length > 0) hiddenSections.forEach(function (h) {
258
+ return extensionHiddenSections.push(h);
259
+ });
260
+ if (moreSections && moreSections.length > 0) moreSections.forEach(function (m) {
261
+ return extensionMoreSections.push(m);
262
+ });
263
+
264
+ if (e.getStartupAction) {
265
+ extensionStartupActions.push(e.getStartupAction);
266
+ } // Collect notification preferences for Personal Settings page
267
+ // Extensions must provide: key, label, permission in their notificationPreference config
268
+
269
+
270
+ if (notificationPreference && notificationPreference.permission) {
271
+ extensionNotificationPreferences.push(_objectSpread$5(_objectSpread$5({}, notificationPreference), {}, {
272
+ feature: key
273
+ }));
274
+ }
275
+ }; // Install all the current extensions
276
+
277
+ extensions.forEach(installExtension);
278
+
279
+ PlussCore.Session.isTVEnabled;
280
+
281
+ var Helper$4 = PlussCore.Helper;
282
+ Helper$4.getUrlParams;
283
+ Helper$4.safeReadParams;
284
+ Helper$4.get1400;
285
+ Helper$4.getThumb300;
286
+ Helper$4.generateImageName;
287
+ Helper$4.getExtension;
288
+ Helper$4.getFileName;
289
+ Helper$4.isVideo;
290
+ Helper$4.getFirstName;
291
+ Helper$4.isEmail;
292
+ Helper$4.isUrl;
293
+ Helper$4.randomString;
294
+ Helper$4.toParagraphed;
295
+ Helper$4.onlyAlphanumeric;
296
+ Helper$4.getSiteName;
297
+ Helper$4.getSiteNameFromRoles;
298
+ Helper$4.getSiteSettingFromState;
299
+ Helper$4.getSiteLevelFromState;
300
+ Helper$4.getMerchantsFromState;
301
+ Helper$4.readJSONFromStorage;
302
+ Helper$4.setLocalStorage;
303
+ Helper$4.getTimepickerTime;
304
+ Helper$4.timeToMinutes;
305
+ Helper$4.timepickerToMinutes;
306
+ Helper$4.minutesToString;
307
+ Helper$4.hasTimeframeOverlap;
308
+ [].concat(_toConsumableArray(extensionFeatureInfo), [{
309
+ key: "dashboard",
310
+ order: 1,
311
+ text: "Dashboard",
312
+ icon: "dashboard",
313
+ isFontAwesome: false,
314
+ url: "/mastermenu",
315
+ countProps: null,
316
+ visibleExps: null,
317
+ isHubLink: true
318
+ }, {
319
+ key: "featurePicker",
320
+ order: 5,
321
+ text: "Feature Picker",
322
+ icon: "mobile",
323
+ iconStyle: {
324
+ fontSize: 18
325
+ },
326
+ isFontAwesome: true,
327
+ url: "/featurepicker",
328
+ visibleExps: {
329
+ type: "permission",
330
+ value: "featurePicker"
331
+ },
332
+ countProps: null,
333
+ isHubLink: true
334
+ }, {
335
+ key: "branding",
336
+ order: 6,
337
+ text: "Branding",
338
+ icon: "paint-brush",
339
+ isFontAwesome: true,
340
+ url: "/branding/edit",
341
+ visibleExps: {
342
+ type: "permission",
343
+ value: "featurePicker"
344
+ },
345
+ isHubLink: true
346
+ }, {
347
+ key: "analytics",
348
+ order: 3,
349
+ text: "Analytics",
350
+ icon: "chart-line",
351
+ isFontAwesome: true,
352
+ url: "/analytics",
353
+ countProps: null,
354
+ isHubLink: true,
355
+ visibleExps: null
356
+ }, {
357
+ key: "events",
358
+ order: 4,
359
+ text: "Events",
360
+ icon: "event",
361
+ isFontAwesome: false,
362
+ url: "/events",
363
+ addUrl: "/events/event",
364
+ addPermission: "events",
365
+ singularName: "event",
366
+ countProps: ["eventSubmissions", "length"],
367
+ visibleExps: {
368
+ type: "and",
369
+ exps: [{
370
+ type: "feature",
371
+ value: "events"
372
+ }, {
373
+ type: "or",
374
+ exps: [{
375
+ type: "permission",
376
+ value: "events"
377
+ }, {
378
+ type: "permission",
379
+ value: "eventAttendance"
380
+ }, {
381
+ type: "permission",
382
+ value: "eventSubmit"
383
+ }]
384
+ }]
385
+ },
386
+ featurePickerInfo: {
387
+ image: "https://pluss-prd-uploads.s3.ap-southeast-2.amazonaws.com/uploads/users/ap-southeast-2:80aecdcb-9955-493e-a341-2f2263f64777/public/a10a6c0e45c1bafcc84c6ca732/events.jpg",
388
+ text: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("p", null, "Calendars, Event Schedules, Reservation Lists."), /*#__PURE__*/React.createElement("p", null, "The Events your community puts on come to life with this feature."), /*#__PURE__*/React.createElement("p", null, "Collect payments, remind attendees, get those big events promoted early and they'll be coming back for more. Print event posters, and upload video to the Event so others can look back at it."), /*#__PURE__*/React.createElement("p", null, "It's all here.")),
389
+ layoutDisclaimer: true
390
+ }
391
+ }, {
392
+ key: "alerts",
393
+ order: 3,
394
+ text: "Alerts",
395
+ icon: "triangle-exclamation",
396
+ isFontAwesome: true,
397
+ url: "/alerts",
398
+ addUrl: "/alerts/addalert",
399
+ addPermission: "alerts",
400
+ singularName: "alert",
401
+ countProps: null,
402
+ visibleExps: {
403
+ type: "and",
404
+ exps: [{
405
+ type: "feature",
406
+ value: "alerts"
407
+ }, {
408
+ type: "permission",
409
+ value: "alerts"
410
+ }]
411
+ }
412
+ }, {
413
+ key: "users",
414
+ order: 2,
415
+ text: "Users",
416
+ icon: "people",
417
+ isFontAwesome: false,
418
+ url: "/usershub",
419
+ addUrl: "/usershub/adduser",
420
+ addPermission: "userManagement",
421
+ singularName: "user",
422
+ countProps: null,
423
+ isHubLink: true,
424
+ visibleExps: {
425
+ type: "and",
426
+ exps: [{
427
+ type: "feature",
428
+ value: "users"
429
+ }, {
430
+ type: "permission",
431
+ value: "userManagement"
432
+ }]
433
+ }
434
+ }, {
435
+ key: "gallery",
436
+ order: 6,
437
+ text: "Gallery",
438
+ icon: "folder-image",
439
+ isFontAwesome: true,
440
+ url: "/imageLibrary",
441
+ addPermission: "addToPublishingImageLibrary",
442
+ singularName: "gallery image",
443
+ countProps: null,
444
+ visibleExps: {
445
+ type: "and",
446
+ exps: [{
447
+ type: "feature",
448
+ value: "gallery"
449
+ }, {
450
+ type: "permission",
451
+ value: "addToPublishingImageLibrary"
452
+ }]
453
+ },
454
+ featurePickerInfo: {
455
+ image: "https://pluss-prd-uploads.s3.ap-southeast-2.amazonaws.com/uploads/users/ap-southeast-2:80aecdcb-9955-493e-a341-2f2263f64777/public/fb65f4c94f4498e7770240fbd9/gallery.jpg",
456
+ text: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("p", null, "All of the great imagery from your community events, sites and people."), /*#__PURE__*/React.createElement("p", null, "Create Gallery folders to let people see more, organise all of your photos, and let the community submit their own. Pictures still tell a thousand words, so Galleries are easy updates.")),
457
+ layoutDisclaimer: true
458
+ }
459
+ }, {
460
+ key: "services",
461
+ order: 7,
462
+ text: "Services",
463
+ icon: "stethoscope",
464
+ isFontAwesome: true,
465
+ url: "/services",
466
+ addUrl: "/services/service",
467
+ addPermission: "services",
468
+ singularName: "service",
469
+ countProps: null,
470
+ visibleExps: {
471
+ type: "and",
472
+ exps: [{
473
+ type: "feature",
474
+ value: "services"
475
+ }, {
476
+ type: "permission",
477
+ value: "services"
478
+ }]
479
+ }
480
+ }, {
481
+ key: "sponsors",
482
+ order: 8,
483
+ text: "Sponsors",
484
+ icon: "star",
485
+ isFontAwesome: true,
486
+ url: "/sponsors",
487
+ addUrl: "/sponsors/sponsor",
488
+ addPermission: "services",
489
+ singularName: "sponsor",
490
+ countProps: null,
491
+ visibleExps: {
492
+ type: "and",
493
+ exps: [{
494
+ type: "feature",
495
+ value: "services"
496
+ }, {
497
+ type: "permission",
498
+ value: "services"
499
+ }]
500
+ }
501
+ }, {
502
+ key: "bookings",
503
+ order: 8,
504
+ text: "Bookings",
505
+ icon: "ticket",
506
+ isFontAwesome: true,
507
+ url: "/bookings",
508
+ addUrl: "/bookings/booking",
509
+ addPermission: "bookings",
510
+ singularName: "booking",
511
+ countProps: null,
512
+ visibleExps: {
513
+ type: "and",
514
+ exps: [{
515
+ type: "or",
516
+ exps: [{
517
+ type: "feature",
518
+ value: "services"
519
+ }, {
520
+ type: "feature",
521
+ value: "facilities"
522
+ }]
523
+ }, {
524
+ type: "or",
525
+ exps: [{
526
+ type: "permission",
527
+ value: "bookings"
528
+ }, {
529
+ type: "permission",
530
+ value: "assignedBookings"
531
+ }]
532
+ }]
533
+ }
534
+ }, {
535
+ key: "info",
536
+ order: 11,
537
+ text: "Information",
538
+ icon: "info",
539
+ isFontAwesome: false,
540
+ url: "/info",
541
+ addUrl: "/info/infopage",
542
+ addPermission: "infoPages",
543
+ singularName: CONST_STRINGS.FAQ_ENTRY,
544
+ countProps: null,
545
+ visibleExps: {
546
+ type: "or",
547
+ exps: [{
548
+ type: "and",
549
+ exps: [{
550
+ type: "feature",
551
+ value: "importantContacts"
552
+ }, {
553
+ type: "permission",
554
+ value: "importantContacts"
555
+ }]
556
+ }, {
557
+ type: "and",
558
+ exps: [{
559
+ type: "feature",
560
+ value: "maps"
561
+ }, {
562
+ type: "permission",
563
+ value: "maps"
564
+ }]
565
+ }, {
566
+ type: "and",
567
+ exps: [{
568
+ type: "feature",
569
+ value: "infoPages"
570
+ }, {
571
+ type: "permission",
572
+ value: "infoPages"
573
+ }]
574
+ }, // {
575
+ // type: 'and',
576
+ // exps: [
577
+ // { type: 'feature', value: 'news' },
578
+ // { type: 'permission', value: 'welcomePages' },
579
+ // ],
580
+ // },
581
+ {
582
+ type: "permission",
583
+ value: "terms"
584
+ }]
585
+ }
586
+ }, {
587
+ key: "surveys",
588
+ order: 12,
589
+ text: "Surveys",
590
+ icon: "pie-chart",
591
+ isFontAwesome: true,
592
+ url: "/polls",
593
+ addUrl: "/polls/poll",
594
+ addPermission: "polls",
595
+ singularName: "survey",
596
+ countProps: null,
597
+ visibleExps: {
598
+ type: "and",
599
+ exps: [{
600
+ type: "feature",
601
+ value: "surveys"
602
+ }, {
603
+ type: "permission",
604
+ value: "polls"
605
+ }]
606
+ }
607
+ }, {
608
+ key: "facilities",
609
+ order: 9,
610
+ text: CONST_STRINGS.FACILITIES,
611
+ icon: "facility",
612
+ isFontAwesome: false,
613
+ url: "/facilities",
614
+ addUrl: "/facilities/facility",
615
+ addPermission: "facilities",
616
+ singularName: "facility",
617
+ countProps: null,
618
+ visibleExps: {
619
+ type: "and",
620
+ exps: [{
621
+ type: "feature",
622
+ value: "facilities"
623
+ }, {
624
+ type: "permission",
625
+ value: "facilities"
626
+ }]
627
+ }
628
+ }, {
629
+ key: "offers",
630
+ order: 13,
631
+ text: "Offers",
632
+ icon: "shopping-bag",
633
+ isFontAwesome: true,
634
+ url: "/offers",
635
+ addUrl: "/offers/offer",
636
+ addPermission: "offers",
637
+ singularName: "offer",
638
+ countProps: null,
639
+ visibleExps: {
640
+ type: "and",
641
+ exps: [{
642
+ type: "feature",
643
+ value: "offers"
644
+ }, {
645
+ type: "permission",
646
+ value: "offers"
647
+ }]
648
+ },
649
+ linkableContent: {
650
+ hasContent: true //TODO expose content
651
+
652
+ }
653
+ }, {
654
+ key: "signin",
655
+ order: 1,
656
+ text: "Sign Ins",
657
+ icon: "signin",
658
+ isFontAwesome: false,
659
+ url: "/signinHub",
660
+ addUrl: null,
661
+ addPermission: "visitors",
662
+ singularName: "visitor",
663
+ countProps: null,
664
+ isToolLink: true,
665
+ visibleExps: {
666
+ type: "and",
667
+ exps: [{
668
+ type: "feature",
669
+ value: "visitors"
670
+ }, {
671
+ type: "permission",
672
+ value: "visitors"
673
+ }]
674
+ }
675
+ }, {
676
+ key: "food",
677
+ order: 15,
678
+ text: "Restaurant Manager",
679
+ icon: "cutlery",
680
+ isFontAwesome: true,
681
+ url: "/food",
682
+ addUrl: null,
683
+ addPermission: "food",
684
+ singularName: "dish",
685
+ countProps: null,
686
+ visibleExps: {
687
+ type: "and",
688
+ exps: [{
689
+ type: "feature",
690
+ value: "food"
691
+ }, {
692
+ type: "permission",
693
+ value: "food"
694
+ }]
695
+ }
696
+ }, {
697
+ key: "payment",
698
+ order: 2,
699
+ text: "Payment",
700
+ icon: "dollar-sign",
701
+ isFontAwesome: true,
702
+ url: "/payment",
703
+ addUrl: null,
704
+ addPermission: null,
705
+ singularName: "payment",
706
+ countProps: null,
707
+ isToolLink: true,
708
+ visibleExps: {
709
+ type: "and",
710
+ exps: [{
711
+ type: "props",
712
+ value: "paymentEnabled"
713
+ }, {
714
+ type: "or",
715
+ exps: [{
716
+ type: "permission",
717
+ value: "managePayments"
718
+ }, {
719
+ type: "permission",
720
+ value: "viewPayments"
721
+ }]
722
+ }]
723
+ }
724
+ }, {
725
+ key: "tvs",
726
+ order: 3,
727
+ text: "TVs",
728
+ icon: "tv",
729
+ isFontAwesome: true,
730
+ url: "/activatetv",
731
+ singularName: "tv",
732
+ countProps: null,
733
+ isToolLink: true,
734
+ visibleExps: {
735
+ type: "permission",
736
+ value: "activateDevices"
737
+ }
738
+ }, {
739
+ key: "automation",
740
+ order: 4,
741
+ text: "Automation",
742
+ icon: "bolt",
743
+ isFontAwesome: true,
744
+ url: "/automationHub",
745
+ addUrl: null,
746
+ addPermission: null,
747
+ singularName: "automation",
748
+ countProps: null,
749
+ isToolLink: true,
750
+ visibleExps: {
751
+ type: "master",
752
+ value: true
753
+ }
754
+ }, {
755
+ key: "master",
756
+ order: 5,
757
+ text: "Master",
758
+ icon: "tasks",
759
+ isFontAwesome: true,
760
+ url: "/master",
761
+ addUrl: null,
762
+ addPermission: null,
763
+ singularName: "master",
764
+ countProps: null,
765
+ isToolLink: true,
766
+ visibleExps: {
767
+ type: "master",
768
+ value: true
769
+ }
770
+ }]);
771
+
772
+ var PERMISSION_CATEGORIES = {
773
+ USER_MANAGEMENT: "User Management",
774
+ EVENTS: "Events",
775
+ COMMUNICATION: "Communication",
776
+ FACILITIES_BOOKINGS: "Facilities & Bookings",
777
+ SITE_ADMINISTRATION: "Site Administration",
778
+ PAYMENTS: "Payments",
779
+ CONTENT: "Content Management",
780
+ EXTRAS: "Extras",
781
+ PROFILE_SETTINGS: "Profile Settings",
782
+ USER_FEATURES: "User Features"
783
+ }; // NOTE: important and optional are currently hidden
784
+
785
+ var IMPORTANCE_LEVELS = {
786
+ CRITICAL: "critical",
787
+ IMPORTANT: "important",
788
+ OPTIONAL: "optional"
789
+ };
790
+
51
791
  // import * as PlussCore from '../../pluss-core/src';
52
792
  var FeatureConfig = {
53
793
  key: values.featureKey,
@@ -59,7 +799,7 @@ var FeatureConfig = {
59
799
  main: true,
60
800
  hideOnTabNumbers: [],
61
801
  optionKey: values.allowPublicKey,
62
- type: 'toggle',
802
+ type: "toggle",
63
803
  inverseOption: false,
64
804
  title: "Allow for public ".concat(values.entityName, "s"),
65
805
  description: "Public ".concat(values.entityName, "s can be viewed and joined by anyone in the community."),
@@ -67,19 +807,18 @@ var FeatureConfig = {
67
807
  default: values.allowPublicKeyDefault
68
808
  }],
69
809
  featurePickerInfo: {
70
- image: 'https://pluss-prd-uploads.s3.ap-southeast-2.amazonaws.com/uploads/users/ap-southeast-2:80aecdcb-9955-493e-a341-2f2263f64777/public/e4a5948c40908e2137f0a65eb1/groups.jpg',
71
- text: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("p", null, "Open and closed group chat - where your community does its planning, discussing and sharing."), /*#__PURE__*/React.createElement("p", null, "Keep them open for any member to join, or private to the admins - ", values.textFeatureTitle, " gives you that control."), /*#__PURE__*/React.createElement("p", null, "Your ", values.textFeatureTitle, " activity will keep the app close to your communities hands.")),
810
+ image: "https://pluss-prd-uploads.s3.ap-southeast-2.amazonaws.com/uploads/users/ap-southeast-2:80aecdcb-9955-493e-a341-2f2263f64777/public/e4a5948c40908e2137f0a65eb1/groups.jpg",
811
+ text: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("p", null, "Open and closed group chat - where your community does its planning, discussing and sharing."), /*#__PURE__*/React.createElement("p", null, "Keep them open for any member to join, or private to the admins -", " ", values.textFeatureTitle, " gives you that control."), /*#__PURE__*/React.createElement("p", null, "Your ", values.textFeatureTitle, " activity will keep the app close to your communities hands.")),
72
812
  layoutDisclaimer: true
73
813
  },
74
814
  menu: {
75
815
  order: 11,
76
816
  text: values.textFeatureTitle,
77
817
  icon: values.menuIcon,
78
- isFontAwesome: values.isFontAwesome,
79
818
  url: "/".concat(values.featureKey),
80
819
  countProps: null,
81
820
  visibleExps: {
82
- type: 'feature',
821
+ type: "feature",
83
822
  value: values.featureKey
84
823
  }
85
824
  },
@@ -87,7 +826,10 @@ var FeatureConfig = {
87
826
  addPermission: values.permission,
88
827
  permissions: [{
89
828
  displayName: "Manage and View ".concat(_.capitalize(values.entityName), "s"),
90
- key: values.permission
829
+ key: values.permission,
830
+ category: PERMISSION_CATEGORIES.COMMUNICATION,
831
+ helperText: "Allows creating and managing ".concat(values.entityName, "s for community communication and discussions."),
832
+ importance: IMPORTANCE_LEVELS.IMPORTANT
91
833
  }],
92
834
  routes: [{
93
835
  path: "/".concat(values.featureKey),
@@ -107,21 +849,21 @@ var FeatureConfig = {
107
849
  exact: true
108
850
  }],
109
851
  env: {
110
- baseStage: '',
111
- baseAPIUrl: '',
112
- baseUploadsUrl: '',
113
- uploadBucket: '',
114
- colourBrandingMain: '',
115
- colourBrandingOff: '',
116
- colourBrandingApp: '',
117
- defaultProfileImage: '',
118
- utcOffset: '',
852
+ baseStage: "",
853
+ baseAPIUrl: "",
854
+ baseUploadsUrl: "",
855
+ uploadBucket: "",
856
+ colourBrandingMain: "",
857
+ colourBrandingOff: "",
858
+ colourBrandingApp: "",
859
+ defaultProfileImage: "",
860
+ utcOffset: "",
119
861
  hasAvailableNews: false,
120
862
  newsHaveTags: true,
121
863
  defaultAllowComments: true,
122
- makeApiKey: '',
123
- logo: '',
124
- clientName: ''
864
+ makeApiKey: "",
865
+ logo: "",
866
+ clientName: ""
125
867
  },
126
868
  init: function init(environment) {
127
869
  FeatureConfig.env = environment;
@@ -157,32 +899,32 @@ var Helper$3 = PlussCore.Helper,
157
899
  var circleActions = {
158
900
  getAll: function getAll(site) {
159
901
  return Session$4.authedFunction({
160
- method: 'GET',
161
- url: Helper$3.getUrl(values.serviceKey, 'get/all', {
902
+ method: "GET",
903
+ url: Helper$3.getUrl(values.serviceKey, "get/all", {
162
904
  site: site
163
905
  })
164
906
  });
165
907
  },
166
908
  getFiles: function getFiles(circleId) {
167
909
  return Session$4.authedFunction({
168
- method: 'GET',
169
- url: Helper$3.getUrl(values.serviceKey, 'get/files', {
910
+ method: "GET",
911
+ url: Helper$3.getUrl(values.serviceKey, "get/files", {
170
912
  circleId: circleId
171
913
  })
172
914
  });
173
915
  },
174
916
  getImages: function getImages(circleId) {
175
917
  return Session$4.authedFunction({
176
- method: 'GET',
177
- url: Helper$3.getUrl(values.serviceKey, 'get/images', {
918
+ method: "GET",
919
+ url: Helper$3.getUrl(values.serviceKey, "get/images", {
178
920
  circleId: circleId
179
921
  })
180
922
  });
181
923
  },
182
924
  add: function add(site, title, image, audience, isPublic) {
183
925
  return Session$4.authedFunction({
184
- method: 'POST',
185
- url: Helper$3.getUrl(values.serviceKey, 'update/add'),
926
+ method: "POST",
927
+ url: Helper$3.getUrl(values.serviceKey, "update/add"),
186
928
  data: {
187
929
  site: site,
188
930
  title: title,
@@ -194,8 +936,8 @@ var circleActions = {
194
936
  },
195
937
  edit: function edit(circleId, title, image, audience, isPublic) {
196
938
  return Session$4.authedFunction({
197
- method: 'POST',
198
- url: Helper$3.getUrl(values.serviceKey, 'update/edit'),
939
+ method: "POST",
940
+ url: Helper$3.getUrl(values.serviceKey, "update/edit"),
199
941
  data: {
200
942
  circleId: circleId,
201
943
  title: title,
@@ -207,8 +949,8 @@ var circleActions = {
207
949
  },
208
950
  delete: function _delete(circleId) {
209
951
  return Session$4.authedFunction({
210
- method: 'POST',
211
- url: Helper$3.getUrl(values.serviceKey, 'update/delete'),
952
+ method: "POST",
953
+ url: Helper$3.getUrl(values.serviceKey, "update/delete"),
212
954
  data: {
213
955
  circleId: circleId
214
956
  }
@@ -216,8 +958,8 @@ var circleActions = {
216
958
  },
217
959
  addAdmin: function addAdmin(circleId, userId) {
218
960
  return Session$4.authedFunction({
219
- method: 'POST',
220
- url: Helper$3.getUrl(values.serviceKey, 'update/addadmin'),
961
+ method: "POST",
962
+ url: Helper$3.getUrl(values.serviceKey, "update/addadmin"),
221
963
  data: {
222
964
  circleId: circleId,
223
965
  userId: userId
@@ -226,8 +968,8 @@ var circleActions = {
226
968
  },
227
969
  removeAdmin: function removeAdmin(circleId, userId) {
228
970
  return Session$4.authedFunction({
229
- method: 'POST',
230
- url: Helper$3.getUrl(values.serviceKey, 'update/removeadmin'),
971
+ method: "POST",
972
+ url: Helper$3.getUrl(values.serviceKey, "update/removeadmin"),
231
973
  data: {
232
974
  circleId: circleId,
233
975
  userId: userId
@@ -258,8 +1000,8 @@ var circleActions = {
258
1000
  }
259
1001
 
260
1002
  return _context.abrupt("return", Session$4.authedFunction({
261
- method: 'GET',
262
- url: Helper$3.getUrl(values.serviceKey, 'getMessages', query)
1003
+ method: "GET",
1004
+ url: Helper$3.getUrl(values.serviceKey, "getMessages", query)
263
1005
  }));
264
1006
 
265
1007
  case 5:
@@ -283,8 +1025,8 @@ var circleActions = {
283
1025
  switch (_context2.prev = _context2.next) {
284
1026
  case 0:
285
1027
  return _context2.abrupt("return", Session$4.authedFunction({
286
- method: 'post',
287
- url: Helper$3.getUrl(values.serviceKey, 'sendMessage'),
1028
+ method: "post",
1029
+ url: Helper$3.getUrl(values.serviceKey, "sendMessage"),
288
1030
  data: {
289
1031
  groupId: circleId,
290
1032
  message: message
@@ -312,8 +1054,8 @@ var circleActions = {
312
1054
  switch (_context3.prev = _context3.next) {
313
1055
  case 0:
314
1056
  return _context3.abrupt("return", Session$4.authedFunction({
315
- method: 'POST',
316
- url: Helper$3.getUrl(values.serviceKey, 'update/deletemessage'),
1057
+ method: "POST",
1058
+ url: Helper$3.getUrl(values.serviceKey, "update/deletemessage"),
317
1059
  data: {
318
1060
  messageId: messageId,
319
1061
  groupId: groupId
@@ -341,8 +1083,8 @@ var circleActions = {
341
1083
  switch (_context4.prev = _context4.next) {
342
1084
  case 0:
343
1085
  return _context4.abrupt("return", Session$4.authedFunction({
344
- method: 'post',
345
- url: Helper$3.getUrl('groups', 'resetunread'),
1086
+ method: "post",
1087
+ url: Helper$3.getUrl("groups", "resetunread"),
346
1088
  data: {
347
1089
  groupID: circleId,
348
1090
  userID: userId
@@ -370,7 +1112,7 @@ var analyticsActions = Apis$1.analyticsActions;
370
1112
 
371
1113
  var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
372
1114
 
373
- var css = "/* Badge styling for unread count */\n:root {\n --badge-bg-color: #597db4; /* COLOUR_BRANDING_OFF */\n}\n\n.badgeTag {\n font-size: 11px;\n font-weight: 400;\n padding: 3px 10px;\n background-color: var(--badge-bg-color) !important;\n color: #fff !important;\n border-radius: 999px !important;\n border: none !important;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n line-height: 1;\n letter-spacing: 0.02em;\n}\n\n/* Unread filter info banner */\n.unreadFilterBanner {\n background-color: #f0f4f8;\n border-left: 3px solid var(--badge-bg-color);\n border-radius: 4px;\n padding: 12px 16px;\n margin-top: 16px;\n margin-bottom: 16px;\n display: flex;\n align-items: center;\n}\n\n.unreadFilterContent {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n}\n\n.unreadFilterIcon {\n font-size: 16px;\n color: var(--badge-bg-color);\n flex-shrink: 0;\n}\n\n.unreadFilterText {\n font-size: 14px;\n line-height: 1.5;\n color: #333333;\n}\n\n.unreadFilterButton {\n background: none;\n border: none;\n color: var(--badge-bg-color);\n font-size: 14px;\n font-weight: 500;\n text-decoration: underline;\n cursor: pointer;\n padding: 4px 8px;\n margin-left: 4px;\n min-height: 32px;\n min-width: 32px;\n transition: all 0.2s ease;\n}\n\n.unreadFilterButton:hover {\n background-color: rgba(89, 125, 180, 0.1);\n text-decoration: none;\n}\n\n.unreadFilterButton:focus {\n outline: 2px solid var(--badge-bg-color);\n outline-offset: 2px;\n border-radius: 2px;\n}\n\n/* Mobile responsiveness */\n@media (max-width: 768px) {\n .unreadFilterBanner {\n flex-direction: column;\n align-items: flex-start;\n padding: 12px;\n }\n\n .unreadFilterContent {\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\n }\n\n .unreadFilterText {\n font-size: 13px;\n }\n}\n\n";
1115
+ var css = "/* Badge styling for unread count */\n:root {\n\t--badge-bg-color: #597db4; /* COLOUR_BRANDING_OFF */\n}\n\n.badgeTag {\n\tfont-size: 11px;\n\tfont-weight: 400;\n\tpadding: 3px 10px;\n\tbackground-color: var(--badge-bg-color) !important;\n\tcolor: #fff !important;\n\tborder-radius: 999px !important;\n\tborder: none !important;\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\tline-height: 1;\n\tletter-spacing: 0.02em;\n}\n\n/* Unread filter info banner */\n.unreadFilterBanner {\n\tbackground-color: #f0f4f8;\n\tborder-left: 3px solid var(--badge-bg-color);\n\tborder-radius: 4px;\n\tpadding: 12px 16px;\n\tmargin-top: 16px;\n\tmargin-bottom: 16px;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.unreadFilterContent {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 10px;\n\twidth: 100%;\n}\n\n.unreadFilterIcon {\n\tfont-size: 16px;\n\tcolor: var(--badge-bg-color);\n\tflex-shrink: 0;\n}\n\n.unreadFilterText {\n\tfont-size: 14px;\n\tline-height: 1.5;\n\tcolor: #333333;\n}\n\n.unreadFilterButton {\n\tbackground: none;\n\tborder: none;\n\tcolor: var(--badge-bg-color);\n\tfont-size: 14px;\n\tfont-weight: 500;\n\ttext-decoration: underline;\n\tcursor: pointer;\n\tpadding: 4px 8px;\n\tmargin-left: 4px;\n\tmin-height: 32px;\n\tmin-width: 32px;\n\ttransition: all 0.2s ease;\n}\n\n.unreadFilterButton:hover {\n\tbackground-color: rgba(89, 125, 180, 0.1);\n\ttext-decoration: none;\n}\n\n.unreadFilterButton:focus {\n\toutline: 2px solid var(--badge-bg-color);\n\toutline-offset: 2px;\n\tborder-radius: 2px;\n}\n\n/* Mobile responsiveness */\n@media (max-width: 768px) {\n\t.unreadFilterBanner {\n\t\tflex-direction: column;\n\t\talign-items: flex-start;\n\t\tpadding: 12px;\n\t}\n\n\t.unreadFilterContent {\n\t\tflex-direction: column;\n\t\talign-items: flex-start;\n\t\tgap: 8px;\n\t}\n\n\t.unreadFilterText {\n\t\tfont-size: 13px;\n\t}\n}\n";
374
1116
  n(css,{});
375
1117
 
376
1118
  function _createSuper$7(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$7(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
@@ -717,26 +1459,26 @@ var Circles = /*#__PURE__*/function (_Component) {
717
1459
  }
718
1460
  }, this.validateCircleAdmin(circle) && !circle.IsPrivate && /*#__PURE__*/React.createElement(Link, {
719
1461
  to: "/".concat(values.featureKey, "/edit/").concat(circle.Id)
720
- }, /*#__PURE__*/React.createElement(FontAwesome, {
1462
+ }, /*#__PURE__*/React.createElement(Icon, {
721
1463
  style: {
722
1464
  fontSize: 20,
723
1465
  padding: 5,
724
1466
  marginLeft: 12,
725
1467
  cursor: "pointer"
726
1468
  },
727
- name: "pencil"
1469
+ icon: "fa-pencil"
728
1470
  })), this.validateCircleAdmin(circle, true) && !circle.IsPrivate && /*#__PURE__*/React.createElement("a", {
729
1471
  onClick: function onClick() {
730
1472
  _this6.removeCircle(circle);
731
1473
  }
732
- }, /*#__PURE__*/React.createElement(FontAwesome, {
1474
+ }, /*#__PURE__*/React.createElement(Icon, {
733
1475
  style: {
734
1476
  fontSize: 20,
735
1477
  padding: 5,
736
1478
  marginLeft: 12,
737
1479
  cursor: "pointer"
738
1480
  },
739
- name: "minus-circle"
1481
+ icon: "fa-circle-minus"
740
1482
  })))));
741
1483
  }
742
1484
  }, {
@@ -754,8 +1496,8 @@ var Circles = /*#__PURE__*/function (_Component) {
754
1496
  className: css.unreadFilterBanner
755
1497
  }, /*#__PURE__*/React.createElement("div", {
756
1498
  className: css.unreadFilterContent
757
- }, /*#__PURE__*/React.createElement(FontAwesome, {
758
- name: "info-circle",
1499
+ }, /*#__PURE__*/React.createElement(Icon, {
1500
+ icon: "fa-circle-info",
759
1501
  className: css.unreadFilterIcon
760
1502
  }), /*#__PURE__*/React.createElement("span", {
761
1503
  className: css.unreadFilterText
@@ -1474,9 +2216,9 @@ var AddCircle = /*#__PURE__*/function (_Component) {
1474
2216
  user: user,
1475
2217
  rightContent: /*#__PURE__*/React.createElement("div", {
1476
2218
  className: "flex flex-reverse flex-center"
1477
- }, /*#__PURE__*/React.createElement(Components$3.SVGIcon, {
2219
+ }, /*#__PURE__*/React.createElement(Components$3.Icon, {
1478
2220
  className: "removeIcon marginLeft-8",
1479
- icon: "close",
2221
+ icon: "fa-xmark",
1480
2222
  colour: Colours$2.COLOUR_DUSK,
1481
2223
  onClick: function onClick() {
1482
2224
  _this6.onSelectUser(user);
@@ -2105,9 +2847,9 @@ var Circle = /*#__PURE__*/function (_Component) {
2105
2847
 
2106
2848
  return /*#__PURE__*/React.createElement("div", {
2107
2849
  className: "chat_inputFlex"
2108
- }, /*#__PURE__*/React.createElement(FontAwesome, {
2850
+ }, /*#__PURE__*/React.createElement(Icon, {
2109
2851
  className: "chat_send",
2110
- name: "paper-plane",
2852
+ icon: "fa-paper-plane",
2111
2853
  onClick: this.sendMessage
2112
2854
  }), /*#__PURE__*/React.createElement("div", {
2113
2855
  className: "chat_inputContainer"
@@ -2125,13 +2867,13 @@ var Circle = /*#__PURE__*/function (_Component) {
2125
2867
  minHeight: 50
2126
2868
  },
2127
2869
  onKeyDown: this.onKeyDown
2128
- }), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(FontAwesome, {
2870
+ }), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Icon, {
2129
2871
  className: "chat_imageIcon".concat(this.state.imageInputShowing ? " chat_imageIcon-selected" : ""),
2130
- name: "camera",
2872
+ icon: "fa-camera",
2131
2873
  onClick: this.showImageInput
2132
- }), /*#__PURE__*/React.createElement(FontAwesome, {
2874
+ }), /*#__PURE__*/React.createElement(Icon, {
2133
2875
  className: "chat_imageIcon".concat(this.state.fileInputShowing ? " chat_imageIcon-selected" : ""),
2134
- name: "paperclip",
2876
+ icon: "fa-paperclip",
2135
2877
  onClick: this.showFileInput
2136
2878
  })), /*#__PURE__*/React.createElement("div", {
2137
2879
  className: "overflow-x",
@@ -2257,9 +2999,9 @@ var Circle = /*#__PURE__*/function (_Component) {
2257
2999
  className: "flex flex-center"
2258
3000
  }, /*#__PURE__*/React.createElement(Link, {
2259
3001
  to: "/".concat(values.featureKey, "/edit/").concat(this.state.circleId)
2260
- }, /*#__PURE__*/React.createElement(FontAwesome, {
3002
+ }, /*#__PURE__*/React.createElement(Icon, {
2261
3003
  className: "header_back",
2262
- name: "cog"
3004
+ icon: "fa-gear"
2263
3005
  })));
2264
3006
  }
2265
3007
  }, {
@@ -2280,7 +3022,7 @@ var Circle = /*#__PURE__*/function (_Component) {
2280
3022
  className: "chat_section"
2281
3023
  }, /*#__PURE__*/React.createElement("div", {
2282
3024
  className: "chat_section_titleSection"
2283
- }, /*#__PURE__*/React.createElement(FontAwesome, {
3025
+ }, /*#__PURE__*/React.createElement(Icon, {
2284
3026
  className: "chat_section_titleSection_caret",
2285
3027
  name: "chevron-".concat(this.state.membersExpanded ? "up" : "down"),
2286
3028
  onClick: this.toggleMembers
@@ -2298,7 +3040,7 @@ var Circle = /*#__PURE__*/function (_Component) {
2298
3040
  className: "chat_section"
2299
3041
  }, /*#__PURE__*/React.createElement("div", {
2300
3042
  className: "chat_section_titleSection"
2301
- }, /*#__PURE__*/React.createElement(FontAwesome, {
3043
+ }, /*#__PURE__*/React.createElement(Icon, {
2302
3044
  className: "chat_section_titleSection_caret",
2303
3045
  name: "chevron-".concat(this.state.imagesExpanded ? "up" : "down"),
2304
3046
  onClick: this.toggleImages
@@ -2321,7 +3063,7 @@ var Circle = /*#__PURE__*/function (_Component) {
2321
3063
  className: "chat_section"
2322
3064
  }, /*#__PURE__*/React.createElement("div", {
2323
3065
  className: "chat_section_titleSection"
2324
- }, /*#__PURE__*/React.createElement(FontAwesome, {
3066
+ }, /*#__PURE__*/React.createElement(Icon, {
2325
3067
  className: "chat_section_titleSection_caret",
2326
3068
  name: "chevron-".concat(this.state.filesExpanded ? "up" : "down"),
2327
3069
  onClick: this.toggleFiles
@@ -2358,9 +3100,9 @@ var Circle = /*#__PURE__*/function (_Component) {
2358
3100
  type: "body"
2359
3101
  }, m.text.substr(0, 50))), /*#__PURE__*/React.createElement("div", {
2360
3102
  className: "chat_replyTo_remove"
2361
- }, /*#__PURE__*/React.createElement(Components$2.SVGIcon, {
3103
+ }, /*#__PURE__*/React.createElement(Components$2.Icon, {
2362
3104
  className: "removeIcon",
2363
- icon: "close",
3105
+ icon: "xmark",
2364
3106
  onClick: function onClick() {
2365
3107
  _this7.onReply(null);
2366
3108
  },
@@ -2403,9 +3145,9 @@ var Circle = /*#__PURE__*/function (_Component) {
2403
3145
  }
2404
3146
  }, this.renderDeleteConfirmPopup(), /*#__PURE__*/React.createElement(Components$2.Header, {
2405
3147
  rightContent: this.renderHeaderRight()
2406
- }, /*#__PURE__*/React.createElement(FontAwesome, {
3148
+ }, /*#__PURE__*/React.createElement(Icon, {
2407
3149
  className: "header_back",
2408
- name: "angle-left",
3150
+ icon: "fa-angle-left",
2409
3151
  onClick: function onClick() {
2410
3152
  window.history.back();
2411
3153
  }
@@ -2434,9 +3176,9 @@ var Circle = /*#__PURE__*/function (_Component) {
2434
3176
  showMessageDate: !_this8.state.showMessageDate
2435
3177
  });
2436
3178
  },
2437
- rightContent: !_.isEmpty(this.state.messageDate) && /*#__PURE__*/React.createElement(Components$2.SVGIcon, {
3179
+ rightContent: !_.isEmpty(this.state.messageDate) && /*#__PURE__*/React.createElement(Components$2.Icon, {
2438
3180
  colour: Colours$1.COLOUR_DUSK_LIGHT,
2439
- icon: "close",
3181
+ icon: "fa-xmark",
2440
3182
  className: "timepicker_clear",
2441
3183
  onClick: this.onClearDate
2442
3184
  })
@@ -2533,32 +3275,32 @@ var AnalyticsHub = function AnalyticsHub(_ref) {
2533
3275
  }();
2534
3276
 
2535
3277
  var exportColumns = [{
2536
- label: 'Select All',
2537
- key: ''
3278
+ label: "Select All",
3279
+ key: ""
2538
3280
  }, {
2539
- label: 'Start Date',
2540
- key: 'startDate'
3281
+ label: "Start Date",
3282
+ key: "startDate"
2541
3283
  }, {
2542
- label: 'End Date',
2543
- key: 'endDate'
3284
+ label: "End Date",
3285
+ key: "endDate"
2544
3286
  }, {
2545
- label: 'Messages',
2546
- key: 'messages'
3287
+ label: "Messages",
3288
+ key: "messages"
2547
3289
  }, {
2548
- label: 'Messages by Staff',
2549
- key: 'staffMessages'
3290
+ label: "Messages by Staff",
3291
+ key: "staffMessages"
2550
3292
  }, {
2551
- label: 'Messages by Primary Users',
2552
- key: 'residentMessages'
3293
+ label: "Messages by Primary Users",
3294
+ key: "residentMessages"
2553
3295
  }, {
2554
- label: 'Group Messages',
2555
- key: 'groupMessages'
3296
+ label: "Group Messages",
3297
+ key: "groupMessages"
2556
3298
  }, {
2557
- label: 'Private Messages',
2558
- key: 'privateMessages'
3299
+ label: "Private Messages",
3300
+ key: "privateMessages"
2559
3301
  }, {
2560
- label: 'Groups with Messages',
2561
- key: 'activeGroups'
3302
+ label: "Groups with Messages",
3303
+ key: "activeGroups"
2562
3304
  }];
2563
3305
  useEffect(function () {
2564
3306
  getData();
@@ -2584,18 +3326,18 @@ var AnalyticsHub = function AnalyticsHub(_ref) {
2584
3326
  currentStatsResponse = _yield$Promise$all2[0];
2585
3327
  prevStatsResponse = _yield$Promise$all2[1];
2586
3328
  data = {
2587
- messages: Analytics$1.countActivities(currentStatsResponse.data, 'Message', 'total'),
2588
- prevMessages: Analytics$1.countActivities(prevStatsResponse.data, 'Message', 'total'),
2589
- staffMessages: Analytics$1.countActivities(currentStatsResponse.data, 'StaffMessage', 'total'),
2590
- prevStaffMessages: Analytics$1.countActivities(prevStatsResponse.data, 'StaffMessage', 'total'),
2591
- residentMessages: Analytics$1.countActivities(currentStatsResponse.data, 'ResidentMessage', 'total'),
2592
- prevResidentMessages: Analytics$1.countActivities(prevStatsResponse.data, 'ResidentMessage', 'total'),
2593
- groupMessages: Analytics$1.countActivities(currentStatsResponse.data, 'GroupMessage', 'total'),
2594
- prevGroupMessages: Analytics$1.countActivities(prevStatsResponse.data, 'GroupMessage', 'total'),
2595
- privateMessages: Analytics$1.countActivities(currentStatsResponse.data, 'PrivateMessage', 'total'),
2596
- prevPrivateMessages: Analytics$1.countActivities(prevStatsResponse.data, 'PrivateMessage', 'total'),
2597
- activeGroups: Analytics$1.countActivities(currentStatsResponse.data, 'GroupMessage', 'unique'),
2598
- prevActiveGroups: Analytics$1.countActivities(prevStatsResponse.data, 'GroupMessage', 'unique'),
3329
+ messages: Analytics$1.countActivities(currentStatsResponse.data, "Message", "total"),
3330
+ prevMessages: Analytics$1.countActivities(prevStatsResponse.data, "Message", "total"),
3331
+ staffMessages: Analytics$1.countActivities(currentStatsResponse.data, "StaffMessage", "total"),
3332
+ prevStaffMessages: Analytics$1.countActivities(prevStatsResponse.data, "StaffMessage", "total"),
3333
+ residentMessages: Analytics$1.countActivities(currentStatsResponse.data, "ResidentMessage", "total"),
3334
+ prevResidentMessages: Analytics$1.countActivities(prevStatsResponse.data, "ResidentMessage", "total"),
3335
+ groupMessages: Analytics$1.countActivities(currentStatsResponse.data, "GroupMessage", "total"),
3336
+ prevGroupMessages: Analytics$1.countActivities(prevStatsResponse.data, "GroupMessage", "total"),
3337
+ privateMessages: Analytics$1.countActivities(currentStatsResponse.data, "PrivateMessage", "total"),
3338
+ prevPrivateMessages: Analytics$1.countActivities(prevStatsResponse.data, "PrivateMessage", "total"),
3339
+ activeGroups: Analytics$1.countActivities(currentStatsResponse.data, "GroupMessage", "unique"),
3340
+ prevActiveGroups: Analytics$1.countActivities(prevStatsResponse.data, "GroupMessage", "unique"),
2599
3341
  // uniquePageView: Analytics.countActivities(currentStatsResponse.data, 'UniquePageView', 'uniquearray'),
2600
3342
  // prevUniquePageView: Analytics.countActivities(prevStatsResponse.data, 'UniquePageView', 'uniquearray'),
2601
3343
  isLoading: false
@@ -2621,8 +3363,8 @@ var AnalyticsHub = function AnalyticsHub(_ref) {
2621
3363
 
2622
3364
  var getExportSource = function getExportSource() {
2623
3365
  return [{
2624
- startDate: moment(startTime + 1).format('D-MM-YYYY'),
2625
- endDate: moment(endTime).format('D-MM-YYYY'),
3366
+ startDate: moment(startTime + 1).format("D-MM-YYYY"),
3367
+ endDate: moment(endTime).format("D-MM-YYYY"),
2626
3368
  messages: analyticsData.messages,
2627
3369
  staffMessages: analyticsData.staffMessages,
2628
3370
  residentMessages: analyticsData.residentMessages,
@@ -2661,12 +3403,12 @@ var AnalyticsHub = function AnalyticsHub(_ref) {
2661
3403
  setIsExportOpen(true);
2662
3404
  },
2663
3405
  isActive: isReadyToOpenCSV(),
2664
- leftIcon: "file-code-o"
3406
+ leftIcon: "file-code"
2665
3407
  }, "Export CSV")), /*#__PURE__*/React.createElement("div", {
2666
3408
  className: "analyticsSection dashboardSection_content"
2667
3409
  }, /*#__PURE__*/React.createElement(Components$1.StatBox, {
2668
3410
  title: "Groups with Messages",
2669
- icon: faUserGroup,
3411
+ icon: "fa-user-group",
2670
3412
  value: analyticsData.activeGroups,
2671
3413
  previousValue: analyticsData.prevActiveGroups,
2672
3414
  prevText: prevText,
@@ -2674,7 +3416,7 @@ var AnalyticsHub = function AnalyticsHub(_ref) {
2674
3416
  isLoading: analyticsData.isLoading
2675
3417
  }), /*#__PURE__*/React.createElement(Components$1.StatBox, {
2676
3418
  title: "Messages",
2677
- icon: faMessage,
3419
+ icon: "fa-message",
2678
3420
  value: analyticsData.messages,
2679
3421
  previousValue: analyticsData.prevMessages,
2680
3422
  prevText: prevText,
@@ -2682,7 +3424,7 @@ var AnalyticsHub = function AnalyticsHub(_ref) {
2682
3424
  isLoading: analyticsData.isLoading
2683
3425
  }), /*#__PURE__*/React.createElement(Components$1.StatBox, {
2684
3426
  title: "Messages by Staff",
2685
- icon: faUserTie,
3427
+ icon: "fa-user-tie",
2686
3428
  value: analyticsData.staffMessages,
2687
3429
  previousValue: analyticsData.prevStaffMessages,
2688
3430
  prevText: prevText,
@@ -2690,7 +3432,7 @@ var AnalyticsHub = function AnalyticsHub(_ref) {
2690
3432
  isLoading: analyticsData.isLoading
2691
3433
  }), /*#__PURE__*/React.createElement(Components$1.StatBox, {
2692
3434
  title: "Messages by Primary Users",
2693
- icon: faUsers,
3435
+ icon: "fa-users",
2694
3436
  value: analyticsData.residentMessages,
2695
3437
  previousValue: analyticsData.prevResidentMessages,
2696
3438
  prevText: prevText,
@@ -2698,7 +3440,7 @@ var AnalyticsHub = function AnalyticsHub(_ref) {
2698
3440
  isLoading: analyticsData.isLoading
2699
3441
  }), /*#__PURE__*/React.createElement(Components$1.StatBox, {
2700
3442
  title: "Group Messages",
2701
- icon: faUsersRectangle,
3443
+ icon: "fa-users-rectangle",
2702
3444
  value: analyticsData.groupMessages,
2703
3445
  previousValue: analyticsData.prevGroupMessages,
2704
3446
  prevText: prevText,
@@ -2706,7 +3448,7 @@ var AnalyticsHub = function AnalyticsHub(_ref) {
2706
3448
  isLoading: analyticsData.isLoading
2707
3449
  }), /*#__PURE__*/React.createElement(Components$1.StatBox, {
2708
3450
  title: "Private Messages",
2709
- icon: faPeopleArrows,
3451
+ icon: "fa-people-arrows",
2710
3452
  value: analyticsData.privateMessages,
2711
3453
  previousValue: analyticsData.prevPrivateMessages,
2712
3454
  prevText: prevText,
@@ -2830,9 +3572,9 @@ var ViewFull = /*#__PURE__*/function (_Component) {
2830
3572
 
2831
3573
  var styles$2 = {
2832
3574
  image: {
2833
- width: '100%',
2834
- height: '100%',
2835
- objectFit: 'contain'
3575
+ width: "100%",
3576
+ height: "100%",
3577
+ objectFit: "contain"
2836
3578
  }
2837
3579
  };
2838
3580
 
@@ -2884,10 +3626,10 @@ var PreviewWidget = /*#__PURE__*/function (_Component) {
2884
3626
 
2885
3627
  var styles$1 = {
2886
3628
  container: {
2887
- position: 'relative'
3629
+ position: "relative"
2888
3630
  },
2889
3631
  image: {
2890
- width: '100%'
3632
+ width: "100%"
2891
3633
  }
2892
3634
  };
2893
3635
 
@@ -2938,10 +3680,10 @@ var PreviewFull = /*#__PURE__*/function (_Component) {
2938
3680
 
2939
3681
  var styles = {
2940
3682
  container: {
2941
- position: 'relative'
3683
+ position: "relative"
2942
3684
  },
2943
3685
  image: {
2944
- width: '100%'
3686
+ width: "100%"
2945
3687
  }
2946
3688
  };
2947
3689
 
@@ -2964,10 +3706,10 @@ var PreviewGrid = /*#__PURE__*/function (_Component) {
2964
3706
  key: "render",
2965
3707
  value: function render() {
2966
3708
  var colour = this.props.colour;
2967
- var path = 'M12.1875 0.9375C11.1548 0.9375 9.67896 1.25977 8.7616 1.87866C7.0166 1.94275 5.82275 3.16772 5.62683 5.11047C5.50781 6.30981 5.61768 7.16858 5.68909 7.73621C5.71472 7.93396 5.74219 8.15735 5.73303 8.22327C5.71838 8.31116 5.70374 8.39905 5.69092 8.48694C5.61401 8.4906 5.54626 8.50159 5.48584 8.51807C4.71313 8.72498 4.38904 9.85474 4.73511 11.1456C4.98596 12.0813 5.51147 12.7844 6.08643 13.0005C6.38306 13.9087 6.81885 14.8114 7.36084 15.6244L3.03955 18.1274C1.16455 19.2114 0 21.2329 0 23.399V26.7188C0 27.4933 0.631714 28.125 1.40625 28.125H19.519C20.6287 29.2786 22.1832 30 23.9062 30C27.2662 30 30 27.2662 30 23.9062C30 21.2402 28.2751 18.9734 25.8856 18.1494L21.8115 15.5127C22.4158 14.7931 22.9193 13.8977 23.2397 12.9419C23.6847 12.7478 24.0765 12.2168 24.267 11.4972C24.3823 11.0669 24.4061 10.6329 24.3311 10.274C24.2377 9.80896 23.9777 9.48669 23.6224 9.39148C23.5986 9.38416 23.573 9.37866 23.5455 9.375C23.4979 9.06738 23.4174 8.76709 23.2892 8.39905C23.3734 8.42102 23.465 8.45032 23.5437 8.48145C23.703 8.54919 23.8898 8.52173 24.0234 8.4082C24.1589 8.29651 24.2194 8.1189 24.1827 7.94861C23.606 5.31006 21.6467 3.73535 18.9441 3.73535H18.5962C18.5248 3.73535 18.446 3.74084 18.371 3.74634C17.1332 1.9519 15.1355 0.9375 12.6562 0.9375H12.1875ZM12.1875 1.875H12.6562C15.5017 1.875 17.5562 3.32886 18.3984 5.89783C18.0743 5.86121 17.7393 5.90149 17.5104 6.12305C17.3309 6.29333 17.1625 6.62109 17.3749 7.19971C17.6642 7.98523 17.7667 8.45032 17.7979 9.1095C17.8052 9.27795 17.9041 9.4281 18.0524 9.505C18.2007 9.58008 18.3801 9.57092 18.5211 9.47937C18.598 9.42993 18.6383 9.42444 18.6475 9.42444C18.761 9.46289 18.9661 10.0342 18.7335 10.9039C18.5028 11.7664 18.0597 12.1307 17.9224 12.1307C17.7136 12.1252 17.5323 12.2681 17.4738 12.4658C16.6827 15.1227 14.6155 17.8125 12.1875 17.8125C9.75952 17.8125 7.69226 15.1227 6.90125 12.4658C6.84265 12.2681 6.66138 12.1307 6.45264 12.1307C6.31531 12.1307 5.87219 11.7664 5.64148 10.9039C5.4071 10.0269 5.61768 9.45374 5.72571 9.42444C5.72754 9.42444 5.76782 9.42444 5.85205 9.47937C5.99487 9.57092 6.17432 9.58008 6.32263 9.505C6.47278 9.4281 6.56799 9.27795 6.57715 9.1095C6.58813 8.86414 6.61377 8.62061 6.65588 8.38623C6.69067 8.18481 6.66321 7.95959 6.61926 7.61719C6.55151 7.09167 6.45081 6.297 6.56067 5.20386C6.70898 3.70789 7.58606 2.8125 8.91357 2.8125C9.01611 2.8125 9.11316 2.77954 9.19556 2.71912C9.83826 2.23755 11.1237 1.875 12.1875 1.875ZM18.913 4.67285H18.9459C20.9491 4.67285 22.4121 5.66528 23.0566 7.42676C22.8461 7.43042 22.6392 7.48352 22.4835 7.63367C22.3224 7.78564 22.1704 8.07312 22.3535 8.56384C22.5641 9.13879 22.6392 9.47571 22.6611 9.95361C22.6685 10.1221 22.7655 10.2722 22.9156 10.3491C23.0621 10.4224 23.2361 10.415 23.3752 10.329C23.4338 10.4608 23.4851 10.7977 23.3624 11.2555C23.2178 11.792 22.9486 12.0612 22.8735 12.0831H22.8717C22.6648 12.0831 22.4817 12.2186 22.4231 12.4182C22.0312 13.7366 21.2512 14.9469 20.3394 15.6537C20.1343 15.813 20.0958 16.1078 20.2551 16.311C20.3467 16.4319 20.4858 16.4941 20.625 16.4941C20.7257 16.4941 20.8264 16.463 20.9125 16.3971C20.9912 16.3348 21.0681 16.2653 21.145 16.1993L23.6591 17.8253C22.9193 17.8546 22.2144 18.0103 21.5643 18.2812C21.4856 18.2318 21.416 18.1732 21.3354 18.1274L17.0142 15.6244C17.5562 14.8114 17.9901 13.9087 18.2886 13.0005C18.8617 12.7844 19.389 12.0831 19.6381 11.1456C19.9841 9.85474 19.6619 8.72498 18.8892 8.51807C18.8306 8.50342 18.761 8.4906 18.6841 8.48694C18.62 7.98523 18.4918 7.51648 18.2538 6.87561C18.2483 6.8573 18.2428 6.84082 18.2373 6.82617C18.4021 6.83899 18.6676 6.90674 18.8837 6.99463C19.0466 7.06238 19.2316 7.03491 19.3652 6.92139C19.4989 6.80969 19.5593 6.63208 19.5209 6.46179C19.3799 5.81543 19.1748 5.21667 18.913 4.67285ZM9.62219 4.74609C9.28711 4.7168 8.9502 4.86877 8.75793 5.16357L8.00537 6.30432C7.86255 6.52039 7.92297 6.81152 8.13904 6.95435C8.2196 7.00745 8.3075 7.03125 8.39539 7.03125C8.54919 7.03125 8.69751 6.95801 8.78906 6.82068L9.53979 5.67993L10.2722 6.03699C11.6071 6.68701 13.0994 7.03125 14.5844 7.03125H15.7819C16.04 7.03125 16.2506 6.82068 16.2506 6.5625C16.2506 6.30432 16.04 6.09375 15.7819 6.09375H14.5844C13.2404 6.09375 11.8909 5.78247 10.6842 5.19287L9.95178 4.83582C9.84558 4.78455 9.73389 4.75525 9.62219 4.74609ZM7.9248 16.3788C9.06555 17.7704 10.5487 18.75 12.1875 18.75C13.8263 18.75 15.3094 17.7722 16.4502 16.3806L20.6104 18.7885C18.9294 19.8761 17.8125 21.7621 17.8125 23.9062C17.8125 25.1147 18.1696 26.239 18.7793 27.1875H1.40625C1.14807 27.1875 0.9375 26.9769 0.9375 26.7188V23.399C0.9375 21.5662 1.92261 19.856 3.51013 18.9368L7.9248 16.3788ZM23.9062 18.75C26.7499 18.75 29.0625 21.0626 29.0625 23.9062C29.0625 26.7499 26.7499 29.0625 23.9062 29.0625C21.0626 29.0625 18.75 26.7499 18.75 23.9062C18.75 21.0626 21.0626 18.75 23.9062 18.75ZM8.4668 18.75C8.28369 18.739 8.10425 18.8361 8.01819 19.0082C7.90283 19.2407 7.99622 19.5227 8.22693 19.6381L11.9769 21.5131C12.0447 21.546 12.1161 21.5625 12.1875 21.5625C12.2589 21.5625 12.3322 21.546 12.3981 21.5131L16.1481 19.6381C16.3788 19.5227 16.4722 19.2407 16.3568 19.0082C16.2415 18.7775 15.9595 18.6841 15.7269 18.7994L12.1875 20.5701L8.64807 18.7994C8.58948 18.7701 8.52722 18.7555 8.4668 18.75ZM23.9062 20.625C23.6481 20.625 23.4375 20.8356 23.4375 21.0938V23.4375H21.0938C20.8356 23.4375 20.625 23.6481 20.625 23.9062C20.625 24.1644 20.8356 24.375 21.0938 24.375H23.4375V26.7188C23.4375 26.9769 23.6481 27.1875 23.9062 27.1875C24.1644 27.1875 24.375 26.9769 24.375 26.7188V24.375H26.7188C26.9769 24.375 27.1875 24.1644 27.1875 23.9062C27.1875 23.6481 26.9769 23.4375 26.7188 23.4375H24.375V21.0938C24.375 20.8356 24.1644 20.625 23.9062 20.625ZM2.8125 24.375C2.55432 24.375 2.34375 24.5856 2.34375 24.8438V25.7812C2.34375 26.0394 2.55432 26.25 2.8125 26.25C3.07068 26.25 3.28125 26.0394 3.28125 25.7812V24.8438C3.28125 24.5856 3.07068 24.375 2.8125 24.375ZM5.15625 24.375C4.89807 24.375 4.6875 24.5856 4.6875 24.8438V25.7812C4.6875 26.0394 4.89807 26.25 5.15625 26.25C5.41443 26.25 5.625 26.0394 5.625 25.7812V24.8438C5.625 24.5856 5.41443 24.375 5.15625 24.375ZM7.5 24.375C7.24182 24.375 7.03125 24.5856 7.03125 24.8438V25.7812C7.03125 26.0394 7.24182 26.25 7.5 26.25C7.75818 26.25 7.96875 26.0394 7.96875 25.7812V24.8438C7.96875 24.5856 7.75818 24.375 7.5 24.375ZM9.84375 24.375C9.58557 24.375 9.375 24.5856 9.375 24.8438V25.7812C9.375 26.0394 9.58557 26.25 9.84375 26.25C10.1019 26.25 10.3125 26.0394 10.3125 25.7812V24.8438C10.3125 24.5856 10.1019 24.375 9.84375 24.375ZM12.1875 24.375C11.9293 24.375 11.7188 24.5856 11.7188 24.8438V25.7812C11.7188 26.0394 11.9293 26.25 12.1875 26.25C12.4457 26.25 12.6562 26.0394 12.6562 25.7812V24.8438C12.6562 24.5856 12.4457 24.375 12.1875 24.375ZM14.5312 24.375C14.2731 24.375 14.0625 24.5856 14.0625 24.8438V25.7812C14.0625 26.0394 14.2731 26.25 14.5312 26.25C14.7894 26.25 15 26.0394 15 25.7812V24.8438C15 24.5856 14.7894 24.375 14.5312 24.375ZM16.875 24.375C16.6168 24.375 16.4062 24.5856 16.4062 24.8438V25.7812C16.4062 26.0394 16.6168 26.25 16.875 26.25C17.1332 26.25 17.3438 26.0394 17.3438 25.7812V24.8438C17.3438 24.5856 17.1332 24.375 16.875 24.375Z';
3709
+ var path = "M12.1875 0.9375C11.1548 0.9375 9.67896 1.25977 8.7616 1.87866C7.0166 1.94275 5.82275 3.16772 5.62683 5.11047C5.50781 6.30981 5.61768 7.16858 5.68909 7.73621C5.71472 7.93396 5.74219 8.15735 5.73303 8.22327C5.71838 8.31116 5.70374 8.39905 5.69092 8.48694C5.61401 8.4906 5.54626 8.50159 5.48584 8.51807C4.71313 8.72498 4.38904 9.85474 4.73511 11.1456C4.98596 12.0813 5.51147 12.7844 6.08643 13.0005C6.38306 13.9087 6.81885 14.8114 7.36084 15.6244L3.03955 18.1274C1.16455 19.2114 0 21.2329 0 23.399V26.7188C0 27.4933 0.631714 28.125 1.40625 28.125H19.519C20.6287 29.2786 22.1832 30 23.9062 30C27.2662 30 30 27.2662 30 23.9062C30 21.2402 28.2751 18.9734 25.8856 18.1494L21.8115 15.5127C22.4158 14.7931 22.9193 13.8977 23.2397 12.9419C23.6847 12.7478 24.0765 12.2168 24.267 11.4972C24.3823 11.0669 24.4061 10.6329 24.3311 10.274C24.2377 9.80896 23.9777 9.48669 23.6224 9.39148C23.5986 9.38416 23.573 9.37866 23.5455 9.375C23.4979 9.06738 23.4174 8.76709 23.2892 8.39905C23.3734 8.42102 23.465 8.45032 23.5437 8.48145C23.703 8.54919 23.8898 8.52173 24.0234 8.4082C24.1589 8.29651 24.2194 8.1189 24.1827 7.94861C23.606 5.31006 21.6467 3.73535 18.9441 3.73535H18.5962C18.5248 3.73535 18.446 3.74084 18.371 3.74634C17.1332 1.9519 15.1355 0.9375 12.6562 0.9375H12.1875ZM12.1875 1.875H12.6562C15.5017 1.875 17.5562 3.32886 18.3984 5.89783C18.0743 5.86121 17.7393 5.90149 17.5104 6.12305C17.3309 6.29333 17.1625 6.62109 17.3749 7.19971C17.6642 7.98523 17.7667 8.45032 17.7979 9.1095C17.8052 9.27795 17.9041 9.4281 18.0524 9.505C18.2007 9.58008 18.3801 9.57092 18.5211 9.47937C18.598 9.42993 18.6383 9.42444 18.6475 9.42444C18.761 9.46289 18.9661 10.0342 18.7335 10.9039C18.5028 11.7664 18.0597 12.1307 17.9224 12.1307C17.7136 12.1252 17.5323 12.2681 17.4738 12.4658C16.6827 15.1227 14.6155 17.8125 12.1875 17.8125C9.75952 17.8125 7.69226 15.1227 6.90125 12.4658C6.84265 12.2681 6.66138 12.1307 6.45264 12.1307C6.31531 12.1307 5.87219 11.7664 5.64148 10.9039C5.4071 10.0269 5.61768 9.45374 5.72571 9.42444C5.72754 9.42444 5.76782 9.42444 5.85205 9.47937C5.99487 9.57092 6.17432 9.58008 6.32263 9.505C6.47278 9.4281 6.56799 9.27795 6.57715 9.1095C6.58813 8.86414 6.61377 8.62061 6.65588 8.38623C6.69067 8.18481 6.66321 7.95959 6.61926 7.61719C6.55151 7.09167 6.45081 6.297 6.56067 5.20386C6.70898 3.70789 7.58606 2.8125 8.91357 2.8125C9.01611 2.8125 9.11316 2.77954 9.19556 2.71912C9.83826 2.23755 11.1237 1.875 12.1875 1.875ZM18.913 4.67285H18.9459C20.9491 4.67285 22.4121 5.66528 23.0566 7.42676C22.8461 7.43042 22.6392 7.48352 22.4835 7.63367C22.3224 7.78564 22.1704 8.07312 22.3535 8.56384C22.5641 9.13879 22.6392 9.47571 22.6611 9.95361C22.6685 10.1221 22.7655 10.2722 22.9156 10.3491C23.0621 10.4224 23.2361 10.415 23.3752 10.329C23.4338 10.4608 23.4851 10.7977 23.3624 11.2555C23.2178 11.792 22.9486 12.0612 22.8735 12.0831H22.8717C22.6648 12.0831 22.4817 12.2186 22.4231 12.4182C22.0312 13.7366 21.2512 14.9469 20.3394 15.6537C20.1343 15.813 20.0958 16.1078 20.2551 16.311C20.3467 16.4319 20.4858 16.4941 20.625 16.4941C20.7257 16.4941 20.8264 16.463 20.9125 16.3971C20.9912 16.3348 21.0681 16.2653 21.145 16.1993L23.6591 17.8253C22.9193 17.8546 22.2144 18.0103 21.5643 18.2812C21.4856 18.2318 21.416 18.1732 21.3354 18.1274L17.0142 15.6244C17.5562 14.8114 17.9901 13.9087 18.2886 13.0005C18.8617 12.7844 19.389 12.0831 19.6381 11.1456C19.9841 9.85474 19.6619 8.72498 18.8892 8.51807C18.8306 8.50342 18.761 8.4906 18.6841 8.48694C18.62 7.98523 18.4918 7.51648 18.2538 6.87561C18.2483 6.8573 18.2428 6.84082 18.2373 6.82617C18.4021 6.83899 18.6676 6.90674 18.8837 6.99463C19.0466 7.06238 19.2316 7.03491 19.3652 6.92139C19.4989 6.80969 19.5593 6.63208 19.5209 6.46179C19.3799 5.81543 19.1748 5.21667 18.913 4.67285ZM9.62219 4.74609C9.28711 4.7168 8.9502 4.86877 8.75793 5.16357L8.00537 6.30432C7.86255 6.52039 7.92297 6.81152 8.13904 6.95435C8.2196 7.00745 8.3075 7.03125 8.39539 7.03125C8.54919 7.03125 8.69751 6.95801 8.78906 6.82068L9.53979 5.67993L10.2722 6.03699C11.6071 6.68701 13.0994 7.03125 14.5844 7.03125H15.7819C16.04 7.03125 16.2506 6.82068 16.2506 6.5625C16.2506 6.30432 16.04 6.09375 15.7819 6.09375H14.5844C13.2404 6.09375 11.8909 5.78247 10.6842 5.19287L9.95178 4.83582C9.84558 4.78455 9.73389 4.75525 9.62219 4.74609ZM7.9248 16.3788C9.06555 17.7704 10.5487 18.75 12.1875 18.75C13.8263 18.75 15.3094 17.7722 16.4502 16.3806L20.6104 18.7885C18.9294 19.8761 17.8125 21.7621 17.8125 23.9062C17.8125 25.1147 18.1696 26.239 18.7793 27.1875H1.40625C1.14807 27.1875 0.9375 26.9769 0.9375 26.7188V23.399C0.9375 21.5662 1.92261 19.856 3.51013 18.9368L7.9248 16.3788ZM23.9062 18.75C26.7499 18.75 29.0625 21.0626 29.0625 23.9062C29.0625 26.7499 26.7499 29.0625 23.9062 29.0625C21.0626 29.0625 18.75 26.7499 18.75 23.9062C18.75 21.0626 21.0626 18.75 23.9062 18.75ZM8.4668 18.75C8.28369 18.739 8.10425 18.8361 8.01819 19.0082C7.90283 19.2407 7.99622 19.5227 8.22693 19.6381L11.9769 21.5131C12.0447 21.546 12.1161 21.5625 12.1875 21.5625C12.2589 21.5625 12.3322 21.546 12.3981 21.5131L16.1481 19.6381C16.3788 19.5227 16.4722 19.2407 16.3568 19.0082C16.2415 18.7775 15.9595 18.6841 15.7269 18.7994L12.1875 20.5701L8.64807 18.7994C8.58948 18.7701 8.52722 18.7555 8.4668 18.75ZM23.9062 20.625C23.6481 20.625 23.4375 20.8356 23.4375 21.0938V23.4375H21.0938C20.8356 23.4375 20.625 23.6481 20.625 23.9062C20.625 24.1644 20.8356 24.375 21.0938 24.375H23.4375V26.7188C23.4375 26.9769 23.6481 27.1875 23.9062 27.1875C24.1644 27.1875 24.375 26.9769 24.375 26.7188V24.375H26.7188C26.9769 24.375 27.1875 24.1644 27.1875 23.9062C27.1875 23.6481 26.9769 23.4375 26.7188 23.4375H24.375V21.0938C24.375 20.8356 24.1644 20.625 23.9062 20.625ZM2.8125 24.375C2.55432 24.375 2.34375 24.5856 2.34375 24.8438V25.7812C2.34375 26.0394 2.55432 26.25 2.8125 26.25C3.07068 26.25 3.28125 26.0394 3.28125 25.7812V24.8438C3.28125 24.5856 3.07068 24.375 2.8125 24.375ZM5.15625 24.375C4.89807 24.375 4.6875 24.5856 4.6875 24.8438V25.7812C4.6875 26.0394 4.89807 26.25 5.15625 26.25C5.41443 26.25 5.625 26.0394 5.625 25.7812V24.8438C5.625 24.5856 5.41443 24.375 5.15625 24.375ZM7.5 24.375C7.24182 24.375 7.03125 24.5856 7.03125 24.8438V25.7812C7.03125 26.0394 7.24182 26.25 7.5 26.25C7.75818 26.25 7.96875 26.0394 7.96875 25.7812V24.8438C7.96875 24.5856 7.75818 24.375 7.5 24.375ZM9.84375 24.375C9.58557 24.375 9.375 24.5856 9.375 24.8438V25.7812C9.375 26.0394 9.58557 26.25 9.84375 26.25C10.1019 26.25 10.3125 26.0394 10.3125 25.7812V24.8438C10.3125 24.5856 10.1019 24.375 9.84375 24.375ZM12.1875 24.375C11.9293 24.375 11.7188 24.5856 11.7188 24.8438V25.7812C11.7188 26.0394 11.9293 26.25 12.1875 26.25C12.4457 26.25 12.6562 26.0394 12.6562 25.7812V24.8438C12.6562 24.5856 12.4457 24.375 12.1875 24.375ZM14.5312 24.375C14.2731 24.375 14.0625 24.5856 14.0625 24.8438V25.7812C14.0625 26.0394 14.2731 26.25 14.5312 26.25C14.7894 26.25 15 26.0394 15 25.7812V24.8438C15 24.5856 14.7894 24.375 14.5312 24.375ZM16.875 24.375C16.6168 24.375 16.4062 24.5856 16.4062 24.8438V25.7812C16.4062 26.0394 16.6168 26.25 16.875 26.25C17.1332 26.25 17.3438 26.0394 17.3438 25.7812V24.8438C17.3438 24.5856 17.1332 24.375 16.875 24.375Z";
2968
3710
  return /*#__PURE__*/React.createElement("svg", {
2969
3711
  xmlns: "http://www.w3.org/2000/svg",
2970
- viewBox: '0 0 30 30'
3712
+ viewBox: "0 0 30 30"
2971
3713
  }, /*#__PURE__*/React.createElement("path", {
2972
3714
  key: path.substring(0, 20),
2973
3715
  d: path,
@@ -2988,8 +3730,8 @@ var FeaturePickerContent = (function () {
2988
3730
  className: "fp2_widget_content_vListing"
2989
3731
  }, /*#__PURE__*/React.createElement("div", {
2990
3732
  className: "fp2_widget_silhouette fp2_widget_silhouette-circle"
2991
- }, /*#__PURE__*/React.createElement(Components.SVGIcon, {
2992
- icon: 'groups3',
3733
+ }, /*#__PURE__*/React.createElement(Components.Icon, {
3734
+ icon: "fa-comments",
2993
3735
  colour: Colours.hexToRGBAstring(Colours.COLOUR_BRANDING_MAIN, 0.5)
2994
3736
  })), /*#__PURE__*/React.createElement("div", {
2995
3737
  className: "flex-1"
@@ -3001,8 +3743,8 @@ var FeaturePickerContent = (function () {
3001
3743
  className: "fp2_widget_content_vListing"
3002
3744
  }, /*#__PURE__*/React.createElement("div", {
3003
3745
  className: "fp2_widget_silhouette fp2_widget_silhouette-circle"
3004
- }, /*#__PURE__*/React.createElement(Components.SVGIcon, {
3005
- icon: 'groups3',
3746
+ }, /*#__PURE__*/React.createElement(Components.Icon, {
3747
+ icon: "fa-comments",
3006
3748
  colour: Colours.hexToRGBAstring(Colours.COLOUR_BRANDING_MAIN, 0.5)
3007
3749
  })), /*#__PURE__*/React.createElement("div", {
3008
3750
  className: "flex-1"
@@ -3014,8 +3756,8 @@ var FeaturePickerContent = (function () {
3014
3756
  className: "fp2_widget_content_vListing"
3015
3757
  }, /*#__PURE__*/React.createElement("div", {
3016
3758
  className: "fp2_widget_silhouette fp2_widget_silhouette-circle"
3017
- }, /*#__PURE__*/React.createElement(Components.SVGIcon, {
3018
- icon: 'groups3',
3759
+ }, /*#__PURE__*/React.createElement(Components.Icon, {
3760
+ icon: "fa-comments",
3019
3761
  colour: Colours.hexToRGBAstring(Colours.COLOUR_BRANDING_MAIN, 0.5)
3020
3762
  })), /*#__PURE__*/React.createElement("div", {
3021
3763
  className: "flex-1"