@wlloyalty/wll-react-sdk 1.0.111 → 1.0.113

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/native.js CHANGED
@@ -3700,6 +3700,101 @@ var ContentTile = Object.assign(ContentTileRoot, {
3700
3700
  });
3701
3701
  var ContentTile$1 = withTileFetching(ContentTile);
3702
3702
 
3703
+ var useGroupRefresh = function (_a) {
3704
+ var id = _a.id, _b = _a.enabled, enabled = _b === void 0 ? false : _b, setGroupData = _a.setGroupData;
3705
+ var sdk = useWllSdk();
3706
+ React.useEffect(function () {
3707
+ if (!enabled || !(sdk === null || sdk === void 0 ? void 0 : sdk.subscribeToDataChange)) {
3708
+ return;
3709
+ }
3710
+ var unsubscribe = sdk.subscribeToDataChange('GROUP_DATA_CHANGED', function () { return __awaiter(void 0, void 0, void 0, function () {
3711
+ var res, err_1;
3712
+ return __generator(this, function (_a) {
3713
+ switch (_a.label) {
3714
+ case 0:
3715
+ if (!id || !sdk || !sdk.refreshGroup) {
3716
+ return [2 /*return*/];
3717
+ }
3718
+ _a.label = 1;
3719
+ case 1:
3720
+ _a.trys.push([1, 3, , 4]);
3721
+ return [4 /*yield*/, sdk.refreshGroup(id)];
3722
+ case 2:
3723
+ res = _a.sent();
3724
+ if ((res === null || res === void 0 ? void 0 : res.status) === 'success' && res.data) {
3725
+ setGroupData(res.data);
3726
+ }
3727
+ return [3 /*break*/, 4];
3728
+ case 3:
3729
+ err_1 = _a.sent();
3730
+ console.error('Error during silent refresh:', err_1);
3731
+ return [3 /*break*/, 4];
3732
+ case 4: return [2 /*return*/];
3733
+ }
3734
+ });
3735
+ }); });
3736
+ return function () {
3737
+ unsubscribe();
3738
+ };
3739
+ }, [id, sdk, enabled, setGroupData]);
3740
+ };
3741
+
3742
+ var useInitialGroupFetch = function (_a) {
3743
+ var id = _a.id, setGroupData = _a.setGroupData;
3744
+ var sdk = useWllSdk();
3745
+ var _b = React.useState(true), isLoading = _b[0], setIsLoading = _b[1];
3746
+ var _c = React.useState(null), error = _c[0], setError = _c[1];
3747
+ React.useEffect(function () {
3748
+ var cancelled = false;
3749
+ var fetchGroup = function () { return __awaiter(void 0, void 0, void 0, function () {
3750
+ var response;
3751
+ var _b;
3752
+ return __generator(this, function (_c) {
3753
+ switch (_c.label) {
3754
+ case 0:
3755
+ if (!id || !(sdk === null || sdk === void 0 ? void 0 : sdk.refreshGroup)) {
3756
+ setError('Unable to fetch group data: invalid configuration');
3757
+ setIsLoading(false);
3758
+ return [2 /*return*/];
3759
+ }
3760
+ setIsLoading(true);
3761
+ setError(null);
3762
+ _c.label = 1;
3763
+ case 1:
3764
+ _c.trys.push([1, 3, 4, 5]);
3765
+ return [4 /*yield*/, sdk.refreshGroup(id)];
3766
+ case 2:
3767
+ response = _c.sent();
3768
+ if (cancelled)
3769
+ return [2 /*return*/];
3770
+ if ((response === null || response === void 0 ? void 0 : response.status) === 'success' && response.data) {
3771
+ setGroupData(response.data);
3772
+ }
3773
+ else {
3774
+ setError((_b = response === null || response === void 0 ? void 0 : response.error) !== null && _b !== void 0 ? _b : 'Failed to fetch group data');
3775
+ }
3776
+ return [3 /*break*/, 5];
3777
+ case 3:
3778
+ _c.sent();
3779
+ if (!cancelled)
3780
+ setError('An unexpected error occurred.');
3781
+ return [3 /*break*/, 5];
3782
+ case 4:
3783
+ if (!cancelled)
3784
+ setIsLoading(false);
3785
+ return [7 /*endfinally*/];
3786
+ case 5: return [2 /*return*/];
3787
+ }
3788
+ });
3789
+ }); };
3790
+ fetchGroup();
3791
+ return function () {
3792
+ cancelled = true;
3793
+ };
3794
+ }, [id, sdk, setGroupData]);
3795
+ return { isLoading: isLoading, error: error };
3796
+ };
3797
+
3703
3798
  exports.SectionType = void 0;
3704
3799
  (function (SectionType) {
3705
3800
  SectionType["Grid"] = "GRID";
@@ -4255,91 +4350,14 @@ var useGroupContext = function () {
4255
4350
  * @returns {Object} Object containing group data, loading state, and any error
4256
4351
  */
4257
4352
  var useGroupData = function (id) {
4258
- var sdk = useWllSdk();
4259
4353
  var _a = React.useState(null), groupData = _a[0], setGroupData = _a[1];
4260
- var _b = React.useState(null), error = _b[0], setError = _b[1];
4261
- var _c = React.useState(true), isLoading = _c[0], setIsLoading = _c[1];
4262
- var _d = React.useState(false), isInitialFetchDone = _d[0], setIsInitialFetchDone = _d[1];
4263
- var initialFetch = React.useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
4264
- var response, err_1;
4265
- return __generator(this, function (_a) {
4266
- switch (_a.label) {
4267
- case 0:
4268
- if (!id || !sdk || !sdk.getGroupByID) {
4269
- setError('Unable to fetch group data: invalid configuration');
4270
- setIsLoading(false);
4271
- setIsInitialFetchDone(true);
4272
- return [2 /*return*/];
4273
- }
4274
- setIsLoading(true);
4275
- setError(null);
4276
- _a.label = 1;
4277
- case 1:
4278
- _a.trys.push([1, 3, 4, 5]);
4279
- return [4 /*yield*/, sdk.refreshGroup(id)];
4280
- case 2:
4281
- response = _a.sent();
4282
- if (response && response.status === 'success' && response.data) {
4283
- setGroupData(response.data);
4284
- }
4285
- else {
4286
- setError((response && response.error) || 'Failed to fetch group data.');
4287
- }
4288
- return [3 /*break*/, 5];
4289
- case 3:
4290
- err_1 = _a.sent();
4291
- setError('Failed to fetch group data. Please try again later.');
4292
- console.error('Error fetching group:', err_1);
4293
- return [3 /*break*/, 5];
4294
- case 4:
4295
- setIsLoading(false);
4296
- setIsInitialFetchDone(true);
4297
- return [7 /*endfinally*/];
4298
- case 5: return [2 /*return*/];
4299
- }
4300
- });
4301
- }); }, [id, sdk]);
4302
- var silentRefresh = React.useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
4303
- var response, err_2;
4304
- return __generator(this, function (_a) {
4305
- switch (_a.label) {
4306
- case 0:
4307
- if (!id || !sdk || !sdk.getGroupByID || !isInitialFetchDone) {
4308
- return [2 /*return*/];
4309
- }
4310
- _a.label = 1;
4311
- case 1:
4312
- _a.trys.push([1, 3, , 4]);
4313
- return [4 /*yield*/, sdk.refreshGroup(id)];
4314
- case 2:
4315
- response = _a.sent();
4316
- if (response && response.status === 'success' && response.data) {
4317
- setGroupData(response.data);
4318
- }
4319
- return [3 /*break*/, 4];
4320
- case 3:
4321
- err_2 = _a.sent();
4322
- console.error('Error during silent refresh:', err_2);
4323
- return [3 /*break*/, 4];
4324
- case 4: return [2 /*return*/];
4325
- }
4326
- });
4327
- }); }, [id, sdk, isInitialFetchDone]);
4328
- var refreshGroup = React.useCallback(function () {
4329
- return silentRefresh();
4330
- }, [silentRefresh]);
4331
- React.useEffect(function () {
4332
- if (sdk) {
4333
- initialFetch();
4334
- var unsubscribeGroup_1 = sdk.subscribeToDataChange('GROUP_DATA_CHANGED', function () {
4335
- silentRefresh();
4336
- });
4337
- return function () {
4338
- unsubscribeGroup_1();
4339
- };
4340
- }
4341
- }, [initialFetch, id, sdk, silentRefresh]);
4342
- return { groupData: groupData, isLoading: isLoading, error: error, refreshGroup: refreshGroup };
4354
+ var _b = useInitialGroupFetch({ id: id, setGroupData: setGroupData }), isLoading = _b.isLoading, error = _b.error;
4355
+ useGroupRefresh({
4356
+ id: id,
4357
+ enabled: Boolean(groupData),
4358
+ setGroupData: setGroupData,
4359
+ });
4360
+ return { groupData: groupData, isLoading: isLoading, error: error };
4343
4361
  };
4344
4362
  /**
4345
4363
  * Component to display an empty state with a message
@@ -4394,7 +4412,7 @@ var Group = function (_a) {
4394
4412
  if (isLoading) {
4395
4413
  return (jsxRuntimeExports.jsx(reactNative.View, { style: {
4396
4414
  flex: 1,
4397
- padding: theme.sizes.lg,
4415
+ padding: IS_MOBILE ? theme.sizes.lg : undefined,
4398
4416
  }, accessible: true, accessibilityLabel: "Loading group data", children: jsxRuntimeExports.jsx(Skeleton, { numberOfSquares: IS_WEB ? 4 : 2 }) }));
4399
4417
  }
4400
4418
  if (error || !groupData) {
@@ -5075,9 +5093,6 @@ var useRoundupTileStyles = function (isFullSize) {
5075
5093
  },
5076
5094
  contentContainer: {
5077
5095
  width: '100%',
5078
- marginTop: isFullSize
5079
- ? useResponsiveValue(theme.sizes.xxl, theme.sizes.md, isDesktop, isTablet)
5080
- : 0,
5081
5096
  },
5082
5097
  contentColumn: {
5083
5098
  flexGrow: 1,