@timardex/cluemart-shared 1.6.130 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/dist/ad-CVkVX_z5.d.ts +296 -0
  2. package/dist/ad-DA9ECAhK.d.mts +296 -0
  3. package/dist/affiliate-1RtkLnLP.d.ts +35 -0
  4. package/dist/affiliate-Cos2Syz5.d.mts +35 -0
  5. package/dist/chunk-HZMP7GXC.mjs +5330 -0
  6. package/dist/chunk-HZMP7GXC.mjs.map +1 -0
  7. package/dist/chunk-KZTOISPA.mjs +272 -0
  8. package/dist/chunk-KZTOISPA.mjs.map +1 -0
  9. package/dist/chunk-MVQ3CFQR.mjs +230 -0
  10. package/dist/chunk-MVQ3CFQR.mjs.map +1 -0
  11. package/dist/chunk-NPFJ2CN2.mjs +109 -0
  12. package/dist/chunk-NPFJ2CN2.mjs.map +1 -0
  13. package/dist/chunk-RKIRWZCH.mjs +368 -0
  14. package/dist/chunk-RKIRWZCH.mjs.map +1 -0
  15. package/dist/{chunk-OHHJ3KJJ.mjs → chunk-TAECMXM4.mjs} +267 -304
  16. package/dist/chunk-TAECMXM4.mjs.map +1 -0
  17. package/dist/chunk-VA5YN2K3.mjs +48 -0
  18. package/dist/chunk-VA5YN2K3.mjs.map +1 -0
  19. package/dist/chunk-ZZJSCYJK.mjs +958 -0
  20. package/dist/chunk-ZZJSCYJK.mjs.map +1 -0
  21. package/dist/contactUs-DGrDzJaM.d.mts +11 -0
  22. package/dist/contactUs-H7799pWe.d.ts +11 -0
  23. package/dist/enums/index.cjs +223 -2
  24. package/dist/enums/index.cjs.map +1 -1
  25. package/dist/enums/index.d.mts +164 -5
  26. package/dist/enums/index.d.ts +164 -5
  27. package/dist/enums/index.mjs +41 -1
  28. package/dist/formFields/index.cjs +168 -403
  29. package/dist/formFields/index.cjs.map +1 -1
  30. package/dist/formFields/index.d.mts +3 -6
  31. package/dist/formFields/index.d.ts +3 -6
  32. package/dist/formFields/index.mjs +47 -921
  33. package/dist/formFields/index.mjs.map +1 -1
  34. package/dist/global-BUUfmCo7.d.mts +698 -0
  35. package/dist/global-fKbMmluy.d.ts +698 -0
  36. package/dist/graphql/index.cjs +3329 -3340
  37. package/dist/graphql/index.cjs.map +1 -1
  38. package/dist/graphql/index.d.mts +487 -690
  39. package/dist/graphql/index.d.ts +487 -690
  40. package/dist/graphql/index.mjs +153 -2552
  41. package/dist/graphql/index.mjs.map +1 -1
  42. package/dist/hooks/index.cjs +3478 -773
  43. package/dist/hooks/index.cjs.map +1 -1
  44. package/dist/hooks/index.d.mts +6 -13
  45. package/dist/hooks/index.d.ts +6 -13
  46. package/dist/hooks/index.mjs +99 -193
  47. package/dist/hooks/index.mjs.map +1 -1
  48. package/dist/images/apple-maps-icon.webp.d.ts +1 -8
  49. package/dist/images/banner-horizontal.webp.d.ts +1 -8
  50. package/dist/images/banner-vertical.webp.d.ts +1 -8
  51. package/dist/images/cluiTui.webp.d.ts +1 -8
  52. package/dist/images/corporate.webp.d.ts +1 -8
  53. package/dist/images/facebook.webp.d.ts +1 -8
  54. package/dist/images/gazebo-top.webp.d.ts +1 -8
  55. package/dist/images/google-maps-icon.webp.d.ts +1 -8
  56. package/dist/images/googleMaps-logo-dark.webp.d.ts +1 -8
  57. package/dist/images/googleMaps-logo-light.webp.d.ts +1 -8
  58. package/dist/images/index.mjs +21 -86
  59. package/dist/images/index.mjs.map +1 -1
  60. package/dist/images/instagram.webp.d.ts +1 -8
  61. package/dist/images/logo-atr.webp.d.ts +1 -8
  62. package/dist/images/logo-dark.webp.d.ts +1 -8
  63. package/dist/images/logo.webp.d.ts +1 -8
  64. package/dist/images/meet.webp.d.ts +1 -8
  65. package/dist/images/mini-market1.webp.d.ts +1 -8
  66. package/dist/images/mini-market2.webp.d.ts +1 -8
  67. package/dist/images/mini-market3.webp.d.ts +1 -8
  68. package/dist/images/mini-market4.webp.d.ts +1 -8
  69. package/dist/images/mini-market5.webp.d.ts +1 -8
  70. package/dist/images/poll.webp.d.ts +1 -8
  71. package/dist/images/poster1.webp.d.ts +1 -8
  72. package/dist/images/poster2.webp.d.ts +1 -8
  73. package/dist/images/poster3.webp.d.ts +1 -8
  74. package/dist/images/poster4.webp.d.ts +1 -8
  75. package/dist/images/private.webp.d.ts +1 -8
  76. package/dist/images/qr-code.webp.d.ts +1 -8
  77. package/dist/images/school.webp.d.ts +1 -8
  78. package/dist/images/sima.webp.d.ts +1 -8
  79. package/dist/images/store-android.webp.d.ts +1 -8
  80. package/dist/images/store-ios.webp.d.ts +1 -8
  81. package/dist/images/tablas.webp.d.ts +1 -8
  82. package/dist/images/telefonos.webp.d.ts +1 -8
  83. package/dist/images/tiktok.webp.d.ts +1 -8
  84. package/dist/images/tip.webp.d.ts +1 -8
  85. package/dist/images/ugralos.webp.d.ts +1 -8
  86. package/dist/images/waze-maps-icon.webp.d.ts +1 -8
  87. package/dist/images/website.webp.d.ts +1 -8
  88. package/dist/images/youtube.webp.d.ts +1 -8
  89. package/dist/index.cjs +5883 -7079
  90. package/dist/index.cjs.map +1 -1
  91. package/dist/index.d.mts +1692 -2966
  92. package/dist/index.d.ts +1692 -2966
  93. package/dist/index.mjs +5020 -6162
  94. package/dist/index.mjs.map +1 -1
  95. package/dist/map/index.cjs +9 -14
  96. package/dist/map/index.cjs.map +1 -1
  97. package/dist/map/index.d.mts +14 -18
  98. package/dist/map/index.d.ts +14 -18
  99. package/dist/map/index.mjs +9 -14
  100. package/dist/map/index.mjs.map +1 -1
  101. package/dist/resourceActivities-BL_12IAo.d.ts +125 -0
  102. package/dist/resourceActivities-zczOntNk.d.mts +125 -0
  103. package/dist/sharing/index.cjs +1272 -63
  104. package/dist/sharing/index.cjs.map +1 -1
  105. package/dist/sharing/index.d.mts +7 -32
  106. package/dist/sharing/index.d.ts +7 -32
  107. package/dist/sharing/index.mjs +30 -188
  108. package/dist/sharing/index.mjs.map +1 -1
  109. package/dist/theme/index.mjs +5 -41
  110. package/dist/theme/index.mjs.map +1 -1
  111. package/dist/types/index.cjs +110 -868
  112. package/dist/types/index.cjs.map +1 -1
  113. package/dist/types/index.d.mts +24 -230
  114. package/dist/types/index.d.ts +24 -230
  115. package/dist/types/index.mjs +27 -61
  116. package/dist/utils/index.cjs +214 -608
  117. package/dist/utils/index.cjs.map +1 -1
  118. package/dist/utils/index.d.mts +53 -107
  119. package/dist/utils/index.d.ts +53 -107
  120. package/dist/utils/index.mjs +15 -43
  121. package/package.json +12 -40
  122. package/dist/affiliate-Bqqlffw8.d.mts +0 -36
  123. package/dist/affiliate-Btlp5XUp.d.ts +0 -36
  124. package/dist/affiliateAdapters-BW3BY7c5.d.mts +0 -118
  125. package/dist/affiliateAdapters-C51ISmuA.d.ts +0 -118
  126. package/dist/apollo/index.cjs +0 -1383
  127. package/dist/apollo/index.cjs.map +0 -1
  128. package/dist/apollo/index.d.mts +0 -323
  129. package/dist/apollo/index.d.ts +0 -323
  130. package/dist/apollo/index.mjs +0 -1295
  131. package/dist/apollo/index.mjs.map +0 -1
  132. package/dist/auth/index.cjs +0 -3322
  133. package/dist/auth/index.cjs.map +0 -1
  134. package/dist/auth/index.d.mts +0 -164
  135. package/dist/auth/index.d.ts +0 -164
  136. package/dist/auth/index.mjs +0 -379
  137. package/dist/auth/index.mjs.map +0 -1
  138. package/dist/auth-BOmAO53v.d.ts +0 -169
  139. package/dist/auth-CsITA95p.d.mts +0 -169
  140. package/dist/chunk-DATBGC2K.mjs +0 -347
  141. package/dist/chunk-DATBGC2K.mjs.map +0 -1
  142. package/dist/chunk-DDHECBJR.mjs +0 -726
  143. package/dist/chunk-DDHECBJR.mjs.map +0 -1
  144. package/dist/chunk-INQCDU24.mjs +0 -139
  145. package/dist/chunk-INQCDU24.mjs.map +0 -1
  146. package/dist/chunk-NWWKI4PJ.mjs +0 -297
  147. package/dist/chunk-NWWKI4PJ.mjs.map +0 -1
  148. package/dist/chunk-OHHJ3KJJ.mjs.map +0 -1
  149. package/dist/chunk-RAYUJODN.mjs +0 -45
  150. package/dist/chunk-RAYUJODN.mjs.map +0 -1
  151. package/dist/chunk-TOEFAEF2.mjs +0 -69
  152. package/dist/chunk-TOEFAEF2.mjs.map +0 -1
  153. package/dist/chunk-UKW7NZEQ.mjs +0 -2813
  154. package/dist/chunk-UKW7NZEQ.mjs.map +0 -1
  155. package/dist/dailyClue-C6WXY73z.d.mts +0 -105
  156. package/dist/dailyClue-C6WXY73z.d.ts +0 -105
  157. package/dist/event-C9K7CSg4.d.ts +0 -53
  158. package/dist/event-W0NhL5Cd.d.mts +0 -53
  159. package/dist/global-BbSFfYdd.d.ts +0 -181
  160. package/dist/global-C6v9tRji.d.mts +0 -181
  161. package/dist/graphql-CDOfA79A.d.ts +0 -1253
  162. package/dist/graphql-CcvzTs9k.d.mts +0 -1253
  163. package/dist/resourceActivities-CS8YRIIL.d.mts +0 -89
  164. package/dist/resourceActivities-DOdNPkhW.d.ts +0 -89
  165. package/dist/subscription-Cj_qBA7u.d.mts +0 -20
  166. package/dist/subscription-OiJ50uJb.d.ts +0 -20
  167. package/dist/vendor-DmMi2qmx.d.mts +0 -73
  168. package/dist/vendor-M9hVZlni.d.ts +0 -73
@@ -30,7 +30,6 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
30
  // src/utils/index.ts
31
31
  var utils_exports = {};
32
32
  __export(utils_exports, {
33
- AFFILIATE_PARTICIPANT_TYPE_LABELS: () => AFFILIATE_PARTICIPANT_TYPE_LABELS,
34
33
  AFFILIATE_REWARDS: () => AFFILIATE_REWARDS,
35
34
  ANDROID_URL: () => ANDROID_URL,
36
35
  CLUEMART_MAIN_DOMAIN_URL: () => CLUEMART_MAIN_DOMAIN_URL,
@@ -38,11 +37,9 @@ __export(utils_exports, {
38
37
  CM_SCHOOL_PROMO_CODE: () => CM_SCHOOL_PROMO_CODE,
39
38
  DEFAULT_RESOURCES_RETURN_LIMIT: () => DEFAULT_RESOURCES_RETURN_LIMIT,
40
39
  DEFAULT_RESOURCES_RETURN_OFFSET: () => DEFAULT_RESOURCES_RETURN_OFFSET,
41
- DEFAULT_USER_FACING_ERROR: () => DEFAULT_USER_FACING_ERROR,
42
40
  EVENT_DATE_STATUS_PERIOD_MAP: () => EVENT_DATE_STATUS_PERIOD_MAP,
43
41
  IOS_URL: () => IOS_URL,
44
42
  KNOWN_EVENT_SCHEDULE_STATUSES: () => KNOWN_EVENT_SCHEDULE_STATUSES,
45
- NETWORK_USER_FACING_ERROR: () => NETWORK_USER_FACING_ERROR,
46
43
  PostTypeLabels: () => PostTypeLabels,
47
44
  SCHOOL_MAX_STUDENT_COUNT: () => SCHOOL_MAX_STUDENT_COUNT,
48
45
  SCHOOL_MIN_STUDENT_COUNT: () => SCHOOL_MIN_STUDENT_COUNT,
@@ -67,14 +64,11 @@ __export(utils_exports, {
67
64
  filterVendorEventsBySelectedDate: () => filterVendorEventsBySelectedDate,
68
65
  findEventDateTimeByIsoDate: () => findEventDateTimeByIsoDate,
69
66
  formatDate: () => formatDate,
70
- formatIrdNumber: () => formatIrdNumber,
71
- formatNZBankAccount: () => formatNZBankAccount,
72
67
  formatTimestamp: () => formatTimestamp,
73
68
  fromCalendarIsoDate: () => fromCalendarIsoDate,
74
69
  futureTimePeriods: () => futureTimePeriods,
75
70
  getAllowedEventDateStatuses: () => getAllowedEventDateStatuses,
76
71
  getCurrentAndFutureDates: () => getCurrentAndFutureDates,
77
- getErrorMessage: () => getErrorMessage,
78
72
  getEventCalendarIsoDates: () => getEventCalendarIsoDates,
79
73
  getEventDatesWithStallholders: () => getEventDatesWithStallholders,
80
74
  getEventScheduleStatusLabel: () => getEventScheduleStatusLabel,
@@ -92,16 +86,12 @@ __export(utils_exports, {
92
86
  getVendorEventsEmptyMessage: () => getVendorEventsEmptyMessage,
93
87
  hasMatchingEventDate: () => hasMatchingEventDate,
94
88
  isFutureDatesBeforeThreshold: () => isFutureDatesBeforeThreshold,
95
- isInternalErrorMessage: () => isInternalErrorMessage,
96
89
  isIsoDateString: () => isIsoDateString,
97
90
  isResourceImageActive: () => isResourceImageActive,
98
- isTransientNetworkError: () => isTransientNetworkError,
99
- isValidIrdNumber: () => isValidIrdNumber,
100
91
  licenseNiceNames: () => licenseNiceNames,
101
92
  mapArrayToOptions: () => mapArrayToOptions,
102
93
  matchesCategory: () => matchesCategory,
103
94
  matchesSelectedDate: () => matchesSelectedDate,
104
- normalizeIrdNumber: () => normalizeIrdNumber,
105
95
  normalizeResourceImage: () => normalizeResourceImage,
106
96
  normalizeUrl: () => normalizeUrl,
107
97
  nzStartOfDay: () => nzStartOfDay,
@@ -117,7 +107,6 @@ __export(utils_exports, {
117
107
  timeFormat: () => timeFormat,
118
108
  toCalendarIsoDate: () => toCalendarIsoDate,
119
109
  toNZTime: () => toNZTime,
120
- toUserFacingErrorMessage: () => toUserFacingErrorMessage,
121
110
  truncateText: () => truncateText
122
111
  });
123
112
  module.exports = __toCommonJS(utils_exports);
@@ -230,45 +219,174 @@ var import_isSameOrAfter = __toESM(require("dayjs/plugin/isSameOrAfter.js"));
230
219
  var import_timezone = __toESM(require("dayjs/plugin/timezone.js"));
231
220
  var import_utc = __toESM(require("dayjs/plugin/utc.js"));
232
221
 
233
- // src/generated/graphql.ts
234
- var EventDateStatusEnumType = /* @__PURE__ */ ((EventDateStatusEnumType2) => {
235
- EventDateStatusEnumType2["Canceled"] = "Canceled";
236
- EventDateStatusEnumType2["Ended"] = "Ended";
237
- EventDateStatusEnumType2["Invalid"] = "Invalid";
238
- EventDateStatusEnumType2["NextWeek"] = "Next_Week";
239
- EventDateStatusEnumType2["Rescheduled"] = "Rescheduled";
240
- EventDateStatusEnumType2["Started"] = "Started";
241
- EventDateStatusEnumType2["StartingSoon"] = "Starting_Soon";
242
- EventDateStatusEnumType2["ThisWeek"] = "This_Week";
243
- EventDateStatusEnumType2["Today"] = "Today";
244
- EventDateStatusEnumType2["Tomorrow"] = "Tomorrow";
245
- EventDateStatusEnumType2["Upcoming"] = "Upcoming";
246
- return EventDateStatusEnumType2;
247
- })(EventDateStatusEnumType || {});
248
- var InviteEnumType = /* @__PURE__ */ ((InviteEnumType2) => {
249
- InviteEnumType2["Accepted"] = "Accepted";
250
- InviteEnumType2["Completed"] = "Completed";
251
- InviteEnumType2["Expired"] = "Expired";
252
- InviteEnumType2["NoStatus"] = "No_Status";
253
- InviteEnumType2["Pending"] = "Pending";
254
- InviteEnumType2["Rejected"] = "Rejected";
255
- InviteEnumType2["Unavailable"] = "Unavailable";
256
- return InviteEnumType2;
257
- })(InviteEnumType || {});
258
- var PaymentMethodEnumType = /* @__PURE__ */ ((PaymentMethodEnumType2) => {
259
- PaymentMethodEnumType2["BankTransfer"] = "bank_transfer";
260
- PaymentMethodEnumType2["Cash"] = "cash";
261
- PaymentMethodEnumType2["Eftpos"] = "eftpos";
262
- PaymentMethodEnumType2["Paypal"] = "paypal";
263
- PaymentMethodEnumType2["Stripe"] = "stripe";
264
- return PaymentMethodEnumType2;
265
- })(PaymentMethodEnumType || {});
222
+ // src/enums/index.ts
223
+ var EnumInviteStatus = /* @__PURE__ */ ((EnumInviteStatus2) => {
224
+ EnumInviteStatus2["ACCEPTED"] = "Accepted";
225
+ EnumInviteStatus2["COMPLETED"] = "Completed";
226
+ EnumInviteStatus2["EXPIRED"] = "Expired";
227
+ EnumInviteStatus2["NO_STATUS"] = "No_Status";
228
+ EnumInviteStatus2["PENDING"] = "Pending";
229
+ EnumInviteStatus2["REJECTED"] = "Rejected";
230
+ EnumInviteStatus2["UNAVAILABLE"] = "Unavailable";
231
+ return EnumInviteStatus2;
232
+ })(EnumInviteStatus || {});
233
+ var EnumPaymentMethod = /* @__PURE__ */ ((EnumPaymentMethod2) => {
234
+ EnumPaymentMethod2["CASH"] = "cash";
235
+ EnumPaymentMethod2["EFTPOS"] = "eftpos";
236
+ EnumPaymentMethod2["BANK_TRANSFER"] = "bank_transfer";
237
+ EnumPaymentMethod2["PAYPAL"] = "paypal";
238
+ EnumPaymentMethod2["STRIPE"] = "stripe";
239
+ return EnumPaymentMethod2;
240
+ })(EnumPaymentMethod || {});
241
+ var EnumRegions = /* @__PURE__ */ ((EnumRegions2) => {
242
+ EnumRegions2["All"] = "All Regions";
243
+ EnumRegions2["Auckland"] = "Auckland";
244
+ EnumRegions2["BayOfPlentyGisborne"] = "Bay of Plenty & Gisborne";
245
+ EnumRegions2["CanterburyWestCoast"] = "Canterbury & West Coast";
246
+ EnumRegions2["HawkesBay"] = "Hawke's Bay";
247
+ EnumRegions2["ManawatuWanganui"] = "Manawatu-Wanganui";
248
+ EnumRegions2["MarlboroughNelsonTasman"] = "Marlborough & Nelson & Tasman";
249
+ EnumRegions2["Northland"] = "Northland";
250
+ EnumRegions2["Otago"] = "Otago";
251
+ EnumRegions2["Southland"] = "Southland";
252
+ EnumRegions2["Taranaki"] = "Taranaki";
253
+ EnumRegions2["Waikato"] = "Waikato";
254
+ EnumRegions2["Wellington"] = "Wellington";
255
+ return EnumRegions2;
256
+ })(EnumRegions || {});
257
+ var EnumEventDateStatus = /* @__PURE__ */ ((EnumEventDateStatus2) => {
258
+ EnumEventDateStatus2["STARTING_SOON"] = "Starting_Soon";
259
+ EnumEventDateStatus2["STARTED"] = "Started";
260
+ EnumEventDateStatus2["TODAY"] = "Today";
261
+ EnumEventDateStatus2["TOMORROW"] = "Tomorrow";
262
+ EnumEventDateStatus2["THIS_WEEK"] = "This_Week";
263
+ EnumEventDateStatus2["NEXT_WEEK"] = "Next_Week";
264
+ EnumEventDateStatus2["UPCOMING"] = "Upcoming";
265
+ EnumEventDateStatus2["ENDED"] = "Ended";
266
+ EnumEventDateStatus2["RE_SCHEDULED"] = "Rescheduled";
267
+ EnumEventDateStatus2["CANCELED"] = "Canceled";
268
+ EnumEventDateStatus2["INVALID"] = "Invalid";
269
+ return EnumEventDateStatus2;
270
+ })(EnumEventDateStatus || {});
271
+
272
+ // src/types/global.ts
273
+ var PROMO_CODE_PREFIX = "CM-";
266
274
 
267
- // src/utils/mapArrayToOptions.ts
275
+ // src/types/subscription.ts
276
+ var TIER_FROM_LICENCE = {
277
+ ["pro_event" /* PRO_EVENT */]: "pro",
278
+ ["pro_plus_event" /* PRO_PLUS_EVENT */]: "pro_plus",
279
+ ["pro_plus_vendor" /* PRO_PLUS_VENDOR */]: "pro_plus",
280
+ ["pro_vendor" /* PRO_VENDOR */]: "pro",
281
+ ["standard_event" /* STANDARD_EVENT */]: "standard",
282
+ ["standard_partner" /* STANDARD_PARTNER */]: "standard",
283
+ ["standard_vendor" /* STANDARD_VENDOR */]: "standard"
284
+ };
285
+
286
+ // src/utils/utils.ts
287
+ var removeTypename = (obj) => {
288
+ if (obj instanceof Date) {
289
+ return obj;
290
+ }
291
+ if (obj instanceof File) {
292
+ return obj;
293
+ }
294
+ if (isIsoDateString(obj)) {
295
+ return obj;
296
+ }
297
+ if (Array.isArray(obj)) {
298
+ return obj.map(removeTypename);
299
+ }
300
+ if (obj !== null && typeof obj === "object") {
301
+ const { __typename, ...cleanedObj } = obj;
302
+ return Object.keys(cleanedObj).reduce((acc, key) => {
303
+ acc[key] = removeTypename(cleanedObj[key]);
304
+ return acc;
305
+ }, {});
306
+ }
307
+ return obj;
308
+ };
309
+ var truncateText = (text, maxLength = 30) => {
310
+ return text.length > maxLength ? text.substring(0, maxLength) + "..." : text;
311
+ };
268
312
  var mapArrayToOptions = (items) => items.map((item) => ({
269
313
  label: item,
270
314
  value: item
271
315
  }));
316
+ var capitalizeFirstLetter = (str) => {
317
+ return str.split(" ").map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()).join(" ");
318
+ };
319
+ var statusOptions = [
320
+ ...Object.values(EnumInviteStatus).map((status) => ({
321
+ label: status,
322
+ value: status
323
+ })).sort((a, b) => a.label.localeCompare(b.label))
324
+ // Sort the options alphabetically
325
+ ];
326
+ var availableRegionTypes = Object.values(EnumRegions);
327
+ var availableRegionOptions = mapArrayToOptions(availableRegionTypes);
328
+ var paymentMethodOptions = mapArrayToOptions(
329
+ Object.values(EnumPaymentMethod)
330
+ );
331
+ function normalizeUrl(url) {
332
+ if (!url.startsWith("http://") && !url.startsWith("https://")) {
333
+ return `https://${url}`;
334
+ }
335
+ return url;
336
+ }
337
+ var licenseNiceNames = {
338
+ ["pro_event" /* PRO_EVENT */]: "Pro Event",
339
+ ["pro_vendor" /* PRO_VENDOR */]: "Pro Stallholder",
340
+ ["standard_event" /* STANDARD_EVENT */]: "Standard Event",
341
+ ["standard_vendor" /* STANDARD_VENDOR */]: "Standard Stallholder",
342
+ ["pro_plus_event" /* PRO_PLUS_EVENT */]: "Pro+Ads Event",
343
+ ["pro_plus_vendor" /* PRO_PLUS_VENDOR */]: "Pro+Ads Stallholder",
344
+ ["standard_partner" /* STANDARD_PARTNER */]: "Partner"
345
+ };
346
+ var cluemartSocialMedia = [
347
+ {
348
+ link: "https://www.facebook.com/ClueMartApp",
349
+ name: "facebook" /* FACEBOOK */
350
+ },
351
+ {
352
+ link: "https://www.instagram.com/cluemart_app",
353
+ name: "instagram" /* INSTAGRAM */
354
+ },
355
+ {
356
+ link: "https://www.tiktok.com/@cluemart",
357
+ name: "tiktok" /* TIKTOK */
358
+ },
359
+ {
360
+ link: "https://www.youtube.com/@ClueMart-App-NZ",
361
+ name: "youtube" /* YOUTUBE */
362
+ }
363
+ ];
364
+ var IOS_URL = "https://apps.apple.com/nz/app/cluemart/id6747251008";
365
+ var ANDROID_URL = "https://play.google.com/store/apps/details?id=com.timardex.cluemart";
366
+ var DEFAULT_RESOURCES_RETURN_LIMIT = 1e3;
367
+ var DEFAULT_RESOURCES_RETURN_OFFSET = 0;
368
+ var CLUEMART_MAIN_DOMAIN_URL = "https://cluemart.co.nz";
369
+ var rewardNiceNames = {
370
+ ["mystery_joy_box" /* MYSTERY_JOY_BOX */]: {
371
+ name: "Mystery Joy Box",
372
+ points: 250
373
+ },
374
+ ["mystery_squeeze_box" /* MYSTERY_SQUEEZE_BOX */]: {
375
+ name: "Mystery Squeeze Box",
376
+ points: 350
377
+ },
378
+ ["mystery_deluxe_box" /* MYSTERY_DELUXE_BOX */]: {
379
+ name: "Mystery Deluxe Box",
380
+ points: 500
381
+ }
382
+ };
383
+ var PostTypeLabels = {
384
+ ["market_faces" /* MARKET_FACES */]: "Market Faces",
385
+ ["clue_bites" /* CLUE_BITES */]: "Clue Bites",
386
+ ["play_and_win" /* PLAY_AND_WIN */]: "Play & Win"
387
+ };
388
+ var CM_SCHOOL_PROMO_CODE = `${PROMO_CODE_PREFIX}SCHOOL`;
389
+ var CM_AFFILIATE_PROMO_CODE = `${PROMO_CODE_PREFIX}AFFILIATE`;
272
390
 
273
391
  // src/utils/date.ts
274
392
  var dateFormat = "DD-MM-YYYY";
@@ -340,9 +458,9 @@ function sortDatesChronologically(dates) {
340
458
  });
341
459
  }
342
460
  var futureTimePeriods = mapArrayToOptions(
343
- Object.values(EventDateStatusEnumType)
461
+ Object.values(EnumEventDateStatus)
344
462
  ).filter(
345
- (period) => period.value !== "Starting_Soon" /* StartingSoon */ && period.value !== "Canceled" /* Canceled */ && period.value !== "Rescheduled" /* Rescheduled */ && period.value !== "Started" /* Started */ && period.value !== "Ended" /* Ended */ && period.value !== "Invalid" /* Invalid */
463
+ (period) => period.value !== "Starting_Soon" /* STARTING_SOON */ && period.value !== "Canceled" /* CANCELED */ && period.value !== "Rescheduled" /* RE_SCHEDULED */ && period.value !== "Started" /* STARTED */ && period.value !== "Ended" /* ENDED */ && period.value !== "Invalid" /* INVALID */
346
464
  ).map((period) => ({
347
465
  label: period.value.replaceAll("_", " "),
348
466
  value: period.value
@@ -421,361 +539,32 @@ function computeDailyClueState(dailyClue) {
421
539
  };
422
540
  }
423
541
 
424
- // src/sharing/relationShareTypes.ts
425
- var RELATION_SHARE_INVITATION = "invitation";
426
- var RELATION_SHARE_APPLICATION = "application";
427
-
428
- // src/sharing/constants.ts
429
- var SHARE_SITE_URL = "https://cluemart.co.nz";
430
- var SHARE_CALENDAR_ICON = "\u{1F4C5}";
431
- var SHARE_MARKET_DATES_SECTION_HEADING = `${SHARE_CALENDAR_ICON} Market dates:`;
432
- var SHARE_CHECKMARK_ICON = "\u2705";
433
- var SHARE_REQUIREMENTS_SECTION_HEADING = `${SHARE_CHECKMARK_ICON} Requirements:`;
434
- var SHARE_INFO_ICON = "\u2139\uFE0F";
435
- var SHARE_TAGS_SECTION_HEADING = `${SHARE_INFO_ICON} Tags:`;
436
- var SHARE_COMPLIANCE_PREFIX = `${SHARE_CHECKMARK_ICON} Compliance:`;
437
- var SHARE_CATEGORY_ICON = "\u{1F3F7}\uFE0F";
438
- var SHARE_CATEGORIES_SECTION_HEADING = `${SHARE_CATEGORY_ICON} Categories:`;
439
- var SHARE_RULER_ICON = "\u{1F4CF}";
440
- var SHARE_STALL_SIZE_PREFIX = `${SHARE_RULER_ICON} Stall size:`;
441
- var SHARE_DOLLAR_ICON = "$";
442
- var SHARE_PRICE_RANGE_PREFIX = `${SHARE_DOLLAR_ICON} Price range:`;
443
- var SHARE_CLOCK_ICON = "\u23F0";
444
- var SHARE_APPLICATION_DEADLINE_PREFIX = `${SHARE_CLOCK_ICON} Application deadline:`;
445
- var DEFAULT_SHARE_OG_IMAGE = `${SHARE_SITE_URL}/assets/logo.webp`;
446
- var SHARE_RESOURCE_LABEL = {
447
- [RELATION_SHARE_APPLICATION]: "Application",
448
- [RELATION_SHARE_INVITATION]: "Invitation",
449
- clue_bites: "Clue Bites",
450
- market_faces: "Market Faces",
451
- play_and_win: "Play & Win",
452
- market: "Market",
453
- partner: "Partner",
454
- stallholder: "Stallholder",
455
- affiliate: "Affiliate",
456
- school: "School"
457
- };
458
-
459
- // src/sharing/normalizeShareDescription.ts
460
- function stripOverlaySubtitleSpecialChars(text) {
461
- const regex = /[^\p{L}\p{M}\p{N}\s.,!?'"&\-():;/]/gu;
462
- const result = text.replace(/\p{Extended_Pictographic}/gu, "").replace(regex, "");
463
- return result.trim();
464
- }
465
-
466
- // src/types/global.ts
467
- var PROMO_CODE_PREFIX = "CM-";
468
-
469
- // src/auth/permissions/permissions.ts
470
- var PERMISSIONS = [
471
- "*",
472
- // Dashboards
473
- "dashboard.admin",
474
- "dashboard.affiliate",
475
- "dashboard.customer",
476
- "dashboard.event",
477
- "dashboard.partner",
478
- "dashboard.school",
479
- "dashboard.vendor",
480
- // Admin: users
481
- "users.delete",
482
- "users.read",
483
- "users.update",
484
- // Admin: events
485
- "events.create",
486
- "events.delete",
487
- "events.read",
488
- "events.update",
489
- // Admin: vendors
490
- "vendors.create",
491
- "vendors.delete",
492
- "vendors.read",
493
- "vendors.update",
494
- // Admin: partners
495
- "partners.create",
496
- "partners.delete",
497
- "partners.read",
498
- "partners.update",
499
- // Admin: schools
500
- "schools.create",
501
- "schools.delete",
502
- "schools.read",
503
- "schools.update",
504
- // Admin: affiliates
505
- "affiliates.create",
506
- "affiliates.delete",
507
- "affiliates.read",
508
- "affiliates.update",
509
- // Admin: ads / posts / settings
510
- "ads.create",
511
- "ads.delete",
512
- "ads.read",
513
- "ads.update",
514
- "posts.create",
515
- "posts.delete",
516
- "posts.read",
517
- "posts.update",
518
- "settings.read",
519
- "settings.update",
520
- // Product: own-resource management
521
- "affiliates.manage_own",
522
- "events.manage_own",
523
- "partners.manage_own",
524
- "schools.manage_own",
525
- "vendors.manage_own"
526
- ];
527
-
528
- // src/auth/permissions/rolePermissions.ts
529
- var ADMIN_PERMISSIONS = [
530
- "dashboard.admin",
531
- "events.read",
532
- "events.create",
533
- "events.update",
534
- "events.delete",
535
- "vendors.read",
536
- "vendors.create",
537
- "vendors.update",
538
- "vendors.delete",
539
- "partners.read",
540
- "partners.create",
541
- "partners.update",
542
- "partners.delete",
543
- "schools.read",
544
- "schools.create",
545
- "schools.update",
546
- "schools.delete",
547
- "affiliates.read",
548
- "affiliates.create",
549
- "affiliates.update",
550
- "affiliates.delete",
551
- "ads.read",
552
- "ads.create",
553
- "ads.update",
554
- "ads.delete",
555
- "posts.read",
556
- "posts.create",
557
- "posts.update",
558
- "posts.delete"
559
- ];
560
- var ROLE_PERMISSIONS = {
561
- ["super_admin" /* SuperAdmin */]: ["*"],
562
- ["admin" /* Admin */]: ADMIN_PERMISSIONS,
563
- ["customer" /* Customer */]: ["dashboard.customer"],
564
- ["event" /* Event */]: ["dashboard.event", "events.manage_own"],
565
- ["vendor" /* Vendor */]: ["dashboard.vendor", "vendors.manage_own"],
566
- ["partner" /* Partner */]: ["dashboard.partner", "partners.manage_own"],
567
- ["school" /* School */]: ["dashboard.school", "schools.manage_own"],
568
- ["affiliate" /* Affiliate */]: [
569
- "dashboard.affiliate",
570
- "affiliates.manage_own"
571
- ]
572
- };
573
-
574
- // src/auth/permissions/adminAppAccess.ts
575
- var ADMIN_APP_ROLES = [
576
- "super_admin" /* SuperAdmin */,
577
- "admin" /* Admin */,
578
- "event" /* Event */,
579
- "vendor" /* Vendor */,
580
- "partner" /* Partner */,
581
- "school" /* School */,
582
- "affiliate" /* Affiliate */
583
- ];
584
- var ADMIN_DASHBOARD_CONTEXTS = [
585
- {
586
- context: "staff",
587
- home: "/dashboard",
588
- label: "Staff",
589
- pathPrefixes: ["/dashboard"],
590
- roles: ["super_admin" /* SuperAdmin */, "admin" /* Admin */]
591
- },
592
- {
593
- context: "event",
594
- home: "/event/dashboard",
595
- label: "Events",
596
- pathPrefixes: ["/event"],
597
- roles: ["event" /* Event */]
598
- },
599
- {
600
- context: "vendor",
601
- home: "/vendor/dashboard",
602
- label: "Stallholders",
603
- pathPrefixes: ["/vendor"],
604
- roles: ["vendor" /* Vendor */]
605
- },
606
- {
607
- context: "partner",
608
- home: "/partner/dashboard",
609
- label: "Partners",
610
- pathPrefixes: ["/partner"],
611
- roles: ["partner" /* Partner */]
612
- },
613
- {
614
- context: "school",
615
- home: "/school/dashboard",
616
- label: "Schools",
617
- pathPrefixes: ["/school"],
618
- roles: ["school" /* School */]
619
- },
620
- {
621
- context: "affiliate",
622
- home: "/affiliate/dashboard",
623
- label: "Affiliate",
624
- pathPrefixes: ["/affiliate"],
625
- roles: ["affiliate" /* Affiliate */]
626
- }
627
- ];
628
-
629
- // src/types/userAdapters.ts
630
- var PERMISSION_SET = new Set(PERMISSIONS);
631
-
632
- // src/types/game/global.ts
633
- var gameTypeToDisplayName = {
634
- ["dailyClue" /* DailyClue */]: "Daily Clue",
635
- ["miniQuiz" /* MiniQuiz */]: "Mini Quiz",
636
- ["oddOneOut" /* OddOneOut */]: "Odd One Out"
637
- };
638
-
639
- // src/types/subscription.ts
640
- var TIER_FROM_LICENCE = {
641
- ["pro_event" /* ProEvent */]: "pro",
642
- ["pro_plus_event" /* ProPlusEvent */]: "pro_plus",
643
- ["pro_plus_vendor" /* ProPlusVendor */]: "pro_plus",
644
- ["pro_vendor" /* ProVendor */]: "pro",
645
- ["standard_event" /* StandardEvent */]: "standard",
646
- ["standard_partner" /* StandardPartner */]: "standard",
647
- ["standard_vendor" /* StandardVendor */]: "standard",
648
- ["standard_affiliate" /* StandardAffiliate */]: "standard",
649
- ["standard_school" /* StandardSchool */]: "standard"
650
- };
651
-
652
- // src/enums/clientEnums.ts
653
- var EnumRegions = /* @__PURE__ */ ((EnumRegions2) => {
654
- EnumRegions2["All"] = "All Regions";
655
- EnumRegions2["Auckland"] = "Auckland";
656
- EnumRegions2["BayOfPlentyGisborne"] = "Bay of Plenty & Gisborne";
657
- EnumRegions2["CanterburyWestCoast"] = "Canterbury & West Coast";
658
- EnumRegions2["HawkesBay"] = "Hawke's Bay";
659
- EnumRegions2["ManawatuWanganui"] = "Manawatu-Wanganui";
660
- EnumRegions2["MarlboroughNelsonTasman"] = "Marlborough & Nelson & Tasman";
661
- EnumRegions2["Northland"] = "Northland";
662
- EnumRegions2["Otago"] = "Otago";
663
- EnumRegions2["Southland"] = "Southland";
664
- EnumRegions2["Taranaki"] = "Taranaki";
665
- EnumRegions2["Waikato"] = "Waikato";
666
- EnumRegions2["Wellington"] = "Wellington";
667
- return EnumRegions2;
668
- })(EnumRegions || {});
669
-
670
- // src/utils/utils.ts
671
- var removeTypename = (obj) => {
672
- if (obj instanceof Date) {
673
- return obj;
674
- }
675
- if (obj instanceof File) {
676
- return obj;
677
- }
678
- if (isIsoDateString(obj)) {
679
- return obj;
680
- }
681
- if (Array.isArray(obj)) {
682
- return obj.map(removeTypename);
683
- }
684
- if (obj !== null && typeof obj === "object") {
685
- const { __typename, ...cleanedObj } = obj;
686
- return Object.keys(cleanedObj).reduce((acc, key) => {
687
- acc[key] = removeTypename(cleanedObj[key]);
688
- return acc;
689
- }, {});
690
- }
691
- return obj;
692
- };
693
- var truncateText = (text, maxLength = 30) => {
694
- const result = stripOverlaySubtitleSpecialChars(text);
695
- return result.length > maxLength ? result.substring(0, maxLength) + "..." : result;
696
- };
697
- var capitalizeFirstLetter = (str) => {
698
- return str.split(" ").map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()).join(" ");
699
- };
700
- var statusOptions = [
701
- ...Object.values(InviteEnumType).map((status) => ({
702
- label: status,
703
- value: status
704
- })).sort((a, b) => a.label.localeCompare(b.label))
705
- // Sort the options alphabetically
706
- ];
707
- var availableRegionTypes = Object.values(EnumRegions);
708
- var availableRegionOptions = mapArrayToOptions(availableRegionTypes);
709
- var paymentMethodOptions = mapArrayToOptions(
710
- Object.values(PaymentMethodEnumType)
711
- );
712
- function normalizeUrl(url) {
713
- const withProtocol = !url.startsWith("http://") && !url.startsWith("https://") ? `https://${url}` : url;
714
- return withProtocol.replace(/\/+$/, "");
715
- }
716
- var licenseNiceNames = {
717
- ["pro_event" /* ProEvent */]: "Pro Event",
718
- ["pro_vendor" /* ProVendor */]: "Pro Stallholder",
719
- ["standard_event" /* StandardEvent */]: "Standard Event",
720
- ["standard_vendor" /* StandardVendor */]: "Standard Stallholder",
721
- ["pro_plus_event" /* ProPlusEvent */]: "Pro+Ads Event",
722
- ["pro_plus_vendor" /* ProPlusVendor */]: "Pro+Ads Stallholder",
723
- ["standard_partner" /* StandardPartner */]: "Partner",
724
- ["standard_affiliate" /* StandardAffiliate */]: "Affiliate",
725
- ["standard_school" /* StandardSchool */]: "School"
726
- };
727
- var cluemartSocialMedia = [
728
- {
729
- link: "https://www.facebook.com/ClueMartApp",
730
- name: "facebook" /* Facebook */
731
- },
732
- {
733
- link: "https://www.instagram.com/cluemart_app",
734
- name: "instagram" /* Instagram */
735
- },
736
- {
737
- link: "https://www.tiktok.com/@cluemart",
738
- name: "tiktok" /* Tiktok */
739
- },
740
- {
741
- link: "https://www.youtube.com/@ClueMart-App-NZ",
742
- name: "youtube" /* Youtube */
743
- }
744
- ];
745
- var IOS_URL = "https://apps.apple.com/nz/app/cluemart/id6747251008";
746
- var ANDROID_URL = "https://play.google.com/store/apps/details?id=com.timardex.cluemart";
747
- var DEFAULT_RESOURCES_RETURN_LIMIT = 1e3;
748
- var DEFAULT_RESOURCES_RETURN_OFFSET = 0;
749
- var CLUEMART_MAIN_DOMAIN_URL = "https://cluemart.co.nz";
750
- var rewardNiceNames = {
751
- ["mystery_joy_box" /* MysteryJoyBox */]: {
752
- name: "Mystery Joy Box",
753
- points: 250
542
+ // src/utils/affiliate.ts
543
+ var AFFILIATE_REWARDS = {
544
+ ["NEW_EVENT_REGISTRATION" /* NEW_EVENT_REGISTRATION */]: {
545
+ description: "10 points for new event registration (one-time reward)",
546
+ value: 10
754
547
  },
755
- ["mystery_squeeze_box" /* MysterySqueezeBox */]: {
756
- name: "Mystery Squeeze Box",
757
- points: 350
548
+ ["NEW_VENDOR_REGISTRATION" /* NEW_VENDOR_REGISTRATION */]: {
549
+ description: "5 points for new vendor registration (one-time reward)",
550
+ value: 5
758
551
  },
759
- ["mystery_deluxe_box" /* MysteryDeluxeBox */]: {
760
- name: "Mystery Deluxe Box",
761
- points: 500
552
+ ["NEW_PARTNER_REGISTRATION" /* NEW_PARTNER_REGISTRATION */]: {
553
+ description: "",
554
+ value: 0
762
555
  }
763
556
  };
764
- var PostTypeLabels = {
765
- ["market_faces" /* MarketFaces */]: "Market Faces",
766
- ["clue_bites" /* ClueBites */]: "Clue Bites",
767
- ["play_and_win" /* PlayAndWin */]: "Play & Win"
768
- };
769
- var CM_SCHOOL_PROMO_CODE = `${PROMO_CODE_PREFIX}SCHOOL`;
770
- var CM_AFFILIATE_PROMO_CODE = `${PROMO_CODE_PREFIX}AFFILIATE`;
771
- function formatNZBankAccount(input) {
772
- const digitsOnly = input.replaceAll(/\D/g, "");
773
- const parts = [];
774
- if (digitsOnly.length > 0) parts.push(digitsOnly.slice(0, 2));
775
- if (digitsOnly.length > 2) parts.push(digitsOnly.slice(2, 6));
776
- if (digitsOnly.length > 6) parts.push(digitsOnly.slice(6, 13));
777
- if (digitsOnly.length > 13) parts.push(digitsOnly.slice(13, 15));
778
- return parts.join("-");
557
+ function createAffiliateReward(rewardType, createdAt) {
558
+ const reward = AFFILIATE_REWARDS[rewardType];
559
+ return {
560
+ createdAt,
561
+ deletedAt: null,
562
+ redeemedAt: null,
563
+ rewardDescription: reward.description,
564
+ rewardType,
565
+ rewardValue: reward.value,
566
+ updatedAt: null
567
+ };
779
568
  }
780
569
 
781
570
  // src/utils/resourceImage.ts
@@ -802,17 +591,17 @@ var SCHOOL_MAX_STUDENT_COUNT = 0;
802
591
 
803
592
  // src/utils/eventDateStatus.ts
804
593
  var EVENT_DATE_STATUS_PERIOD_MAP = {
805
- ["Today" /* Today */]: [
806
- "Started" /* Started */,
807
- "Starting_Soon" /* StartingSoon */,
808
- "Today" /* Today */
594
+ ["Today" /* TODAY */]: [
595
+ "Started" /* STARTED */,
596
+ "Starting_Soon" /* STARTING_SOON */,
597
+ "Today" /* TODAY */
809
598
  ],
810
- ["This_Week" /* ThisWeek */]: [
811
- "Started" /* Started */,
812
- "Starting_Soon" /* StartingSoon */,
813
- "This_Week" /* ThisWeek */,
814
- "Today" /* Today */,
815
- "Tomorrow" /* Tomorrow */
599
+ ["This_Week" /* THIS_WEEK */]: [
600
+ "Started" /* STARTED */,
601
+ "Starting_Soon" /* STARTING_SOON */,
602
+ "This_Week" /* THIS_WEEK */,
603
+ "Today" /* TODAY */,
604
+ "Tomorrow" /* TOMORROW */
816
605
  ]
817
606
  };
818
607
  function getAllowedEventDateStatuses(period) {
@@ -831,9 +620,9 @@ function filterEventsByDateStatusPeriod(events, period) {
831
620
  // src/calendar/eventCalendar.ts
832
621
  var import_dayjs2 = __toESM(require("dayjs"));
833
622
  var KNOWN_EVENT_SCHEDULE_STATUSES = /* @__PURE__ */ new Set([
834
- "Started" /* Started */,
835
- "Starting_Soon" /* StartingSoon */,
836
- "Ended" /* Ended */
623
+ "Started" /* STARTED */,
624
+ "Starting_Soon" /* STARTING_SOON */,
625
+ "Ended" /* ENDED */
837
626
  ]);
838
627
  function toCalendarIsoDate(startDate) {
839
628
  const formatted = (0, import_dayjs2.default)(startDate, dateFormat).format("YYYY-MM-DD");
@@ -863,11 +652,11 @@ function buildCalendarSheetContentData(dateTimes, isoDate, location, resourceId,
863
652
  }
864
653
  function getEventScheduleStatusTone(status) {
865
654
  switch (status) {
866
- case "Started" /* Started */:
655
+ case "Started" /* STARTED */:
867
656
  return "started";
868
- case "Starting_Soon" /* StartingSoon */:
657
+ case "Starting_Soon" /* STARTING_SOON */:
869
658
  return "startingSoon";
870
- case "Ended" /* Ended */:
659
+ case "Ended" /* ENDED */:
871
660
  return "ended";
872
661
  default:
873
662
  return "default";
@@ -891,10 +680,10 @@ function getEventScheduleStatusLabel(dateTime, onlyShowKnownStatuses) {
891
680
  return isKnownStatus ? status.replaceAll("_", " ").toLowerCase() : `Next event date: ${formatDate(dateTime.startDate, "date")}`;
892
681
  }
893
682
  function shouldShowEventActionsWithWeather(resourceType, dateTime, location) {
894
- return resourceType === "event" /* Event */ && Boolean(location) && Boolean(dateTime?.dateStatus) && ![
895
- "Ended" /* Ended */,
896
- "Canceled" /* Canceled */,
897
- "Started" /* Started */
683
+ return resourceType === "event" /* EVENT */ && Boolean(location) && Boolean(dateTime?.dateStatus) && ![
684
+ "Ended" /* ENDED */,
685
+ "Canceled" /* CANCELED */,
686
+ "Started" /* STARTED */
898
687
  ].includes(dateTime.dateStatus);
899
688
  }
900
689
 
@@ -2011,12 +1800,12 @@ function getEventStallholderEmptyMessage(hasAnyStallholdersForEvent, selectedDat
2011
1800
  // src/vendorEvents/vendorEventFilters.ts
2012
1801
  function relationHasSelectedDate(relation, selectedDate) {
2013
1802
  return relation.relationDates?.some(
2014
- (date) => date != null && date.dateTime.startDate === selectedDate
1803
+ (date) => date.dateTime.startDate === selectedDate
2015
1804
  ) ?? false;
2016
1805
  }
2017
1806
  function eventHasSelectedDate(event, selectedDate) {
2018
1807
  return event.relations?.some(
2019
- (relation) => relation != null && relationHasSelectedDate(relation, selectedDate)
1808
+ (relation) => relationHasSelectedDate(relation, selectedDate)
2020
1809
  ) ?? false;
2021
1810
  }
2022
1811
  function filterVendorEventsBySelectedDate(events, selectedDate) {
@@ -2033,14 +1822,11 @@ function collectVendorEventRelationDateTimes(events) {
2033
1822
  return [];
2034
1823
  }
2035
1824
  return events.flatMap(
2036
- (event) => (event.relations ?? []).flatMap((relation) => {
2037
- if (relation == null) {
2038
- return [];
2039
- }
2040
- return (relation.relationDates ?? []).flatMap(
2041
- (relationDate) => relationDate?.dateTime != null ? [relationDate.dateTime] : []
2042
- );
2043
- })
1825
+ (event) => (event.relations ?? []).flatMap(
1826
+ (relation) => (relation.relationDates ?? []).map(
1827
+ (relationDate) => relationDate.dateTime
1828
+ )
1829
+ )
2044
1830
  );
2045
1831
  }
2046
1832
  function getVendorEventRelationStartDates(events) {
@@ -2064,178 +1850,8 @@ function getVendorEventRelationDateOptions(events) {
2064
1850
  function getVendorEventsEmptyMessage() {
2065
1851
  return "No events found.";
2066
1852
  }
2067
-
2068
- // src/utils/affiliate.ts
2069
- var AFFILIATE_PARTICIPANT_TYPE_LABELS = {
2070
- ["INDIVIDUAL" /* Individual */]: "Individual",
2071
- ["SOLE_TRADER" /* SoleTrader */]: "Sole Trader",
2072
- ["COMPANY" /* Company */]: "Company"
2073
- };
2074
- var AFFILIATE_REWARDS = {
2075
- ["NEW_EVENT_REGISTRATION" /* NewEventRegistration */]: {
2076
- description: "10 points for new event registration (one-time reward)",
2077
- value: 10
2078
- },
2079
- ["NEW_VENDOR_REGISTRATION" /* NewVendorRegistration */]: {
2080
- description: "5 points for new vendor registration (one-time reward)",
2081
- value: 5
2082
- },
2083
- ["ACTIVE_VENDOR_PRO_SUBSCRIPTION" /* ActiveVendorProSubscription */]: {
2084
- description: "3 points for active vendor pro subscription (monthly reward)",
2085
- value: 3
2086
- },
2087
- ["ACTIVE_VENDOR_STANDARD_SUBSCRIPTION" /* ActiveVendorStandardSubscription */]: {
2088
- description: "1 point for active vendor standard subscription (monthly reward)",
2089
- value: 1
2090
- },
2091
- ["ACTIVE_VENDOR_BONUS_REWARD" /* ActiveVendorBonusReward */]: {
2092
- description: "5 bonus points for every 10th active vendor (one-time reward)",
2093
- value: 5
2094
- },
2095
- ["ACTIVE_EVENT_WITH_VENDOR_REGISTRATIONS" /* ActiveEventWithVendorRegistrations */]: {
2096
- description: "40 points for active event with vendor registrations (one-time reward)",
2097
- value: 40
2098
- }
2099
- };
2100
- function createAffiliateReward(rewardType, createdAt) {
2101
- const reward = AFFILIATE_REWARDS[rewardType];
2102
- return {
2103
- createdAt,
2104
- redeemedAt: null,
2105
- rewardDescription: reward.description,
2106
- rewardType,
2107
- rewardValue: reward.value
2108
- };
2109
- }
2110
-
2111
- // src/utils/irdNumber.ts
2112
- var PRIMARY_WEIGHTS = [3, 2, 7, 6, 5, 4, 3, 2];
2113
- var SECONDARY_WEIGHTS = [7, 4, 3, 2, 5, 2, 7, 6];
2114
- var IRD_MIN = 1e7;
2115
- var IRD_MAX = 2e8;
2116
- function calculateCheckDigit(baseDigits, weights) {
2117
- const sum = [...baseDigits].reduce(
2118
- (acc, digit, index) => acc + Number(digit) * weights[index],
2119
- 0
2120
- );
2121
- const remainder = sum % 11;
2122
- return remainder === 0 ? 0 : 11 - remainder;
2123
- }
2124
- function normalizeIrdNumber(value) {
2125
- return value.replace(/\D/g, "");
2126
- }
2127
- function formatIrdNumber(input) {
2128
- const digitsOnly = normalizeIrdNumber(input).slice(0, 9);
2129
- const parts = [];
2130
- if (digitsOnly.length > 0) parts.push(digitsOnly.slice(0, 3));
2131
- if (digitsOnly.length > 3) parts.push(digitsOnly.slice(3, 6));
2132
- if (digitsOnly.length > 6) parts.push(digitsOnly.slice(6, 9));
2133
- return parts.join("-");
2134
- }
2135
- function isValidIrdNumber(value) {
2136
- const digits = normalizeIrdNumber(value);
2137
- if (!/^\d{8,9}$/.test(digits)) {
2138
- return false;
2139
- }
2140
- const ird = Number(digits);
2141
- if (ird < IRD_MIN || ird > IRD_MAX) {
2142
- return false;
2143
- }
2144
- const padded = digits.padStart(9, "0");
2145
- const baseDigits = padded.slice(0, -1);
2146
- const checkDigit = Number(padded.slice(-1));
2147
- let calculated = calculateCheckDigit(baseDigits, PRIMARY_WEIGHTS);
2148
- if (calculated === 10) {
2149
- calculated = calculateCheckDigit(baseDigits, SECONDARY_WEIGHTS);
2150
- if (calculated === 10) {
2151
- return false;
2152
- }
2153
- }
2154
- return calculated === checkDigit;
2155
- }
2156
-
2157
- // src/utils/isTransientNetworkError.ts
2158
- var TRANSIENT_NETWORK_PATTERNS = [
2159
- /network connection was lost/i,
2160
- /network request failed/i,
2161
- /fetch failed/i,
2162
- /failed to fetch/i,
2163
- /internet connection appears to be offline/i,
2164
- // Transport-layer timeouts only — avoid generic "timeout" (backend/query timeouts).
2165
- /\b(request|connection|network)\s+timed\s+out\b/i,
2166
- /\b(connect|read|write|socket)\s+timeout\b/i,
2167
- /\bsocket\s+timed\s+out\b/i,
2168
- /\betimedout\b/i,
2169
- /\benotfound\b/i,
2170
- /\beconnreset\b/i,
2171
- /\beconnrefused\b/i
2172
- ];
2173
- function extractErrorMessage(err) {
2174
- if (err instanceof Error) return err.message;
2175
- if (typeof err === "string") return err;
2176
- if (err && typeof err === "object") {
2177
- const obj = err;
2178
- if (typeof obj.message === "string") return obj.message;
2179
- if (obj.networkError) return extractErrorMessage(obj.networkError);
2180
- try {
2181
- return JSON.stringify(err);
2182
- } catch {
2183
- return "[object]";
2184
- }
2185
- }
2186
- if (err == null) return "";
2187
- if (typeof err === "number" || typeof err === "boolean" || typeof err === "bigint") {
2188
- return String(err);
2189
- }
2190
- if (typeof err === "symbol") return err.toString();
2191
- return "";
2192
- }
2193
- function isTransientNetworkError(err) {
2194
- const message = extractErrorMessage(err);
2195
- return TRANSIENT_NETWORK_PATTERNS.some((pattern) => pattern.test(message));
2196
- }
2197
-
2198
- // src/utils/toUserFacingErrorMessage.ts
2199
- var DEFAULT_USER_FACING_ERROR = "Something went wrong. Please try again.";
2200
- var NETWORK_USER_FACING_ERROR = "Unable to connect. Please check your internet connection and try again.";
2201
- var INTERNAL_ERROR_PATTERNS = [
2202
- /connection\s*<monitor>/i,
2203
- /\bmongo/i,
2204
- /\b\d{1,3}(?:\.\d{1,3}){3}(?::\d+)?\b/,
2205
- /\beconn(?:refused|reset|aborted)\b/i,
2206
- /\betimedout\b/i,
2207
- /\benotfound\b/i,
2208
- /\bsocket hang up\b/i,
2209
- /\binternal server error\b/i,
2210
- /received status code 5\d\d/i,
2211
- /\bat\s+\S+\s+\([^)]+:\d+:\d+\)/
2212
- ];
2213
- function isInternalErrorMessage(message) {
2214
- return INTERNAL_ERROR_PATTERNS.some((pattern) => pattern.test(message));
2215
- }
2216
- function toUserFacingErrorMessage(error, fallback = DEFAULT_USER_FACING_ERROR) {
2217
- const message = (error ?? "").trim();
2218
- if (!message) return fallback;
2219
- if (isTransientNetworkError(message)) {
2220
- return NETWORK_USER_FACING_ERROR;
2221
- }
2222
- if (isInternalErrorMessage(message)) {
2223
- return fallback;
2224
- }
2225
- return message;
2226
- }
2227
- function getErrorMessage(error, fallback = DEFAULT_USER_FACING_ERROR) {
2228
- let raw;
2229
- if (error instanceof Error) {
2230
- raw = error.message;
2231
- } else if (typeof error === "string") {
2232
- raw = error;
2233
- }
2234
- return toUserFacingErrorMessage(raw, fallback);
2235
- }
2236
1853
  // Annotate the CommonJS export names for ESM import in node:
2237
1854
  0 && (module.exports = {
2238
- AFFILIATE_PARTICIPANT_TYPE_LABELS,
2239
1855
  AFFILIATE_REWARDS,
2240
1856
  ANDROID_URL,
2241
1857
  CLUEMART_MAIN_DOMAIN_URL,
@@ -2243,11 +1859,9 @@ function getErrorMessage(error, fallback = DEFAULT_USER_FACING_ERROR) {
2243
1859
  CM_SCHOOL_PROMO_CODE,
2244
1860
  DEFAULT_RESOURCES_RETURN_LIMIT,
2245
1861
  DEFAULT_RESOURCES_RETURN_OFFSET,
2246
- DEFAULT_USER_FACING_ERROR,
2247
1862
  EVENT_DATE_STATUS_PERIOD_MAP,
2248
1863
  IOS_URL,
2249
1864
  KNOWN_EVENT_SCHEDULE_STATUSES,
2250
- NETWORK_USER_FACING_ERROR,
2251
1865
  PostTypeLabels,
2252
1866
  SCHOOL_MAX_STUDENT_COUNT,
2253
1867
  SCHOOL_MIN_STUDENT_COUNT,
@@ -2272,14 +1886,11 @@ function getErrorMessage(error, fallback = DEFAULT_USER_FACING_ERROR) {
2272
1886
  filterVendorEventsBySelectedDate,
2273
1887
  findEventDateTimeByIsoDate,
2274
1888
  formatDate,
2275
- formatIrdNumber,
2276
- formatNZBankAccount,
2277
1889
  formatTimestamp,
2278
1890
  fromCalendarIsoDate,
2279
1891
  futureTimePeriods,
2280
1892
  getAllowedEventDateStatuses,
2281
1893
  getCurrentAndFutureDates,
2282
- getErrorMessage,
2283
1894
  getEventCalendarIsoDates,
2284
1895
  getEventDatesWithStallholders,
2285
1896
  getEventScheduleStatusLabel,
@@ -2297,16 +1908,12 @@ function getErrorMessage(error, fallback = DEFAULT_USER_FACING_ERROR) {
2297
1908
  getVendorEventsEmptyMessage,
2298
1909
  hasMatchingEventDate,
2299
1910
  isFutureDatesBeforeThreshold,
2300
- isInternalErrorMessage,
2301
1911
  isIsoDateString,
2302
1912
  isResourceImageActive,
2303
- isTransientNetworkError,
2304
- isValidIrdNumber,
2305
1913
  licenseNiceNames,
2306
1914
  mapArrayToOptions,
2307
1915
  matchesCategory,
2308
1916
  matchesSelectedDate,
2309
- normalizeIrdNumber,
2310
1917
  normalizeResourceImage,
2311
1918
  normalizeUrl,
2312
1919
  nzStartOfDay,
@@ -2322,7 +1929,6 @@ function getErrorMessage(error, fallback = DEFAULT_USER_FACING_ERROR) {
2322
1929
  timeFormat,
2323
1930
  toCalendarIsoDate,
2324
1931
  toNZTime,
2325
- toUserFacingErrorMessage,
2326
1932
  truncateText
2327
1933
  });
2328
1934
  //# sourceMappingURL=index.cjs.map