@timardex/cluemart-shared 2.2.30 → 2.2.41
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/{ad-C4L_-r-4.d.ts → ad-CdehhMyb.d.ts} +2 -2
- package/dist/{ad-XtBAH4rD.d.mts → ad-Drhn_Azy.d.mts} +2 -2
- package/dist/{affiliate-CxZHVZb2.d.ts → affiliate-Cd78p2Fz.d.mts} +3 -3
- package/dist/{affiliate-D-L_UtL8.d.mts → affiliate-CdIL0r2o.d.ts} +3 -3
- package/dist/auth/index.cjs +10 -1
- package/dist/auth/index.cjs.map +1 -1
- package/dist/auth/index.d.mts +3 -3
- package/dist/auth/index.d.ts +3 -3
- package/dist/auth/index.mjs +2 -2
- package/dist/{chunk-J5N3IEGR.mjs → chunk-2GUAD63W.mjs} +3 -3
- package/dist/{chunk-IKRXLKJ3.mjs → chunk-5AAYX364.mjs} +1 -1
- package/dist/{chunk-IKRXLKJ3.mjs.map → chunk-5AAYX364.mjs.map} +1 -1
- package/dist/{chunk-LLP7OWX5.mjs → chunk-MKHXXZWF.mjs} +2 -2
- package/dist/{chunk-YFFCHTJS.mjs → chunk-PJY7OAQ2.mjs} +18 -23
- package/dist/{chunk-YFFCHTJS.mjs.map → chunk-PJY7OAQ2.mjs.map} +1 -1
- package/dist/{chunk-MQHX5BD6.mjs → chunk-QIF4ZGMY.mjs} +2 -2
- package/dist/{chunk-BR4XNXE7.mjs → chunk-TKSBCN3N.mjs} +11 -2
- package/dist/chunk-TKSBCN3N.mjs.map +1 -0
- package/dist/{chunk-NRNLARYC.mjs → chunk-VHNCSCQU.mjs} +37 -35
- package/dist/chunk-VHNCSCQU.mjs.map +1 -0
- package/dist/{chunk-U3KUTQ43.mjs → chunk-XGGFB7HY.mjs} +11 -2
- package/dist/{chunk-U3KUTQ43.mjs.map → chunk-XGGFB7HY.mjs.map} +1 -1
- package/dist/{contactUs-CwHKoGEt.d.mts → contactUs-BJPQ5nKc.d.mts} +1 -1
- package/dist/{contactUs-CR-nghbk.d.ts → contactUs-ITiB1XV4.d.ts} +1 -1
- package/dist/enums/index.cjs +10 -0
- package/dist/enums/index.cjs.map +1 -1
- package/dist/enums/index.d.mts +8 -1
- package/dist/enums/index.d.ts +8 -1
- package/dist/enums/index.mjs +3 -1
- package/dist/formFields/index.cjs +4 -4
- package/dist/formFields/index.cjs.map +1 -1
- package/dist/formFields/index.d.mts +1 -1
- package/dist/formFields/index.d.ts +1 -1
- package/dist/formFields/index.mjs +5 -5
- package/dist/{global-B4mmQo6R.d.ts → global-DlC7W4p7.d.ts} +9 -0
- package/dist/{global-D1r5ZuQO.d.mts → global-XUBcgjNc.d.mts} +9 -0
- package/dist/graphql/index.cjs +10 -1
- package/dist/graphql/index.cjs.map +1 -1
- package/dist/graphql/index.d.mts +5 -5
- package/dist/graphql/index.d.ts +5 -5
- package/dist/graphql/index.mjs +3 -3
- package/dist/hooks/index.cjs +14 -5
- package/dist/hooks/index.cjs.map +1 -1
- package/dist/hooks/index.d.mts +5 -5
- package/dist/hooks/index.d.ts +5 -5
- package/dist/hooks/index.mjs +8 -8
- package/dist/index.cjs +73 -58
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +65 -25
- package/dist/index.d.ts +65 -25
- package/dist/index.mjs +68 -53
- package/dist/index.mjs.map +1 -1
- package/dist/map/index.d.mts +1 -1
- package/dist/map/index.d.ts +1 -1
- package/dist/region/index.cjs.map +1 -1
- package/dist/region/index.d.mts +1 -1
- package/dist/region/index.d.ts +1 -1
- package/dist/region/index.mjs +1 -1
- package/dist/{resourceActivities-Uz9uavhK.d.ts → resourceActivities-C8eIfpKl.d.ts} +1 -1
- package/dist/{resourceActivities-DUReu_jD.d.mts → resourceActivities-Ci12UkJU.d.mts} +1 -1
- package/dist/sharing/index.cjs +4 -25
- package/dist/sharing/index.cjs.map +1 -1
- package/dist/sharing/index.d.mts +3 -22
- package/dist/sharing/index.d.ts +3 -22
- package/dist/sharing/index.mjs +3 -9
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.d.mts +7 -7
- package/dist/types/index.d.ts +7 -7
- package/dist/types/index.mjs +2 -2
- package/dist/{user-BpR-FTW2.d.mts → user-BSFExFvl.d.ts} +18 -4
- package/dist/{user-IR0bHKFb.d.ts → user-D31zAVuz.d.mts} +18 -4
- package/dist/utils/index.cjs +53 -36
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.d.mts +36 -7
- package/dist/utils/index.d.ts +36 -7
- package/dist/utils/index.mjs +12 -8
- package/package.json +1 -1
- package/dist/chunk-BR4XNXE7.mjs.map +0 -1
- package/dist/chunk-NRNLARYC.mjs.map +0 -1
- /package/dist/{chunk-J5N3IEGR.mjs.map → chunk-2GUAD63W.mjs.map} +0 -0
- /package/dist/{chunk-LLP7OWX5.mjs.map → chunk-MKHXXZWF.mjs.map} +0 -0
- /package/dist/{chunk-MQHX5BD6.mjs.map → chunk-QIF4ZGMY.mjs.map} +0 -0
|
@@ -2,15 +2,15 @@ import {
|
|
|
2
2
|
EVENT_DATE_STATUS_LABELS,
|
|
3
3
|
dateFormat,
|
|
4
4
|
formatDate,
|
|
5
|
+
getUniqueStartDates,
|
|
5
6
|
isIsoDateString,
|
|
6
7
|
nzStartOfDay,
|
|
7
|
-
sortDatesChronologically,
|
|
8
8
|
stripOverlaySubtitleSpecialChars
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-PJY7OAQ2.mjs";
|
|
10
10
|
import {
|
|
11
11
|
PROMO_CODE_PREFIX,
|
|
12
12
|
gameScreenIdentifierList
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-5AAYX364.mjs";
|
|
14
14
|
import {
|
|
15
15
|
isTransientNetworkError
|
|
16
16
|
} from "./chunk-RAYUJODN.mjs";
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
EnumInviteStatus,
|
|
19
19
|
EnumPaymentMethod,
|
|
20
20
|
EnumRegions
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-XGGFB7HY.mjs";
|
|
22
22
|
|
|
23
23
|
// src/utils/dailyClueGame.ts
|
|
24
24
|
function createSeededRng(seed) {
|
|
@@ -265,6 +265,14 @@ function isResourceImageActive(image) {
|
|
|
265
265
|
var SCHOOL_MIN_STUDENT_COUNT = 300;
|
|
266
266
|
var SCHOOL_MAX_STUDENT_COUNT = 0;
|
|
267
267
|
|
|
268
|
+
// src/utils/userPoints.ts
|
|
269
|
+
function sumUserOverallPoints(points) {
|
|
270
|
+
return (points ?? []).reduce(
|
|
271
|
+
(total, entry) => total + (entry?.points ?? 0),
|
|
272
|
+
0
|
|
273
|
+
);
|
|
274
|
+
}
|
|
275
|
+
|
|
268
276
|
// src/calendar/eventCalendar.ts
|
|
269
277
|
import dayjs from "dayjs";
|
|
270
278
|
function toCalendarIsoDate(startDate) {
|
|
@@ -1444,21 +1452,23 @@ function filterUnregisteredVendorsByEventDatesOnly(vendors, eventStartDates) {
|
|
|
1444
1452
|
)
|
|
1445
1453
|
);
|
|
1446
1454
|
}
|
|
1447
|
-
function
|
|
1455
|
+
function collectStallholderDateTimes(registeredVendors, unregisteredVendors = []) {
|
|
1448
1456
|
return [
|
|
1449
|
-
...registeredVendors.flatMap(
|
|
1450
|
-
|
|
1457
|
+
...registeredVendors.flatMap(
|
|
1458
|
+
(vendor) => (vendor.relations ?? []).flatMap(
|
|
1459
|
+
(relation) => (relation.relationDates ?? []).map(
|
|
1460
|
+
(relationDate) => relationDate.dateTime
|
|
1461
|
+
)
|
|
1462
|
+
)
|
|
1463
|
+
),
|
|
1464
|
+
...unregisteredVendors.flatMap(
|
|
1465
|
+
(vendor) => (vendor.invitations ?? []).flatMap((invitation) => invitation.dateTime)
|
|
1466
|
+
)
|
|
1451
1467
|
];
|
|
1452
1468
|
}
|
|
1453
|
-
function
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
}
|
|
1457
|
-
const startDates = new Set(stallholderStartDates);
|
|
1458
|
-
return sortDatesChronologically(
|
|
1459
|
-
eventDateTime.filter(
|
|
1460
|
-
(date) => Boolean(date.startDate) && startDates.has(date.startDate)
|
|
1461
|
-
)
|
|
1469
|
+
function getUniqueStallholderStartDates(registeredVendors, unregisteredVendors = []) {
|
|
1470
|
+
return getUniqueStartDates(
|
|
1471
|
+
collectStallholderDateTimes(registeredVendors, unregisteredVendors)
|
|
1462
1472
|
);
|
|
1463
1473
|
}
|
|
1464
1474
|
function getStallholderCategoryNames(registeredVendors, unregisteredVendors = []) {
|
|
@@ -1514,16 +1524,7 @@ function collectVendorEventRelationDateTimes(events) {
|
|
|
1514
1524
|
);
|
|
1515
1525
|
}
|
|
1516
1526
|
function getVendorEventRelationStartDates(events) {
|
|
1517
|
-
|
|
1518
|
-
collectVendorEventRelationDateTimes(events)
|
|
1519
|
-
);
|
|
1520
|
-
const uniqueStartDates = [];
|
|
1521
|
-
for (const dateTime of sortedDates) {
|
|
1522
|
-
if (dateTime.startDate && !uniqueStartDates.includes(dateTime.startDate)) {
|
|
1523
|
-
uniqueStartDates.push(dateTime.startDate);
|
|
1524
|
-
}
|
|
1525
|
-
}
|
|
1526
|
-
return uniqueStartDates;
|
|
1527
|
+
return getUniqueStartDates(collectVendorEventRelationDateTimes(events));
|
|
1527
1528
|
}
|
|
1528
1529
|
function getVendorEventRelationDateOptions(events) {
|
|
1529
1530
|
return getVendorEventRelationStartDates(events).map((startDate) => ({
|
|
@@ -1747,12 +1748,12 @@ function getEventStallholdersData({
|
|
|
1747
1748
|
registeredForSelectedDate,
|
|
1748
1749
|
unregisteredForSelectedDate
|
|
1749
1750
|
);
|
|
1750
|
-
const futureEventStartDates =
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
).map((
|
|
1754
|
-
label: formatDate(
|
|
1755
|
-
value:
|
|
1751
|
+
const futureEventStartDates = getUniqueStallholderStartDates(
|
|
1752
|
+
registeredForEvent,
|
|
1753
|
+
unregisteredForEvent
|
|
1754
|
+
).map((startDate) => ({
|
|
1755
|
+
label: formatDate(startDate, "date"),
|
|
1756
|
+
value: startDate
|
|
1756
1757
|
}));
|
|
1757
1758
|
const hasDatePills = futureEventStartDates.length > 0;
|
|
1758
1759
|
const hasStallholders = vendorList.length > 0 || unregisteredVendorList.length > 0;
|
|
@@ -1869,6 +1870,7 @@ export {
|
|
|
1869
1870
|
isResourceImageActive,
|
|
1870
1871
|
SCHOOL_MIN_STUDENT_COUNT,
|
|
1871
1872
|
SCHOOL_MAX_STUDENT_COUNT,
|
|
1873
|
+
sumUserOverallPoints,
|
|
1872
1874
|
toCalendarIsoDate,
|
|
1873
1875
|
fromCalendarIsoDate,
|
|
1874
1876
|
getEventCalendarIsoDates,
|
|
@@ -1892,8 +1894,8 @@ export {
|
|
|
1892
1894
|
filterUnregisteredVendorsForEvent,
|
|
1893
1895
|
filterRegisteredVendorsByEventDatesOnly,
|
|
1894
1896
|
filterUnregisteredVendorsByEventDatesOnly,
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
+
collectStallholderDateTimes,
|
|
1898
|
+
getUniqueStallholderStartDates,
|
|
1897
1899
|
getStallholderCategoryNames,
|
|
1898
1900
|
getStallholderCategoryOptions,
|
|
1899
1901
|
getEventStallholderEmptyMessage,
|
|
@@ -1925,4 +1927,4 @@ export {
|
|
|
1925
1927
|
toUserFacingErrorMessage,
|
|
1926
1928
|
getErrorMessage
|
|
1927
1929
|
};
|
|
1928
|
-
//# sourceMappingURL=chunk-
|
|
1930
|
+
//# sourceMappingURL=chunk-VHNCSCQU.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/dailyClueGame.ts","../src/utils/mapArrayToOptions.ts","../src/utils/utils.ts","../src/utils/resourceImage.ts","../src/utils/school.ts","../src/utils/userPoints.ts","../src/calendar/eventCalendar.ts","../src/formFields/categories/clothingAndFashion.ts","../src/formFields/categories/electronicsAndTechnology.ts","../src/formFields/categories/foodAndBeverages.ts","../src/formFields/categories/handmadeAndLocalProducts.ts","../src/formFields/categories/healthAndWellness.ts","../src/formFields/categories/homeGardenHousehold.ts","../src/formFields/categories/petProductsAndAnimalGoods.ts","../src/formFields/categories/serviceAndExperience.ts","../src/formFields/categories/toysChildren.ts","../src/formFields/categories/vintageAndAntique.ts","../src/formFields/categories/index.ts","../src/eventStallholders/eventStallholderFilters.ts","../src/vendorEvents/vendorEventFilters.ts","../src/utils/affiliate.ts","../src/utils/irdNumber.ts","../src/utils/billingCatalog/index.ts","../src/utils/relations/eventStallholders.ts","../src/utils/relations/vendorEvents.ts","../src/utils/relations/preservedRelationDateStatuses.ts","../src/utils/toUserFacingErrorMessage.ts"],"sourcesContent":["import type { Dayjs } from \"dayjs\";\n\nimport {\n DailyClueGameData,\n GamePlacement,\n GamePlacementClue,\n gameScreenIdentifierList,\n} from \"../types/game/dailyClue\";\n\nimport { nzStartOfDay } from \"./date\";\n\nfunction createSeededRng(seed: number) {\n let t = seed >>> 0;\n\n return function random() {\n t += 0x6d2b79f5;\n let x = t;\n\n x = Math.imul(x ^ (x >>> 15), x | 1);\n x ^= x + Math.imul(x ^ (x >>> 7), x | 61);\n\n return ((x ^ (x >>> 14)) >>> 0) / 4294967296;\n };\n}\n\nfunction hashStringToNumber(seed: string): number {\n let hash = 2166136261;\n\n for (let i = 0; i < seed.length; i++) {\n hash ^= seed.codePointAt(i) ?? 0;\n hash = Math.imul(hash, 16777619);\n }\n\n return hash >>> 0;\n}\n\n/** Seeded shuffle so all players see the same letter order / placements for a game. */\nexport function seededShuffle<T>(array: readonly T[], seed: string): T[] {\n const rng = createSeededRng(hashStringToNumber(seed));\n const result = [...array];\n\n for (let i = result.length - 1; i > 0; i--) {\n const j = Math.floor(rng() * (i + 1));\n [result[i], result[j]] = [result[j], result[i]];\n }\n\n return result;\n}\n\nfunction getDayIndex(start: Dayjs, today: Dayjs): number {\n return today.diff(start, \"day\");\n}\n\n/**\n * Number of whole days since `dailyClue`'s start date (NZ time), i.e. today's\n * slot index into the game's day-based arrays.\n *\n * Returns `0` on the start date and a positive value on later days up to and\n * including the end date. Returns `null` outside the game window (before the\n * start date or after the end date), so callers must handle `null` instead of\n * blindly indexing arrays — an out-of-window index would silently produce\n * `undefined` or, in the occurrence helpers, wrongly report a letter as\n * already collected.\n *\n * Extracted from `computeDailyClueState` so callers (e.g. the update mutation)\n * can resolve the same index without re-implementing the day-math.\n */\nexport function getDailyClueDayIndex(\n dailyClue: DailyClueGameData,\n): number | null {\n const today = nzStartOfDay();\n const start = nzStartOfDay(dailyClue.gameFields.gameDate.startDate);\n const end = nzStartOfDay(dailyClue.gameFields.gameDate.endDate);\n\n if (today.isBefore(start) || today.isAfter(end)) {\n return null;\n }\n\n return getDayIndex(start, today);\n}\n\n/**\n * Number of times `letter` appears in `letters`.\n *\n * `collected` is a multiset (duplicate letters are stored once per found\n * occurrence), so membership checks such as `includes` are not enough — callers\n * must count how many occurrences have actually been collected.\n */\nexport function countLetterOccurrences(\n letters: readonly string[],\n letter: string,\n): number {\n return letters.reduce(\n (count, candidate) => (candidate === letter ? count + 1 : count),\n 0,\n );\n}\n\n/**\n * Number of times `letter` appears at or before `index` in `letters`.\n *\n * This is the \"required\" count for today's slot: a duplicate letter must not be\n * considered already collected until every earlier occurrence of it in\n * `solutionShuffled` has also been found.\n */\nexport function countLetterOccurrencesUpTo(\n letters: readonly string[],\n letter: string,\n index: number,\n): number {\n let count = 0;\n const end = Math.min(index, letters.length - 1);\n\n for (let i = 0; i <= end; i++) {\n if (letters[i] === letter) {\n count++;\n }\n }\n\n return count;\n}\n\nexport function computeDailyClueState(dailyClue: DailyClueGameData): {\n todaysClue: GamePlacementClue | null;\n todaysLetter: string | null;\n todaysPlacement: GamePlacement | null;\n} | null {\n const { startDate, endDate } = dailyClue.gameFields.gameDate;\n const { solutionShuffled, collected } = dailyClue.letterInfo;\n\n const today = nzStartOfDay();\n const start = nzStartOfDay(startDate);\n const end = nzStartOfDay(endDate);\n\n // Before game starts\n if (today.isBefore(start)) {\n return null;\n }\n\n const shuffledPlacements = seededShuffle(\n gameScreenIdentifierList,\n start.toISOString(),\n );\n\n const index = getDayIndex(start, today);\n\n // After game ends\n if (today.isAfter(end)) {\n return {\n todaysClue: null,\n todaysLetter: null,\n todaysPlacement: null,\n };\n }\n\n // Safety: index must exist in BOTH arrays\n if (\n index < 0 ||\n index >= solutionShuffled.length ||\n index >= shuffledPlacements.length\n ) {\n return null;\n }\n\n const letterToday = solutionShuffled[index];\n const placement = shuffledPlacements[index];\n\n if (!letterToday || !placement) return null;\n\n const collectedLetters = collected ?? [];\n\n // Compare collected occurrences against how many of today's letter have\n // appeared at or before this day's slot. This fixes solutions with duplicate\n // letters (e.g. \"EXPLORE\" has two \"E\"s): one collected \"E\" must not hide the\n // second \"E\" day. Membership checks (`includes`) can't express that.\n const alreadyCollectedToday =\n countLetterOccurrences(collectedLetters, letterToday) >=\n countLetterOccurrencesUpTo(solutionShuffled, letterToday, index);\n\n // Already completed today\n if (alreadyCollectedToday) {\n return {\n todaysClue: null,\n todaysLetter: null,\n todaysPlacement: null,\n };\n }\n\n // Active state\n return {\n todaysClue: placement.clue,\n todaysLetter: letterToday,\n todaysPlacement: placement.id,\n };\n}\n","import { OptionItem } from \"src/types\";\n\n/**\n * Convert an array of strings to an array of objects with label and value properties.\n */\nexport const mapArrayToOptions = (items: string[]): OptionItem[] =>\n items.map((item) => ({\n label: item,\n value: item,\n }));\n","import {\n EnumInviteStatus,\n EnumPaymentMethod,\n EnumRegions,\n EnumReward,\n EnumSocialMedia,\n EnumUserLicence,\n} from \"src/enums\";\nimport { stripOverlaySubtitleSpecialChars } from \"src/sharing/normalizeShareDescription\";\nimport {\n EnumPostType,\n OptionItem,\n PROMO_CODE_PREFIX,\n SocialMediaType,\n} from \"src/types\";\n\nimport { isIsoDateString } from \"./date\";\nimport { mapArrayToOptions } from \"./mapArrayToOptions\";\n\nexport const removeTypename = (obj: any): any => {\n // Preserve Date objects\n if (obj instanceof Date) {\n return obj;\n }\n\n // Preserve File objects (for apollo-upload-client)\n if (obj instanceof File) {\n return obj;\n }\n\n // Preserve ISO date strings\n if (isIsoDateString(obj)) {\n return obj;\n }\n\n // Handle arrays\n if (Array.isArray(obj)) {\n return obj.map(removeTypename);\n }\n\n // Handle plain objects only\n if (obj !== null && typeof obj === \"object\") {\n const { __typename, ...cleanedObj } = obj;\n\n return Object.keys(cleanedObj).reduce((acc: any, key) => {\n acc[key] = removeTypename(cleanedObj[key]);\n return acc;\n }, {});\n }\n\n // Primitives\n return obj;\n};\n\n/**\n * Truncate text to a specified length and append ellipsis if necessary.\n * @param text\n * @param maxLength\n * @returns\n */\nexport const truncateText = (text: string, maxLength: number = 30): string => {\n const result = stripOverlaySubtitleSpecialChars(text);\n return result.length > maxLength\n ? result.substring(0, maxLength) + \"...\"\n : result;\n};\n\nexport const capitalizeFirstLetter = (str: string): string => {\n return str\n .split(\" \")\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(\" \");\n};\n\nexport const statusOptions = [\n ...Object.values(EnumInviteStatus)\n .map((status) => ({\n label: status,\n value: status,\n }))\n .sort((a, b) => a.label.localeCompare(b.label)), // Sort the options alphabetically\n];\n\nexport const availableRegionTypes = Object.values(EnumRegions);\nexport const availableRegionOptions: OptionItem[] =\n mapArrayToOptions(availableRegionTypes);\n\nexport const paymentMethodOptions: OptionItem[] = mapArrayToOptions(\n Object.values(EnumPaymentMethod),\n);\n\nexport function normalizeUrl(url: string): string {\n const withProtocol =\n !url.startsWith(\"http://\") && !url.startsWith(\"https://\")\n ? `https://${url}`\n : url;\n return withProtocol.replace(/\\/+$/, \"\");\n}\n\nexport const licenseNiceNames: Record<EnumUserLicence, string> = {\n [EnumUserLicence.PRO_EVENT]: \"Pro Event\",\n [EnumUserLicence.PRO_VENDOR]: \"Pro Stallholder\",\n [EnumUserLicence.STANDARD_EVENT]: \"Standard Event\",\n [EnumUserLicence.STANDARD_VENDOR]: \"Standard Stallholder\",\n [EnumUserLicence.PRO_PLUS_EVENT]: \"Pro+Ads Event\",\n [EnumUserLicence.PRO_PLUS_VENDOR]: \"Pro+Ads Stallholder\",\n [EnumUserLicence.STANDARD_PARTNER]: \"Partner\",\n [EnumUserLicence.STANDARD_AFFILIATE]: \"Affiliate\",\n [EnumUserLicence.STANDARD_SCHOOL]: \"School\",\n};\n\nexport const vendorLicences: EnumUserLicence[] = [\n EnumUserLicence.STANDARD_VENDOR,\n EnumUserLicence.PRO_VENDOR,\n EnumUserLicence.PRO_PLUS_VENDOR,\n];\n\nexport const cluemartSocialMedia: SocialMediaType[] = [\n {\n link: \"https://www.facebook.com/ClueMartApp\",\n name: EnumSocialMedia.FACEBOOK,\n },\n {\n link: \"https://www.instagram.com/cluemart_app\",\n name: EnumSocialMedia.INSTAGRAM,\n },\n {\n link: \"https://www.tiktok.com/@cluemart\",\n name: EnumSocialMedia.TIKTOK,\n },\n {\n link: \"https://www.youtube.com/@ClueMart-App-NZ\",\n name: EnumSocialMedia.YOUTUBE,\n },\n];\n\nexport const IOS_URL = \"https://apps.apple.com/nz/app/cluemart/id6747251008\";\nexport const ANDROID_URL =\n \"https://play.google.com/store/apps/details?id=com.timardex.cluemart\";\n\nexport const DEFAULT_RESOURCES_RETURN_LIMIT = 1000;\nexport const DEFAULT_RESOURCES_RETURN_OFFSET = 0;\nexport const CLUEMART_MAIN_DOMAIN_URL = \"https://cluemart.co.nz\";\n\nexport const rewardNiceNames: Record<\n EnumReward,\n { name: string; points: number }\n> = {\n [EnumReward.MYSTERY_JOY_BOX]: {\n name: \"Mystery Joy Box\",\n points: 250,\n },\n [EnumReward.MYSTERY_SQUEEZE_BOX]: {\n name: \"Mystery Squeeze Box\",\n points: 350,\n },\n [EnumReward.MYSTERY_DELUXE_BOX]: {\n name: \"Mystery Deluxe Box\",\n points: 500,\n },\n};\n\nexport const PostTypeLabels: Record<EnumPostType, string> = {\n [EnumPostType.MARKET_FACES]: \"Market Faces\",\n [EnumPostType.CLUE_BITES]: \"Clue Bites\",\n [EnumPostType.PLAY_AND_WIN]: \"Play & Win\",\n //[EnumPostType.CLUE_GUIDES_FOR_ORGANISERS]: \"Clue Guides for Organisers\",\n //[EnumPostType.CLUE_GUIDES_FOR_VENDORS]: \"Clue Guides for Stallholders\",\n};\n\n/** Hardcoded registration gateway code; only valid at sign-up (not a generated school referral code). */\nexport const CM_SCHOOL_PROMO_CODE = `${PROMO_CODE_PREFIX}SCHOOL`;\n\n/** Hardcoded registration gateway code; only valid at sign-up (not a generated affiliate referral code). */\nexport const CM_AFFILIATE_PROMO_CODE = `${PROMO_CODE_PREFIX}AFFILIATE`;\n\nexport function formatNZBankAccount(input: string): string {\n // Remove all non-digit characters\n const digitsOnly = input.replaceAll(/\\D/g, \"\");\n\n // Build the formatted string step-by-step\n const parts = [];\n if (digitsOnly.length > 0) parts.push(digitsOnly.slice(0, 2)); // bank\n if (digitsOnly.length > 2) parts.push(digitsOnly.slice(2, 6)); // branch\n if (digitsOnly.length > 6) parts.push(digitsOnly.slice(6, 13)); // account\n if (digitsOnly.length > 13) parts.push(digitsOnly.slice(13, 15)); // suffix\n\n return parts.join(\"-\");\n}\n","import { ResourceImageType } from \"../types/global\";\n\n/**\n * Loose input shape for normalization helpers. Callers often pass partial or legacy\n * data (e.g. Mongo docs without `active`, GraphQL input, empty placeholders) before\n * it becomes a strict `ResourceImageType`.\n */\ntype ResourceImageLike = {\n active?: boolean | null;\n source?: string | null;\n title?: string | null;\n};\n\n/**\n * Resolves whether a resource image is active.\n * Only an explicit `active: true` shows the image; missing `active` defaults to false\n * so licence downgrades (e.g. standard vendor gallery limit) are not overridden.\n */\nexport function resolveResourceImageActive(\n image: ResourceImageLike | null | undefined,\n): boolean {\n if (image?.active != null) {\n return image.active;\n }\n\n return false;\n}\n\nexport function normalizeResourceImage(\n image: ResourceImageLike | null | undefined,\n): ResourceImageType {\n return {\n active: resolveResourceImageActive(image),\n source: image?.source ?? \"\",\n title: image?.title ?? \"\",\n };\n}\n\nexport function isResourceImageActive(\n image: ResourceImageLike | null | undefined,\n): boolean {\n return resolveResourceImageActive(image);\n}\n","export const SCHOOL_MIN_STUDENT_COUNT = 300;\nexport const SCHOOL_MAX_STUDENT_COUNT = 0;\n","import type { UserOverallPointsEntry } from \"../types/user\";\n\n/**\n * Spendable points for a user.\n *\n * `overallPoints` is an append-only ledger (one entry per award), so the total\n * is always the sum of every entry rather than a single stored number.\n *\n * Nullish ledgers and nullish entries are skipped, so a partially written\n * document cannot throw while the total is computed.\n */\nexport function sumUserOverallPoints(\n points: (UserOverallPointsEntry | null | undefined)[] | null | undefined,\n): number {\n return (points ?? []).reduce(\n (total, entry) => total + (entry?.points ?? 0),\n 0,\n );\n}\n","import dayjs from \"dayjs\";\n\nimport { EnumEventDateStatus, EnumResourceType } from \"../enums\";\nimport type { DateTimeType, LocationType } from \"../types/global\";\nimport { dateFormat } from \"../utils/date\";\nimport { EVENT_DATE_STATUS_LABELS } from \"../utils/eventDateStatus\";\n\nexport type CalendarSheetContentData = {\n dateTime: DateTimeType;\n location: LocationType;\n resourceId: string;\n resourceType: EnumResourceType;\n};\n\nexport type EventScheduleStatusTone =\n | \"started\"\n | \"startingSoon\"\n | \"upcoming\"\n | \"ended\"\n | \"canceled\"\n | \"rescheduled\"\n | \"invalid\"\n | \"default\";\n\nexport type EventScheduleStatusPresentation = {\n status: EnumEventDateStatus;\n statusLabel: string;\n tone: EventScheduleStatusTone;\n};\n\nexport function toCalendarIsoDate(startDate: string): string | null {\n const formatted = dayjs(startDate, dateFormat).format(\"YYYY-MM-DD\");\n\n return dayjs(formatted, \"YYYY-MM-DD\", true).isValid() ? formatted : null;\n}\n\nexport function fromCalendarIsoDate(isoDate: string): string {\n return dayjs(isoDate, \"YYYY-MM-DD\").format(dateFormat);\n}\n\nexport function getEventCalendarIsoDates(\n dateTimes: Array<{ startDate?: string | null }> | null | undefined,\n): string[] {\n return (\n dateTimes\n ?.map((dateTime) =>\n dateTime.startDate ? toCalendarIsoDate(dateTime.startDate) : null,\n )\n .filter((date): date is string => Boolean(date)) ?? []\n );\n}\n\nexport function findEventDateTimeByIsoDate(\n dateTimes: DateTimeType[] | null | undefined,\n isoDate: string,\n): DateTimeType | null {\n const selected = fromCalendarIsoDate(isoDate);\n\n return dateTimes?.find((dateTime) => dateTime.startDate === selected) ?? null;\n}\n\nexport function buildCalendarSheetContentData(\n dateTimes: DateTimeType[],\n isoDate: string,\n location: LocationType,\n resourceId: string,\n resourceType: EnumResourceType,\n): CalendarSheetContentData | null {\n const dateTime = findEventDateTimeByIsoDate(dateTimes, isoDate);\n\n if (!dateTime) {\n return null;\n }\n\n return {\n dateTime,\n location,\n resourceId,\n resourceType,\n };\n}\n\nexport function getEventScheduleStatusTone(\n status: EnumEventDateStatus,\n): EventScheduleStatusTone {\n switch (status) {\n case EnumEventDateStatus.STARTED:\n return \"started\";\n case EnumEventDateStatus.STARTING_SOON:\n return \"startingSoon\";\n case EnumEventDateStatus.TODAY:\n case EnumEventDateStatus.TOMORROW:\n case EnumEventDateStatus.THIS_WEEK:\n case EnumEventDateStatus.NEXT_WEEK:\n case EnumEventDateStatus.UPCOMING:\n return \"upcoming\";\n case EnumEventDateStatus.ENDED:\n return \"ended\";\n case EnumEventDateStatus.CANCELED:\n return \"canceled\";\n case EnumEventDateStatus.RE_SCHEDULED:\n return \"rescheduled\";\n case EnumEventDateStatus.INVALID:\n return \"invalid\";\n default:\n return \"default\";\n }\n}\n\nexport function getEventScheduleStatusPresentation(\n dateTime: DateTimeType,\n): EventScheduleStatusPresentation {\n return {\n status: dateTime.dateStatus,\n statusLabel: EVENT_DATE_STATUS_LABELS[dateTime.dateStatus],\n tone: getEventScheduleStatusTone(dateTime.dateStatus),\n };\n}\n\nexport function getEventScheduleStatusLabel(\n dateTime: DateTimeType,\n): string | null {\n const { dateStatus: status } = dateTime;\n\n if (!status) {\n return null;\n }\n\n return EVENT_DATE_STATUS_LABELS[status];\n}\n\nexport function shouldShowEventActionsWithWeather(\n resourceType: EnumResourceType,\n dateTime: DateTimeType,\n location: LocationType | null | undefined,\n): boolean {\n return (\n resourceType === EnumResourceType.EVENT &&\n Boolean(location) &&\n Boolean(dateTime?.dateStatus) &&\n ![EnumEventDateStatus.ENDED, EnumEventDateStatus.CANCELED].includes(\n dateTime.dateStatus,\n )\n );\n}\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const clothingAndFashion: Category[] = [\n {\n id: \"clothing-fashion\",\n name: \"Clothing & Fashion\",\n description:\n \"New, handmade, or upcycled clothing and accessories with a creative twist.\",\n subcategories: [\n {\n id: \"apparel-babywear\",\n name: \"Apparel & Babywear\",\n items: [\n {\n id: \"apparel\",\n name: \"Apparel\",\n description: \"Dresses, t-shirts, jumpers, rompers, sets, kidswear.\",\n },\n {\n id: \"baby-toddler-apparel\",\n name: \"Baby & Toddler Apparel\",\n description:\n \"Handmade baby clothes, soft shoes, bibs, hats, knitted sets.\",\n },\n {\n id: \"upcycled-fashion\",\n name: \"Upcycled Fashion\",\n description:\n \"Reworked garments, patchwork pieces, restyled vintage.\",\n },\n {\n id: \"other-wearable-items\",\n name: \"Other wearable items\",\n description: \"Unique clothing not listed above.\",\n },\n ],\n },\n {\n id: \"fashion-accessories\",\n name: \"Fashion Accessories\",\n items: [\n {\n id: \"accessories\",\n name: \"Accessories\",\n description: \"Scarves, belts, gloves, hats, headbands, caps.\",\n },\n {\n id: \"shoes\",\n name: \"Shoes\",\n description: \"Handmade shoes, baby booties, sandals, slippers.\",\n },\n {\n id: \"bags-wallets\",\n name: \"Bags & Wallets\",\n description:\n \"Leather bags, fabric purses, wallets, backpacks, totes.\",\n },\n {\n id: \"other-accessories\",\n name: \"Other accessories\",\n description: \"Brooches, pins, or hybrid functional items.\",\n },\n ],\n },\n {\n id: \"jewelry-creative-wearables\",\n name: \"Jewelry & Creative Wearables\",\n items: [\n {\n id: \"jewelry\",\n name: \"Jewelry\",\n description: \"Necklaces, earrings, bracelets, rings, anklets.\",\n },\n {\n id: \"other-creative-wearables\",\n name: \"Other creative wearables\",\n description:\n \"Wearable art, statement pieces, bold handmade designs.\",\n },\n ],\n },\n {\n id: \"traditional-cultural-clothing-accessories\",\n name: \"Traditional & Cultural Clothing and Accessories\",\n items: [\n {\n id: \"traditional-clothing-accessories\",\n name: \"Traditional Clothing & Accessories \",\n description:\n \"raditional clothing, jewellery, accessories and footwear from around the world, including both handmade and non-handmade items.\",\n },\n {\n id: \"other-traditional-cultural-items\",\n name: \"Other Traditional & Cultural Items\",\n description:\n \"traditional or culturally inspired wearables and decorative cultural pieces such as plates, table linens and similar items.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const electronicsAndTechnology: Category[] = [\n {\n id: \"electronics-technology\",\n name: \"Electronics & Technology\",\n description:\n \"New, second-hand, or handmade tech and digital items commonly found at markets.\",\n subcategories: [\n {\n id: \"mobile-everyday-tech\",\n name: \"Mobile & Everyday Tech\",\n items: [\n {\n id: \"mobile-phone-accessories\",\n name: \"Mobile & Phone Accessories\",\n description:\n \"Phone cases, holders, screen protectors, charging cables, power banks, grips.\",\n },\n {\n id: \"other-mobile-gadgets\",\n name: \"Other mobile gadgets\",\n description:\n \"Stands, styluses, SIM tools, cleaning kits, wallet accessories.\",\n },\n ],\n },\n {\n id: \"audio-music-creative-tech\",\n name: \"Audio, Music & Creative Tech\",\n items: [\n {\n id: \"audio-music-tech\",\n name: \"Audio & Music Tech\",\n description:\n \"Portable speakers, headphones, mini radios, Bluetooth adapters, sound accessories.\",\n },\n {\n id: \"instruments-music-gear\",\n name: \"Instruments & Music Gear\",\n description:\n \"Small electronic instruments, DIY synth kits, drum pads, loop machines.\",\n },\n {\n id: \"recording-creative-devices\",\n name: \"Recording & Creative Devices\",\n description:\n \"USB microphones, podcast tools, voice recorders, mobile lighting, content tools.\",\n },\n {\n id: \"other-audio-music-items\",\n name: \"Other audio or music-related items\",\n description: \"Musical gadgets or creative gear not listed above.\",\n },\n ],\n },\n {\n id: \"diy-gadgets-secondhand-finds\",\n name: \"DIY, Gadgets & Second-Hand Finds\",\n items: [\n {\n id: \"diy-electronics-tools\",\n name: \"DIY Electronics & Tools\",\n description:\n \"LED lights, USB gadgets, circuit boards, repair kits, tech-themed toys, novelty items.\",\n },\n {\n id: \"other-tech-finds\",\n name: \"Other Tech Finds\",\n description:\n \"Used electronics, smart gadgets, wearable tech, calculators, tablet stands, e-waste upcycles.\",\n },\n {\n id: \"other-technology-innovation-items\",\n name: \"Other technology or innovation-related items\",\n description: \"Anything not covered but clearly tech-driven.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const foodAndBeverages: Category[] = [\n {\n id: \"food-beverages\",\n name: \"Food & Beverages\",\n description:\n \"Fresh produce, drinks, sweet and savoury street food, ready-to-eat meals, and packaged goods.\",\n subcategories: [\n {\n id: \"fresh-food-groceries\",\n name: \"Fresh Food & Groceries\",\n items: [\n {\n id: \"fruits-vegetables\",\n name: \"Fruits & Vegetables\",\n description:\n \"Fresh seasonal fruit, organic vegetables, specialty produce, berries, tropical fruit, heritage varieties.\",\n },\n {\n id: \"meat-seafood\",\n name: \"Meat & Seafood\",\n description:\n \"Butcher cuts, fresh fish, smoked meats, sausages, seafood platters, artisanal jerky.\",\n },\n {\n id: \"dairy-eggs\",\n name: \"Dairy & Eggs\",\n description:\n \"Farm eggs, handmade cheeses, yoghurt, fresh milk, goat’s milk products.\",\n },\n {\n id: \"bakery-pastries\",\n name: \"Bakery & Pastries\",\n description:\n \"Freshly baked bread, sourdough, bagels, croissants, focaccia, traditional baked goods.\",\n },\n {\n id: \"spices-condiments\",\n name: \"Spices & Condiments\",\n description:\n \"Dried herbs, spice blends, specialty salts, hot sauces, infused oils, chutneys.\",\n },\n {\n id: \"packaged-specialty-foods\",\n name: \"Packaged & Specialty Foods\",\n description:\n \"Honey, jams, preserves, pickles, nut butters, sauces, pre-packaged snacks.\",\n },\n {\n id: \"other-fresh-food-items\",\n name: \"Other fresh food items\",\n description:\n \"Items that don’t fit above, e.g. fermented foods, plant-based substitutes.\",\n },\n ],\n },\n {\n id: \"beverages-specialty-drinks\",\n name: \"Beverages & Specialty Drinks\",\n items: [\n {\n id: \"fresh-juices-smoothies\",\n name: \"Fresh Juices & Smoothies\",\n description:\n \"Cold-pressed juices, detox blends, fruit smoothies, tropical mixes.\",\n },\n {\n id: \"coffee-teas\",\n name: \"Coffee & Teas\",\n description:\n \"Espresso, pour-over coffee, herbal teas, matcha, bubble tea, locally blended tea.\",\n },\n {\n id: \"dairy-plant-based-drinks\",\n name: \"Dairy & Plant-Based Drinks\",\n description:\n \"Milkshakes, lassis, almond/oat milk drinks, coconut water.\",\n },\n {\n id: \"alcoholic-beverages\",\n name: \"Alcoholic Beverages\",\n description:\n \"Local wines, craft beer, mead, cider, infused spirits, cocktail kits.\",\n },\n {\n id: \"other-beverages\",\n name: \"Other beverages\",\n description:\n \"Kombucha, kefir, energy drinks, non-alcoholic wines or beers.\",\n },\n ],\n },\n {\n id: \"savoury-prepared-foods-street-food\",\n name: \"Savoury Prepared Foods & Street Food\",\n items: [\n {\n id: \"local-specialties\",\n name: \"Local Specialties\",\n description:\n \"Meat pies, hangi, seafood chowder, fry bread, traditional NZ dishes.\",\n },\n {\n id: \"asian-cuisine\",\n name: \"Asian Cuisine\",\n description:\n \"Sushi, bao buns, dumplings, ramen, satay, spring rolls, fried rice.\",\n },\n {\n id: \"mediterranean-cuisine\",\n name: \"Mediterranean Cuisine\",\n description: \"Falafel, hummus wraps, souvlaki, Greek salad, dolma.\",\n },\n {\n id: \"italian-delights\",\n name: \"Italian Delights\",\n description: \"Pizza, calzone, focaccia, fresh pasta, arancini.\",\n },\n {\n id: \"bbq-grilled-foods\",\n name: \"BBQ & Grilled Foods\",\n description: \"Kebabs, grilled chicken, ribs, burgers, sausages.\",\n },\n {\n id: \"savoury-crepes-pancakes\",\n name: \"Savoury Crepes & Pancakes\",\n description: \"Filled savoury crepes, mini savoury pancakes.\",\n },\n {\n id: \"savoury-baked-goods-pastries\",\n name: \"Savoury Baked Goods & Pastries\",\n description:\n \"Quiches, savoury muffins, filled savoury pastries, empanadas.\",\n },\n {\n id: \"vegan-vegetarian-dishes\",\n name: \"Vegan & Vegetarian Dishes\",\n description:\n \"Buddha bowls, plant-based burgers, salads, vegan sushi.\",\n },\n {\n id: \"other-savoury-foods\",\n name: \"Other Savoury Foods\",\n description: \"Fusion dishes, mixed platters, savoury meal kits.\",\n },\n ],\n },\n {\n id: \"sweet-prepared-foods\",\n name: \"Sweet Prepared Foods\",\n items: [\n {\n id: \"sweet-crepes-pancakes-fried-treats\",\n name: \"Sweet Crepes, Pancakes & Fried Treats\",\n description: \"Crepes, waffles, mini pancakes, muffins, doughnuts.\",\n },\n {\n id: \"sweet-baked-goods-desserts\",\n name: \"Sweet Baked Goods & Desserts\",\n description: \"Cakes, pastries, slices, trifles, layered desserts.\",\n },\n {\n id: \"fruit-based-snacks\",\n name: \"Fruit-Based Snacks\",\n description:\n \"Fruit skewers, dried fruit packs, chocolate-dipped fruit.\",\n },\n {\n id: \"candy-confectionery\",\n name: \"Candy & Confectionery\",\n description: \"Fudge, handmade candies, toffee, nougat, brittle.\",\n },\n {\n id: \"other-sweet-foods\",\n name: \"Other Sweet Foods\",\n description: \"Fusion desserts, sweet platters, sweet meal kits.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const handmadeAndLocalProducts: Category[] = [\n {\n id: \"handmade-local-products\",\n name: \"Handmade & Local Products\",\n description: \"Unique, handmade, or locally produced artisan goods.\",\n subcategories: [\n {\n id: \"home-living\",\n name: \"Home & Living\",\n items: [\n {\n id: \"ceramics-pottery\",\n name: \"Ceramics & Pottery\",\n description:\n \"Handmade mugs, vases, bowls, decorative plates, plant pots.\",\n },\n {\n id: \"candles-home-scents\",\n name: \"Candles & Home Scents\",\n description:\n \"Soy candles, beeswax candles, wax melts, incense sticks, room sprays and herbal sachets.\",\n },\n {\n id: \"botanical-crafts\",\n name: \"Botanical Crafts\",\n description: \"Dried-flower décor and pressed-flower crafts\",\n },\n {\n id: \"textiles-embroidery\",\n name: \"Textiles & Embroidery\",\n description:\n \"Handsewn items, embroidered napkins, home linens, aprons, fabric gift wraps, handmade fabric bags, quilted goods, personalized textile gifts.\",\n },\n {\n id: \"woodcraft-metalcraft\",\n name: \"Woodcraft & Metalcraft\",\n description:\n \"Wooden boards, handmade frames, sculptures, metal signs, furniture.\",\n },\n {\n id: \"handmade-soaps-natural-body-goods\",\n name: \"Handmade Soaps & Natural Body Goods\",\n description: \"Handmade soaps, balms, oils, bath items\",\n },\n {\n id: \"seasonal-festive-crafts\",\n name: \"Seasonal & Festive Crafts\",\n description: \"Christmas, Easter and seasonal handmade decor\",\n },\n {\n id: \"other-home-living-products\",\n name: \"Other home & living products\",\n description:\n \"Items that don't fit above but serve home-related purposes.\",\n },\n ],\n },\n {\n id: \"art-personal-expression\",\n name: \"Art & Personal Expression\",\n items: [\n {\n id: \"paintings-illustrations\",\n name: \"Paintings & Illustrations\",\n description:\n \"Paintings, canvas art, hand-drawn illustrations, digital prints, graphic art and calligraphy pieces.\",\n },\n {\n id: \"sculptures-carvings\",\n name: \"Sculptures & Carvings \",\n description:\n \"Sculptures made from wood, stone, metal, clay or resin, carved decorative pieces and artistic 3D works.\",\n },\n {\n id: \"creative-handmade-alternative-art\",\n name: \"Creative Handmade & Alternative Art\",\n description:\n \"Handmade textile décor, fabric ornaments, mixed-media art, creative craft pieces and modern handmade artworks.\",\n },\n {\n id: \"handmade-mini-figures-decor\",\n name: \"Handmade Mini Figures & Décor\",\n description:\n \"Small handmade figures, tiny houses and crafted mini decorative items.\",\n },\n {\n id: \"other-artistic-expressive-products\",\n name: \"Other Artistic or Expressive Products\",\n description:\n \"Custom artworks, specialty handmade décor, unique crafts.\",\n },\n ],\n },\n {\n id: \"handmade-jewellery-accessories-cultural-crafts\",\n name: \"Handmade Jewellery, Accessories & Cultural Crafts\",\n items: [\n {\n id: \"jewellery-handmade-items-nz-traditional-materials\",\n name: \"Jewellery & Handmade Items from NZ Traditional Materials\",\n description:\n \"Handmade jewellery and decorative or functional items crafted from pounamu, bone, wood and other traditional New Zealand materials.\",\n },\n {\n id: \"maori-pasifika-cultural-crafts-clothing\",\n name: \"Māori & Pasifika Cultural Crafts and Clothing\",\n description:\n \"Culturally inspired handmade items, accessories and garments featuring Māori or Pasifika motifs, traditional patterns and regional craftsmanship.\",\n },\n {\n id: \"traditional-handmade-clothing-jewellery-crafts-global-cultures\",\n name: \"Traditional Handmade Clothing, Jewellery & Crafts from Global Cultures\",\n description:\n \"Handcrafted clothing, jewellery and cultural items from diverse traditions — including Asian, African, European, Middle Eastern, Indian, Chinese, Japanese, Pacific, and other culturally significant handmade pieces.\",\n },\n {\n id: \"other-handmade-cultural-items\",\n name: \"Other Handmade Cultural Items\",\n description:\n \"Unique or culturally inspired handmade pieces not specifically covered in the categories above.\",\n },\n ],\n },\n {\n id: \"gift-ideas-accessories\",\n name: \"Gift Ideas & Accessories\",\n items: [\n {\n id: \"handmade-pens-keychains-fridge-magnets\",\n name: \"Handmade Pens, Keychains and Fridge Magnets\",\n description: null,\n },\n {\n id: \"gift-packaging-wrapping-accessories\",\n name: \"Gift Packaging & Wrapping Accessories\",\n description: null,\n },\n {\n id: \"handmade-crochet-knitting-fibre-crafts\",\n name: \"Handmade Crochet, Knitting & Fibre Crafts\",\n description:\n \"Handmade crochet and knitted items, fabric-based crafts, small decorative pieces, creative fibre artworks and unique handcrafted accessories.\",\n },\n {\n id: \"handmade-toys-mini-play-items\",\n name: \"Handmade Toys & Mini Play Items\",\n description:\n \"small handmade toys, soft toys, wooden miniatures, crochet or felt play pieces\",\n },\n {\n id: \"other-small-handmade-gifts-accessories\",\n name: \"Other small handmade gifts or accessories\",\n description: \"Compact creative items made to surprise or delight.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const healthAndWellness: Category[] = [\n {\n id: \"health-wellness\",\n name: \"Health & Wellness\",\n description:\n \"Natural products and services that promote wellbeing, body care, and holistic health.\",\n subcategories: [\n {\n id: \"body-skincare\",\n name: \"Body & Skincare\",\n items: [\n {\n id: \"skincare-body-products\",\n name: \"Skincare & Body Products\",\n description:\n \"Soaps, creams, lip balms, bath salts, bath bombs, body oils, natural deodorants.\",\n },\n {\n id: \"other-body-care-items\",\n name: \"Other body care items\",\n description:\n \"Additional handmade or eco-conscious personal care goods.\",\n },\n ],\n },\n {\n id: \"aromatherapy-herbal-wellness\",\n name: \"Aromatherapy & Herbal Wellness\",\n items: [\n {\n id: \"aromatherapy-herbal-remedies\",\n name: \"Aromatherapy & Herbal Remedies\",\n description:\n \"Essential oils, herbal balms, massage oils, salves, natural teas, rollers.\",\n },\n {\n id: \"other-herbal-aroma-products\",\n name: \"Other herbal or aroma-based products\",\n description: \"Wellness blends, herb sachets, custom infusions.\",\n },\n ],\n },\n {\n id: \"wellness-tools-accessories\",\n name: \"Wellness Tools & Accessories\",\n items: [\n {\n id: \"wellness-accessories\",\n name: \"Wellness Accessories\",\n description:\n \"Yoga mats, meditation cushions, eye pillows, incense, smudging sticks, eco water bottles, wellness journals.\",\n },\n {\n id: \"spiritual-tools-crystals\",\n name: \"Spiritual Tools & Crystals\",\n description:\n \"Healing crystals, gemstone bracelets, pendulums, sprays, spiritual kits, altar decor.\",\n },\n {\n id: \"other-wellness-spiritual-items\",\n name: \"Other wellness or spiritual items\",\n description: \"Items that aid relaxation, focus, or inner work.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const homeGardenHousehold: Category[] = [\n {\n id: \"home-garden-household-goods\",\n name: \"Home, Garden & Household Goods\",\n description:\n \"Functional, decorative, and eco-conscious products designed for everyday use indoors and outdoors.\",\n subcategories: [\n {\n id: \"home-decor-living\",\n name: \"Home Decor & Living\",\n items: [\n {\n id: \"home-decor\",\n name: \"Home Decor\",\n description:\n \"Cushions, wall art, table runners, vases, trays, mirrors, handmade centerpieces.\",\n },\n {\n id: \"kitchenware-dining\",\n name: \"Kitchenware & Dining\",\n description:\n \"Mugs, bowls, cutting boards, utensils, jars, coasters, kitchen textiles.\",\n },\n {\n id: \"mini-figures-decor\",\n name: \"Mini Figures & Décor\",\n description:\n \"handmade or non-handmade small figures, tiny houses and miniature decorative items.\",\n },\n {\n id: \"other-indoor-home-items\",\n name: \"Other indoor home items\",\n description:\n \"Any decorative or practical household items not listed above.\",\n },\n ],\n },\n {\n id: \"cleaning-eco-essentials\",\n name: \"Cleaning & Eco Essentials\",\n items: [\n {\n id: \"cleaning-eco-supplies\",\n name: \"Cleaning & Eco Supplies\",\n description:\n \"Beeswax wraps, reusable cloths, brushes, natural soaps, detergent bars, eco sponges.\",\n },\n {\n id: \"other-eco-cleaning-items\",\n name: \"Other eco or cleaning items\",\n description: \"Environmentally friendly goods not listed above.\",\n },\n ],\n },\n {\n id: \"garden-outdoor-living\",\n name: \"Garden & Outdoor Living\",\n items: [\n {\n id: \"plants-botanical-decor\",\n name: \"Plants & Botanical Decor\",\n description:\n \"Potted herbs, succulents, dried flowers, terrariums, plant-based ornaments.\",\n },\n {\n id: \"fresh-flowers-botanical-bouquets\",\n name: \"Fresh Flowers & Botanical Bouquets\",\n description:\n \"Cut flowers, seasonal bouquets, simple floral arrangements, native flower selections, and other fresh botanical items.\",\n },\n {\n id: \"natural-decor-nature-inspired-elements\",\n name: \"Natural Decor & Nature-Inspired Elements\",\n description:\n \"Seashell décor, driftwood pieces, sand ornaments, natural wood accents, stone or mineral decorations, and other nature-based decorative items.\",\n },\n {\n id: \"garden-tools-outdoor-items\",\n name: \"Garden Tools & Outdoor Items\",\n description:\n \"Plant markers, garden signs, stakes, small tools, wind chimes, gifts.\",\n },\n {\n id: \"other-outdoor-garden-products\",\n name: \"Other outdoor or garden products\",\n description: \"Functional or decorative items for outside use.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const petProductsAndAnimalGoods: Category[] = [\n {\n id: \"pet-products-animal-goods\",\n name: \"Pet Products & Animal Goods\",\n description: \"Items for pets, pet lovers, or animal-themed market stalls.\",\n subcategories: [\n {\n id: \"products-for-pets\",\n name: \"Products for Pets\",\n items: [\n {\n id: \"pet-food-treats\",\n name: \"Pet Food & Treats\",\n description:\n \"Homemade dog biscuits, cat snacks, natural chews, pet-safe cakes, training treats.\",\n },\n {\n id: \"apparel-toys-accessories\",\n name: \"Apparel, Toys & Accessories\",\n description:\n \"Leashes, collars, harnesses, toys, grooming tools, beds, travel gear, jumpers, bandanas.\",\n },\n {\n id: \"other-pet-products\",\n name: \"Other pet products\",\n description: \"Any pet-related items not listed above.\",\n },\n ],\n },\n {\n id: \"small-pets-birds-exotic-animals\",\n name: \"Small Pets, Birds & Exotic Animals\",\n items: [\n {\n id: \"products-small-pets-birds-exotics\",\n name: \"Products for Small Pets, Birds & Exotics\",\n description:\n \"Toys, enclosures, perches, feeding bowls, bedding, habitat decor, transport gear, and care items for birds, rabbits, hamsters, reptiles, turtles, aquarium pets, and other exotic species.\",\n },\n {\n id: \"other-small-exotic-animal-items\",\n name: \"Other small or exotic animal items\",\n description: \"Unusual accessories for non-mainstream pets.\",\n },\n ],\n },\n {\n id: \"farm-working-animals\",\n name: \"Farm & Working Animals\",\n items: [\n {\n id: \"goods-for-farm-working-animals\",\n name: \"Goods for Farm & Working Animals\",\n description:\n \"Treats, care products, equipment, signage and accessories for chickens, goats, alpacas, horses, and other livestock.\",\n },\n {\n id: \"other-farm-animal-items\",\n name: \"Other farm animal-related items\",\n description:\n \"Rural, barnyard, or utility-specific gear not listed above.\",\n },\n ],\n },\n {\n id: \"animal-themed-gifts-custom-items\",\n name: \"Animal-Themed Gifts & Custom Items\",\n items: [\n {\n id: \"pet-art-custom-gifts\",\n name: \"Pet Art & Custom Gifts\",\n description:\n \"Pet portraits, name tags, personalized bowls, breed-specific items, pet-themed home decor and stationery.\",\n },\n {\n id: \"other-animal-themed-gifts\",\n name: \"Other animal-themed gifts\",\n description:\n \"Artistic or sentimental items made for animal lovers.\",\n },\n ],\n },\n ],\n },\n];\n","import { Category } from \"src/types\";\n\n/* eslint-disable sort-keys */\nexport const serviceAndExperience: Category[] = [\n {\n id: \"services-experiences\",\n name: \"Services & Experiences\",\n description:\n \"On-site offerings that provide entertainment, personal care, learning, or interactive activities beyond products.\",\n subcategories: [\n {\n id: \"personal-care-body-art\",\n name: \"Personal Care & Body Art\",\n items: [\n {\n id: \"nails-handcare\",\n name: \"Nails & Handcare\",\n description:\n \"Nail painting, decoration, quick manicures, temporary nail extensions.\",\n },\n {\n id: \"hair-styling-braiding\",\n name: \"Hair Styling & Braiding\",\n description:\n \"Hair braiding, plaits, child-friendly festival hairstyles.\",\n },\n {\n id: \"face-body-decoration\",\n name: \"Face & Body Decoration\",\n description:\n \"Henna, glitter tattoos, face painting, light makeup, eyelash styling, professional tattooing (where permitted).\",\n },\n {\n id: \"other-beauty-grooming-services\",\n name: \"Other beauty or grooming services\",\n description: \"Small-scale personal care options offered on-site.\",\n },\n ],\n },\n {\n id: \"practical-wellness-services\",\n name: \"Practical & Wellness Services\",\n items: [\n {\n id: \"mobile-practical-services\",\n name: \"Mobile & Practical Services\",\n description:\n \"Shoe repair, phone repairs, knife sharpening, key cutting, battery replacement, bike repairs, engraving.\",\n },\n {\n id: \"wellness-alternative-therapies\",\n name: \"Wellness & Alternative Therapies\",\n description:\n \"Massage, aromatherapy, reflexology, energy healing (e.g. Reiki), natural consultations.\",\n },\n {\n id: \"other-service-based-offerings\",\n name: \"Other service-based offerings\",\n description: \"Wellness or functional services not listed above.\",\n },\n ],\n },\n {\n id: \"creative-educational-experiences\",\n name: \"Creative & Educational Experiences\",\n items: [\n {\n id: \"creative-workshops-maker-services\",\n name: \"Creative Workshops & Maker Services\",\n description:\n \"Candle making, pottery, jewelry crafting, soap or balm workshops, calligraphy, seasonal crafts.\",\n },\n {\n id: \"education-awareness-stalls\",\n name: \"Education & Awareness Stalls\",\n description:\n \"Eco awareness, cultural storytelling, local history, first aid demos, health booths, sustainability education, kids’ science displays.\",\n },\n {\n id: \"other-creative-educational-services\",\n name: \"Other creative or educational services\",\n description:\n \"Informal learning, demonstrations, or community-focused sessions.\",\n },\n ],\n },\n {\n id: \"kids-activities-family-fun\",\n name: \"Kids’ Activities & Family Fun\",\n items: [\n {\n id: \"kids-activities-fun\",\n name: \"Kids’ Activities & Fun\",\n description:\n \"Face painting, glitter tattoos, pony rides, bouncy castles, small amusement rides, balloon twisting, animal petting zones.\",\n },\n {\n id: \"other-family-oriented-activities\",\n name: \"Other family-oriented activities\",\n description:\n \"On-site entertainment that engages children or family groups.\",\n },\n ],\n },\n ],\n },\n];\n","import { Category } from \"src/types\";\n\n/* eslint-disable sort-keys */\nexport const toysChildren: Category[] = [\n {\n id: \"toys-childrens-items\",\n name: \"Toys & Children’s Items\",\n description: \"Products and services made for or inspired by children.\",\n subcategories: [\n {\n id: \"toys-playthings\",\n name: \"Toys & Playthings\",\n items: [\n {\n id: \"toys-classic-electric-character\",\n name: \"Toys – Classic, Electric & Character-Based\",\n description:\n \"Building blocks, dolls, puzzles, plush animals, toy vehicles, remote-control toys, light-up gadgets, character figurines, themed playsets.\",\n },\n {\n id: \"handmade-toys-crafty-playthings\",\n name: \"Handmade Toys & Crafty Playthings\",\n description:\n \"Wooden puzzles, crocheted animals, felt toys, fabric dolls, DIY kits, nature-inspired games, sensory toys.\",\n },\n {\n id: \"other-play-items\",\n name: \"Other play items\",\n description:\n \"Toys not listed above, including limited-edition or hybrid items.\",\n },\n ],\n },\n {\n id: \"educational-developmental\",\n name: \"Educational & Developmental\",\n items: [\n {\n id: \"educational-developmental-tools\",\n name: \"Educational & Developmental Tools\",\n description:\n \"STEM kits, Montessori toys, storybooks, picture books, flashcards, early learning games, language tools.\",\n },\n {\n id: \"other-educational-experience-based-items\",\n name: \"Other educational or experience-based items\",\n description:\n \"Creative experiences or learning aids not listed above.\",\n },\n ],\n },\n {\n id: \"baby-kidswear-accessories\",\n name: \"Baby & Kidswear + Accessories\",\n items: [\n {\n id: \"baby-kidswear-accessories\",\n name: \"Baby & Kidswear + Accessories\",\n description:\n \"Handmade baby clothes, toddler outfits, bibs, hats, headbands, bags, pacifier clips, soft shoes.\",\n },\n {\n id: \"baby-developmental-soft-toys\",\n name: \"Baby Developmental Soft Toys\",\n description:\n \"Sensory toys, rattles, fabric books, teething items, high-contrast cards, and early-skill. Montessori materials designed to support infants’ cognitive and motor development.\",\n },\n {\n id: \"other-childrens-clothing-accessories\",\n name: \"Other children’s clothing or accessories\",\n description: \"Unique fashion or functional pieces for kids.\",\n },\n ],\n },\n ],\n },\n];\n","/* eslint-disable sort-keys */\nimport { Category } from \"src/types\";\n\nexport const vintageAndAntique: Category[] = [\n {\n id: \"vintage-antique\",\n name: \"Vintage & Antique\",\n description:\n \"Unique, historic, or nostalgic items with collectible or decorative value.\",\n subcategories: [\n {\n id: \"vintage-antique-clothing-accessories\",\n name: \"Vintage & Antique Clothing & Accessories\",\n items: [\n {\n id: \"clothing-vintage-fashion\",\n name: \"Clothing and wearable items from past eras\",\n description:\n \"Vintage dresses, jackets, hats, gloves, belts, bags, shoes, jewellery.\",\n },\n {\n id: \"other-clothing-accessory-items\",\n name: \"Other clothing-related items\",\n description:\n \"Hair clips, brooches, pins, scarf rings, small fashion accessories.\",\n },\n ],\n },\n {\n id: \"collectibles-memorabilia\",\n name: \"Collectibles & Memorabilia\",\n items: [\n {\n id: \"small-collectible-items\",\n name: \"Small collectible items with historical or nostalgic significance\",\n description:\n \"Coins, stamps, toys, postcards, comics, sports cards, vintage packaging.\",\n },\n {\n id: \"other-collectible-items\",\n name: \"Other collectible items\",\n description:\n \"Rare small objects, miniature figurines, special-edition items.\",\n },\n ],\n },\n {\n id: \"homewares-decor-curiosities\",\n name: \"Homewares, Decor & Curiosities\",\n items: [\n {\n id: \"decorative-functional-vintage-items\",\n name: \"Decorative or functional items with a vintage or antique aesthetic\",\n description:\n \"Teacups, plates, vases, mirrors, clocks, furniture, old tools, lanterns, typewriters, curiosities.\",\n },\n {\n id: \"handmade-vintage-art\",\n name: \"Handmade vintage art\",\n description: \"Paintings, sculptures, crafted pieces.\",\n },\n {\n id: \"other-home-decor-items\",\n name: \"Other home or decor items\",\n description:\n \"Decorative pieces not listed above, unique household objects.\",\n },\n ],\n },\n {\n id: \"vintage-media-printed-nostalgia\",\n name: \"Vintage Media & Printed Nostalgia\",\n items: [\n {\n id: \"older-media-printed-works\",\n name: \"Older media formats and printed works\",\n description:\n \"Vinyl records, cassette tapes, CDs, DVDs, books, magazines, board games, posters.\",\n },\n {\n id: \"other-media-printed-items\",\n name: \"Other media or printed items\",\n description: \"Maps, manuals, leaflets, out-of-print materials.\",\n },\n ],\n },\n {\n id: \"other-vintage-antique-items\",\n name: \"Other Vintage & Antique Items\",\n items: [\n {\n id: \"any-vintage-antique-items-not-listed\",\n name: \"Any vintage or antique items not listed above\",\n description: \"Unique, rare or uncategorised pieces.\",\n },\n ],\n },\n ],\n },\n];\n","import { Category, CategoryColorType } from \"../../types/global\";\n\nimport { clothingAndFashion } from \"./clothingAndFashion\";\nimport { electronicsAndTechnology } from \"./electronicsAndTechnology\";\nimport { foodAndBeverages } from \"./foodAndBeverages\";\nimport { handmadeAndLocalProducts } from \"./handmadeAndLocalProducts\";\nimport { healthAndWellness } from \"./healthAndWellness\";\nimport { homeGardenHousehold } from \"./homeGardenHousehold\";\nimport { petProductsAndAnimalGoods } from \"./petProductsAndAnimalGoods\";\nimport { serviceAndExperience } from \"./serviceAndExperience\";\nimport { toysChildren } from \"./toysChildren\";\nimport { vintageAndAntique } from \"./vintageAndAntique\";\n\nexport const categoryColors: Record<string, CategoryColorType> = {\n \"clothing-fashion\": {\n primary: \"#9D4EDD\",\n secondary: \"#fff\",\n },\n \"electronics-technology\": {\n primary: \"#3AF3FF\",\n secondary: \"#000\",\n },\n \"food-beverages\": {\n primary: \"#FF0D1F\",\n secondary: \"#fff\",\n },\n \"handmade-local-products\": {\n primary: \"#EE7E54\",\n secondary: \"#fff\",\n },\n \"health-wellness\": {\n primary: \"#E23794\",\n secondary: \"#fff\",\n },\n \"home-garden-household-goods\": {\n primary: \"#067325\",\n secondary: \"#fff\",\n },\n \"pet-products-animal-goods\": {\n primary: \"#68E788\",\n secondary: \"#000\",\n },\n \"services-experiences\": {\n primary: \"#2E16A5\",\n secondary: \"#fff\",\n },\n \"toys-childrens-items\": {\n primary: \"#FFF966\",\n secondary: \"#000\",\n },\n \"vintage-antique\": {\n primary: \"#8D6748\",\n secondary: \"#fff\",\n },\n};\n\nconst assignColorToCategories = (categories: Category[]): Category[] => {\n const result = categories.map((category) => ({\n ...category,\n color: categoryColors[category.id],\n }));\n return result;\n};\n\nexport const availableCategories = assignColorToCategories([\n ...foodAndBeverages,\n ...handmadeAndLocalProducts,\n ...clothingAndFashion,\n ...homeGardenHousehold,\n ...toysChildren,\n ...healthAndWellness,\n ...electronicsAndTechnology,\n ...vintageAndAntique,\n ...petProductsAndAnimalGoods,\n ...serviceAndExperience,\n]);\n","import { availableCategories } from \"../formFields/categories\";\nimport type { UnregisteredVendorType, VendorType } from \"../types/vendor\";\nimport { getUniqueStartDates } from \"../utils/date\";\n\ntype RelationType = NonNullable<VendorType[\"relations\"]>[number];\ntype RelationDateType = NonNullable<RelationType[\"relationDates\"]>[number];\n\nexport type StallholderFilterOption = {\n label: string;\n value: string;\n};\n\nexport function eventStartDatesSet(\n dateTime: Array<{ startDate?: string | null }> | undefined,\n): Set<string> {\n return new Set(\n (dateTime ?? [])\n .map((date) => date.startDate)\n .filter((date): date is string => Boolean(date)),\n );\n}\n\nexport function hasMatchingEventDate(\n vendorStartDates: string[],\n eventStartDates: Set<string>,\n): boolean {\n return vendorStartDates.some((startDate) => eventStartDates.has(startDate));\n}\n\nexport function matchesSelectedDate(\n vendorStartDates: string[],\n selectedDate: string | null,\n): boolean {\n if (!selectedDate) {\n return true;\n }\n\n return vendorStartDates.includes(selectedDate);\n}\n\nexport function matchesCategory(\n categoryNames: string[],\n selectedCategory: string | null,\n): boolean {\n if (!selectedCategory) {\n return true;\n }\n\n return categoryNames.includes(selectedCategory);\n}\n\nexport function getRegisteredVendorStartDates(vendor: VendorType): string[] {\n const relations = vendor.relations ?? [];\n\n return relations.flatMap((relation) =>\n (relation.relationDates ?? [])\n .map((relationDate: RelationDateType) => relationDate.dateTime.startDate)\n .filter((date): date is string => Boolean(date)),\n );\n}\n\nexport function getRegisteredVendorCategoryNames(vendor: VendorType): string[] {\n return (vendor.categories ?? []).map((category) => category.name);\n}\n\nexport function getUnregisteredVendorStartDates(\n vendor: UnregisteredVendorType,\n): string[] {\n return (vendor.invitations ?? []).flatMap((invitation) =>\n invitation.dateTime\n .map((date) => date.startDate)\n .filter((date): date is string => Boolean(date)),\n );\n}\n\nexport function getUnregisteredVendorCategoryNames(\n vendor: UnregisteredVendorType,\n): string[] {\n return availableCategories\n .filter(\n (category) => category.id && vendor.categoryIds.includes(category.id),\n )\n .map((category) => category.name);\n}\n\nexport function filterRegisteredVendorsForEvent(\n vendors: VendorType[] | null | undefined,\n eventStartDates: Set<string>,\n selectedDate: string | null,\n selectedCategory: string | null,\n): VendorType[] {\n if (!vendors) {\n return [];\n }\n\n return vendors.filter((vendor) => {\n const startDates = getRegisteredVendorStartDates(vendor);\n\n return (\n hasMatchingEventDate(startDates, eventStartDates) &&\n matchesSelectedDate(startDates, selectedDate) &&\n matchesCategory(\n getRegisteredVendorCategoryNames(vendor),\n selectedCategory,\n )\n );\n });\n}\n\nexport function filterUnregisteredVendorsForEvent(\n vendors: UnregisteredVendorType[],\n eventStartDates: Set<string>,\n selectedDate: string | null,\n selectedCategory: string | null,\n): UnregisteredVendorType[] {\n return vendors.filter((vendor) => {\n const startDates = getUnregisteredVendorStartDates(vendor);\n\n return (\n hasMatchingEventDate(startDates, eventStartDates) &&\n matchesSelectedDate(startDates, selectedDate) &&\n matchesCategory(\n getUnregisteredVendorCategoryNames(vendor),\n selectedCategory,\n )\n );\n });\n}\n\nexport function filterRegisteredVendorsByEventDatesOnly(\n vendors: VendorType[] | null | undefined,\n eventStartDates: Set<string>,\n): VendorType[] {\n if (!vendors) {\n return [];\n }\n\n return vendors.filter((vendor) =>\n hasMatchingEventDate(\n getRegisteredVendorStartDates(vendor),\n eventStartDates,\n ),\n );\n}\n\nexport function filterUnregisteredVendorsByEventDatesOnly(\n vendors: UnregisteredVendorType[],\n eventStartDates: Set<string>,\n): UnregisteredVendorType[] {\n return vendors.filter((vendor) =>\n hasMatchingEventDate(\n getUnregisteredVendorStartDates(vendor),\n eventStartDates,\n ),\n );\n}\n\nexport function collectStallholderDateTimes(\n registeredVendors: VendorType[],\n unregisteredVendors: UnregisteredVendorType[] = [],\n): Array<{ startDate?: string; startTime?: string }> {\n return [\n ...registeredVendors.flatMap((vendor) =>\n (vendor.relations ?? []).flatMap((relation) =>\n (relation.relationDates ?? []).map(\n (relationDate: RelationDateType) => relationDate.dateTime,\n ),\n ),\n ),\n ...unregisteredVendors.flatMap((vendor) =>\n (vendor.invitations ?? []).flatMap((invitation) => invitation.dateTime),\n ),\n ];\n}\n\nexport function getUniqueStallholderStartDates(\n registeredVendors: VendorType[],\n unregisteredVendors: UnregisteredVendorType[] = [],\n): string[] {\n return getUniqueStartDates(\n collectStallholderDateTimes(registeredVendors, unregisteredVendors),\n );\n}\n\nexport function getStallholderCategoryNames(\n registeredVendors: VendorType[],\n unregisteredVendors: UnregisteredVendorType[] = [],\n): string[] {\n const names = [\n ...registeredVendors.flatMap(getRegisteredVendorCategoryNames),\n ...unregisteredVendors.flatMap(getUnregisteredVendorCategoryNames),\n ];\n\n return Array.from(new Set(names));\n}\n\nexport function getStallholderCategoryOptions(\n registeredVendors: VendorType[],\n unregisteredVendors: UnregisteredVendorType[] = [],\n): StallholderFilterOption[] {\n return getStallholderCategoryNames(\n registeredVendors,\n unregisteredVendors,\n ).map((name) => ({\n label: name,\n value: name,\n }));\n}\n\nexport function getEventStallholderEmptyMessage(\n hasAnyStallholdersForEvent: boolean,\n selectedDate: string | null,\n): string {\n return hasAnyStallholdersForEvent && selectedDate\n ? \"No stallholders found for this event date.\"\n : \"No stallholders found for this event.\";\n}\n","import type { StallholderFilterOption } from \"../eventStallholders/eventStallholderFilters\";\nimport type { EventListItemType } from \"../types/event\";\nimport type { DateTimeType } from \"../types/global\";\nimport { getUniqueStartDates } from \"../utils/date\";\n\ntype RelationType = NonNullable<EventListItemType[\"relations\"]>[number];\ntype RelationDateType = NonNullable<RelationType[\"relationDates\"]>[number];\n\nexport function relationHasSelectedDate(\n relation: RelationType,\n selectedDate: string,\n): boolean {\n return (\n relation.relationDates?.some(\n (date: RelationDateType) => date.dateTime.startDate === selectedDate,\n ) ?? false\n );\n}\n\nexport function eventHasSelectedDate(\n event: EventListItemType,\n selectedDate: string,\n): boolean {\n return (\n event.relations?.some((relation) =>\n relationHasSelectedDate(relation, selectedDate),\n ) ?? false\n );\n}\n\nexport function filterVendorEventsBySelectedDate(\n events: EventListItemType[] | null | undefined,\n selectedDate: string | null,\n): EventListItemType[] {\n if (!events) {\n return [];\n }\n\n if (!selectedDate) {\n return events;\n }\n\n return events.filter((event) => eventHasSelectedDate(event, selectedDate));\n}\n\nexport function collectVendorEventRelationDateTimes(\n events: EventListItemType[] | null | undefined,\n): DateTimeType[] {\n if (!events?.length) {\n return [];\n }\n\n return events.flatMap((event) =>\n (event.relations ?? []).flatMap((relation) =>\n (relation.relationDates ?? []).map(\n (relationDate) => relationDate.dateTime,\n ),\n ),\n );\n}\n\nexport function getVendorEventRelationStartDates(\n events: EventListItemType[] | null | undefined,\n): string[] {\n return getUniqueStartDates(collectVendorEventRelationDateTimes(events));\n}\n\nexport function getVendorEventRelationDateOptions(\n events: EventListItemType[] | null | undefined,\n): StallholderFilterOption[] {\n return getVendorEventRelationStartDates(events).map((startDate) => ({\n label: startDate,\n value: startDate,\n }));\n}\n\nexport function getVendorEventsEmptyMessage(): string {\n return \"No events found.\";\n}\n","import {\n AffiliateRewardType,\n EnumAffiliateParticipantType,\n EnumAffiliateRewardType,\n} from \"src/types/affiliate\";\n\nexport const AFFILIATE_PARTICIPANT_TYPE_LABELS = {\n [EnumAffiliateParticipantType.INDIVIDUAL]: \"Individual\",\n [EnumAffiliateParticipantType.SOLE_TRADER]: \"Sole Trader\",\n [EnumAffiliateParticipantType.COMPANY]: \"Company\",\n} as const satisfies Record<EnumAffiliateParticipantType, string>;\n\ntype AffiliateRewardConfig = {\n description: string;\n value: number;\n};\n\nexport const AFFILIATE_REWARDS = {\n [EnumAffiliateRewardType.NEW_EVENT_REGISTRATION]: {\n description: \"10 points for new event registration (one-time reward)\",\n value: 10,\n },\n [EnumAffiliateRewardType.NEW_VENDOR_REGISTRATION]: {\n description: \"5 points for new vendor registration (one-time reward)\",\n value: 5,\n },\n [EnumAffiliateRewardType.ACTIVE_VENDOR_PRO_SUBSCRIPTION]: {\n description: \"3 points for active vendor pro subscription (monthly reward)\",\n value: 3,\n },\n [EnumAffiliateRewardType.ACTIVE_VENDOR_STANDARD_SUBSCRIPTION]: {\n description:\n \"1 point for active vendor standard subscription (monthly reward)\",\n value: 1,\n },\n [EnumAffiliateRewardType.ACTIVE_VENDOR_BONUS_REWARD]: {\n description:\n \"5 bonus points for every 10th active vendor (one-time reward)\",\n value: 5,\n },\n [EnumAffiliateRewardType.ACTIVE_EVENT_WITH_VENDOR_REGISTRATIONS]: {\n description:\n \"40 points for active event with vendor registrations (one-time reward)\",\n value: 40,\n },\n} satisfies Record<EnumAffiliateRewardType, AffiliateRewardConfig>;\n\n/**\n * Create an affiliate reward\n * @param rewardType - The type of reward\n * @param createdAt - The date the reward was received\n * @returns The affiliate reward\n * @example\n * const reward = createAffiliateReward(EnumAffiliateRewardType.NEW_EVENT_REGISTRATION, new Date());\n * console.log(reward);\n */\nexport function createAffiliateReward(\n rewardType: EnumAffiliateRewardType,\n createdAt: Date,\n): AffiliateRewardType {\n const reward = AFFILIATE_REWARDS[rewardType];\n\n return {\n createdAt,\n redeemedAt: null,\n rewardDescription: reward.description,\n rewardType,\n rewardValue: reward.value,\n };\n}\n","/**\n * NZ IRD number validation (Inland Revenue modulus-11 check digit).\n *\n * Valid range: 10,000,000 – 200,000,000 (upper limit raised Feb 2026; length stays\n * 8–9 digits). See IRD file-upload / payday filing specifications.\n */\n\nconst PRIMARY_WEIGHTS = [3, 2, 7, 6, 5, 4, 3, 2] as const;\nconst SECONDARY_WEIGHTS = [7, 4, 3, 2, 5, 2, 7, 6] as const;\n\nconst IRD_MIN = 10_000_000;\n/** Raised from 150_000_000 as of IRD's Feb 2026 annual update. */\nconst IRD_MAX = 200_000_000;\n\nfunction calculateCheckDigit(\n baseDigits: string,\n weights: readonly number[],\n): number {\n const sum = [...baseDigits].reduce(\n (acc, digit, index) => acc + Number(digit) * weights[index],\n 0,\n );\n const remainder = sum % 11;\n return remainder === 0 ? 0 : 11 - remainder;\n}\n\n/** Digits only; strips spaces/hyphens and other non-digits. */\nexport function normalizeIrdNumber(value: string): string {\n return value.replace(/\\D/g, \"\");\n}\n\n/**\n * Formats an IRD number as groups of three digits separated by hyphens\n * (e.g. `490-918-50` / `049-091-850`), capping at 9 digits.\n */\nexport function formatIrdNumber(input: string): string {\n const digitsOnly = normalizeIrdNumber(input).slice(0, 9);\n\n const parts = [];\n if (digitsOnly.length > 0) parts.push(digitsOnly.slice(0, 3));\n if (digitsOnly.length > 3) parts.push(digitsOnly.slice(3, 6));\n if (digitsOnly.length > 6) parts.push(digitsOnly.slice(6, 9));\n\n return parts.join(\"-\");\n}\n\n/**\n * Returns true when `value` is a valid NZ IRD number (8–9 digits, in issued\n * range, and modulus-11 check digit matches).\n */\nexport function isValidIrdNumber(value: string): boolean {\n const digits = normalizeIrdNumber(value);\n\n if (!/^\\d{8,9}$/.test(digits)) {\n return false;\n }\n\n const ird = Number(digits);\n if (ird < IRD_MIN || ird > IRD_MAX) {\n return false;\n }\n\n const padded = digits.padStart(9, \"0\");\n const baseDigits = padded.slice(0, -1);\n const checkDigit = Number(padded.slice(-1));\n\n let calculated = calculateCheckDigit(baseDigits, PRIMARY_WEIGHTS);\n if (calculated === 10) {\n calculated = calculateCheckDigit(baseDigits, SECONDARY_WEIGHTS);\n if (calculated === 10) {\n return false;\n }\n }\n\n return calculated === checkDigit;\n}\n","/* eslint-disable camelcase -- Catalogue keys match persisted database identifiers. */\nimport { EnumBillingPeriod, EnumUserLicence } from \"../../enums\";\nimport type {\n BillingCatalogDefinition,\n BillingCatalogEntryType,\n BillingCatalogInitialEntry,\n BillingCatalogKey,\n} from \"../../types/billingCatalog\";\n\nexport const BILLING_CATALOG_KEYS = [\n \"pro_vendor_monthly\",\n \"pro_vendor_yearly\",\n \"pro_plus_vendor_monthly\",\n \"pro_plus_vendor_yearly\",\n] as const satisfies readonly BillingCatalogKey[];\n\nexport const BILLING_CATALOG_CURRENCY = \"nzd\" as const;\n\n/**\n * The only four licence/billing combinations that can be sold through Stripe.\n * Standard vendor access and all event licences intentionally stay outside the\n * paid billing catalogue.\n */\nexport const BILLING_CATALOG_DEFINITIONS: Record<\n BillingCatalogKey,\n BillingCatalogDefinition\n> = {\n pro_plus_vendor_monthly: {\n billingPeriod: EnumBillingPeriod.MONTHLY_CANCEL_ANYTIME,\n licenceType: EnumUserLicence.PRO_PLUS_VENDOR,\n },\n pro_plus_vendor_yearly: {\n billingPeriod: EnumBillingPeriod.YEARLY_ANNUAL_BILLED,\n licenceType: EnumUserLicence.PRO_PLUS_VENDOR,\n },\n pro_vendor_monthly: {\n billingPeriod: EnumBillingPeriod.MONTHLY_CANCEL_ANYTIME,\n licenceType: EnumUserLicence.PRO_VENDOR,\n },\n pro_vendor_yearly: {\n billingPeriod: EnumBillingPeriod.YEARLY_ANNUAL_BILLED,\n licenceType: EnumUserLicence.PRO_VENDOR,\n },\n};\n\n/**\n * Resolves a client selection to the single canonical billing catalogue key.\n * Returning null is intentional: GraphQL resolvers can reject every free or\n * event licence without maintaining another parallel allow-list.\n */\nexport function getBillingCatalogKeyForSelection(\n licenceType: EnumUserLicence,\n billingPeriod: EnumBillingPeriod,\n): BillingCatalogKey | null {\n const match = Object.entries(BILLING_CATALOG_DEFINITIONS).find(\n ([, definition]) =>\n definition.licenceType === licenceType &&\n definition.billingPeriod === billingPeriod,\n );\n\n return (match?.[0] as BillingCatalogKey | undefined) ?? null;\n}\n\n/**\n * Initial test prices copied from the current public pricing page. They become\n * database records during catalogue initialisation and can later be changed by\n * a Super Admin; checkout must never read these constants directly.\n */\nexport const INITIAL_BILLING_CATALOG: readonly BillingCatalogInitialEntry[] = [\n {\n active: true,\n billingPeriod: EnumBillingPeriod.MONTHLY_CANCEL_ANYTIME,\n currency: BILLING_CATALOG_CURRENCY,\n key: \"pro_vendor_monthly\",\n licenceType: EnumUserLicence.PRO_VENDOR,\n taxInclusive: true,\n unitAmount: 3_999,\n },\n {\n active: true,\n billingPeriod: EnumBillingPeriod.YEARLY_ANNUAL_BILLED,\n currency: BILLING_CATALOG_CURRENCY,\n key: \"pro_vendor_yearly\",\n licenceType: EnumUserLicence.PRO_VENDOR,\n taxInclusive: true,\n unitAmount: 40_788,\n },\n {\n active: true,\n billingPeriod: EnumBillingPeriod.MONTHLY_CANCEL_ANYTIME,\n currency: BILLING_CATALOG_CURRENCY,\n key: \"pro_plus_vendor_monthly\",\n licenceType: EnumUserLicence.PRO_PLUS_VENDOR,\n taxInclusive: true,\n unitAmount: 6_499,\n },\n {\n active: true,\n billingPeriod: EnumBillingPeriod.YEARLY_ANNUAL_BILLED,\n currency: BILLING_CATALOG_CURRENCY,\n key: \"pro_plus_vendor_yearly\",\n licenceType: EnumUserLicence.PRO_PLUS_VENDOR,\n taxInclusive: true,\n unitAmount: 62_388,\n },\n] as const;\n\nexport function billingCatalogDefinitionMatches(\n entry: Pick<BillingCatalogEntryType, \"billingPeriod\" | \"key\" | \"licenceType\">,\n): boolean {\n const definition = BILLING_CATALOG_DEFINITIONS[entry.key];\n\n if (!definition) {\n return false;\n }\n\n return (\n definition.billingPeriod === entry.billingPeriod &&\n definition.licenceType === entry.licenceType\n );\n}\n","import {\n eventStartDatesSet,\n filterRegisteredVendorsByEventDatesOnly,\n filterRegisteredVendorsForEvent,\n filterUnregisteredVendorsByEventDatesOnly,\n filterUnregisteredVendorsForEvent,\n getEventStallholderEmptyMessage,\n getStallholderCategoryOptions,\n getUniqueStallholderStartDates,\n type StallholderFilterOption,\n} from \"../../eventStallholders\";\nimport type { DateTimeType } from \"../../types/global\";\nimport type { UnregisteredVendorType, VendorType } from \"../../types/vendor\";\nimport { formatDate } from \"../date\";\n\nexport type EventStallholderDateOption = {\n label: string;\n value: string;\n};\n\nexport type EventStallholdersData = {\n emptyMessage: string;\n futureEventStartDates: EventStallholderDateOption[];\n hasDatePills: boolean;\n hasStallholders: boolean;\n stallholderCategories: StallholderFilterOption[];\n unregisteredVendorList: UnregisteredVendorType[];\n vendorList: VendorType[];\n};\n\nexport type GetEventStallholdersDataInput = {\n eventDateTime: DateTimeType[];\n selectedCategory: string | null;\n selectedDate: string | null;\n unregisteredVendors?: UnregisteredVendorType[];\n vendors: VendorType[] | null;\n};\n\n/**\n * Derives every stallholder-list value an event detail screen needs from the\n * event dates, registered vendors, and unregistered vendors.\n *\n * Date pills come from the relations, not the event schedule: they are the\n * `startDate`s of the stallholders' relation dates / invitations (chronological\n * and de-duplicated). `eventDateTime` is only used to decide which vendors and\n * invitations actually belong to the event, mirroring the vendor screen where\n * pills are also relation-sourced.\n *\n * Shared by the mobile event page and the admin market event page so the two\n * keep identical filtering / date-pill / empty-message behaviour.\n */\nexport function getEventStallholdersData({\n eventDateTime,\n selectedCategory,\n selectedDate,\n unregisteredVendors = [],\n vendors,\n}: GetEventStallholdersDataInput): EventStallholdersData {\n const eventStartDates = eventStartDatesSet(eventDateTime);\n\n const registeredForEvent = filterRegisteredVendorsByEventDatesOnly(\n vendors,\n eventStartDates,\n );\n const unregisteredForEvent = filterUnregisteredVendorsByEventDatesOnly(\n unregisteredVendors,\n eventStartDates,\n );\n\n const vendorList = filterRegisteredVendorsForEvent(\n vendors,\n eventStartDates,\n selectedDate,\n selectedCategory,\n );\n const unregisteredVendorList = filterUnregisteredVendorsForEvent(\n unregisteredVendors,\n eventStartDates,\n selectedDate,\n selectedCategory,\n );\n\n const registeredForSelectedDate = filterRegisteredVendorsForEvent(\n vendors,\n eventStartDates,\n selectedDate,\n null,\n );\n const unregisteredForSelectedDate = filterUnregisteredVendorsForEvent(\n unregisteredVendors,\n eventStartDates,\n selectedDate,\n null,\n );\n\n const stallholderCategories = getStallholderCategoryOptions(\n registeredForSelectedDate,\n unregisteredForSelectedDate,\n );\n\n const futureEventStartDates = getUniqueStallholderStartDates(\n registeredForEvent,\n unregisteredForEvent,\n ).map((startDate) => ({\n label: formatDate(startDate, \"date\"),\n value: startDate,\n }));\n\n const hasDatePills = futureEventStartDates.length > 0;\n const hasStallholders =\n vendorList.length > 0 || unregisteredVendorList.length > 0;\n const hasAnyStallholdersForEvent =\n registeredForEvent.length > 0 || unregisteredForEvent.length > 0;\n\n return {\n emptyMessage: getEventStallholderEmptyMessage(\n hasAnyStallholdersForEvent,\n selectedDate,\n ),\n futureEventStartDates,\n hasDatePills,\n hasStallholders,\n stallholderCategories,\n unregisteredVendorList,\n vendorList,\n };\n}\n","import type { EventListItemType } from \"../../types/event\";\nimport {\n filterVendorEventsBySelectedDate,\n getVendorEventRelationDateOptions,\n getVendorEventsEmptyMessage,\n} from \"../../vendorEvents\";\nimport { formatDate } from \"../date\";\n\nexport type VendorEventDateOption = {\n label: string;\n value: string;\n};\n\nexport type VendorEventsData = {\n emptyMessage: string;\n eventDateOptions: VendorEventDateOption[];\n eventsByDate: EventListItemType[];\n hasDatePills: boolean;\n};\n\nexport type GetVendorEventsDataInput = {\n events: EventListItemType[] | null;\n selectedDate: string | null;\n};\n\n/**\n * Derives every event-list value a vendor detail screen needs from the raw\n * event connections and the selected date filter.\n *\n * Shared by the mobile vendor page and the admin stallholder page so the two\n * keep identical filtering / date-pill / empty-message behaviour.\n */\nexport function getVendorEventsData({\n events,\n selectedDate,\n}: GetVendorEventsDataInput): VendorEventsData {\n const eventDateOptions = getVendorEventRelationDateOptions(events).map(\n (option) => ({\n ...option,\n label: formatDate(option.value, \"date\"),\n }),\n );\n\n return {\n emptyMessage: getVendorEventsEmptyMessage(),\n eventDateOptions,\n eventsByDate: filterVendorEventsBySelectedDate(events, selectedDate),\n hasDatePills: eventDateOptions.length > 0,\n };\n}\n","import { EnumInviteStatus } from \"../../enums\";\n\n/**\n * Relation date statuses that must survive when their event slot is removed or\n * a relation is overwritten. ACCEPTED/COMPLETED are historical or paid\n * bookings; REJECTED is kept for the organizer's records. Dates with any other\n * status may be deleted once their slot disappears from the event schedule.\n */\nexport const PRESERVED_RELATION_DATE_STATUSES: ReadonlySet<EnumInviteStatus> =\n new Set([\n EnumInviteStatus.ACCEPTED,\n EnumInviteStatus.COMPLETED,\n EnumInviteStatus.REJECTED,\n ]);\n","import { isTransientNetworkError } from \"./isTransientNetworkError\";\n\nexport const DEFAULT_USER_FACING_ERROR =\n \"Something went wrong. Please try again.\";\n\nexport const NETWORK_USER_FACING_ERROR =\n \"Unable to connect. Please check your internet connection and try again.\";\n\n/** Backend/infra messages that must never be shown to end users. */\nconst INTERNAL_ERROR_PATTERNS = [\n /connection\\s*<monitor>/i,\n /\\bmongo/i,\n /\\b\\d{1,3}(?:\\.\\d{1,3}){3}(?::\\d+)?\\b/,\n /\\beconn(?:refused|reset|aborted)\\b/i,\n /\\betimedout\\b/i,\n /\\benotfound\\b/i,\n /\\bsocket hang up\\b/i,\n /\\binternal server error\\b/i,\n /received status code 5\\d\\d/i,\n /\\bat\\s+\\S+\\s+\\([^)]+:\\d+:\\d+\\)/,\n] as const;\n\nexport function isInternalErrorMessage(message: string): boolean {\n return INTERNAL_ERROR_PATTERNS.some((pattern) => pattern.test(message));\n}\n\n/**\n * Maps raw API/client errors to a safe message for UI surfaces.\n * Keeps intentional product copy (e.g. \"Vendor not found\"); hides infra details.\n */\nexport function toUserFacingErrorMessage(\n error: string | null | undefined,\n fallback = DEFAULT_USER_FACING_ERROR,\n): string {\n const message = (error ?? \"\").trim();\n if (!message) return fallback;\n\n if (isTransientNetworkError(message)) {\n return NETWORK_USER_FACING_ERROR;\n }\n\n if (isInternalErrorMessage(message)) {\n return fallback;\n }\n\n return message;\n}\n\n/** Extracts and sanitizes an unknown catch/Apollo error for toasts and alerts. */\nexport function getErrorMessage(\n error: unknown,\n fallback = DEFAULT_USER_FACING_ERROR,\n): string {\n let raw: string | undefined;\n if (error instanceof Error) {\n raw = error.message;\n } else if (typeof error === \"string\") {\n raw = error;\n }\n\n return toUserFacingErrorMessage(raw, fallback);\n}\n"],"mappings":"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","names":[]}
|
|
@@ -263,6 +263,14 @@ var EnumReward = /* @__PURE__ */ ((EnumReward2) => {
|
|
|
263
263
|
EnumReward2["MYSTERY_DELUXE_BOX"] = "mystery_deluxe_box";
|
|
264
264
|
return EnumReward2;
|
|
265
265
|
})(EnumReward || {});
|
|
266
|
+
var EnumPointType = /* @__PURE__ */ ((EnumPointType2) => {
|
|
267
|
+
EnumPointType2["DAILY_CLUE_GAME"] = "daily_clue_game";
|
|
268
|
+
EnumPointType2["EVENT_CHECKIN"] = "event_checkin";
|
|
269
|
+
EnumPointType2["INITIAL"] = "initial";
|
|
270
|
+
EnumPointType2["MINI_QUIZ_GAME"] = "mini_quiz_game";
|
|
271
|
+
EnumPointType2["ODD_ONE_OUT_GAME"] = "odd_one_out_game";
|
|
272
|
+
return EnumPointType2;
|
|
273
|
+
})(EnumPointType || {});
|
|
266
274
|
|
|
267
275
|
export {
|
|
268
276
|
EnumInviteStatus,
|
|
@@ -289,6 +297,7 @@ export {
|
|
|
289
297
|
EnumEventDateStatus,
|
|
290
298
|
EnumSubscriptionStatus,
|
|
291
299
|
EnumBillingPeriod,
|
|
292
|
-
EnumReward
|
|
300
|
+
EnumReward,
|
|
301
|
+
EnumPointType
|
|
293
302
|
};
|
|
294
|
-
//# sourceMappingURL=chunk-
|
|
303
|
+
//# sourceMappingURL=chunk-XGGFB7HY.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/enums/index.ts"],"sourcesContent":["export enum EnumInviteStatus {\n ACCEPTED = \"Accepted\",\n COMPLETED = \"Completed\",\n EXPIRED = \"Expired\",\n NO_STATUS = \"No_Status\",\n PENDING = \"Pending\",\n REJECTED = \"Rejected\",\n UNAVAILABLE = \"Unavailable\",\n}\n\nexport enum EnumChatReportReason {\n INAPPROPRIATE_CONTENT = \"Inappropriate_Content\",\n HARASSMENT_OR_BULLYING = \"Harassment_or_Bullying\",\n HATE_SPEECH = \"Hate_Speech\",\n SPAM_OR_SCAM = \"Spam_or_Scam\",\n VIOLENCE_OR_DANGEROUS_BEHAVIOR = \"Violence_or_Dangerous_Behavior\",\n OTHER = \"Other\",\n}\n\nexport enum EnumChatType {\n GROUP = \"group\",\n PRIVATE = \"private\",\n}\n\nexport enum EnumPaymentMethod {\n CASH = \"cash\",\n EFTPOS = \"eftpos\",\n BANK_TRANSFER = \"bank_transfer\",\n PAYPAL = \"paypal\",\n STRIPE = \"stripe\",\n}\n\nexport enum EnumFoodFlavor {\n SALTY = \"Salty\",\n SAVOURY = \"Savoury\",\n SPICY = \"Spicy\",\n SWEET = \"Sweet\",\n OTHER = \"Not_Applicable\",\n}\n\nexport enum EnumFoodType {\n ADDITIVE_FREE = \"Additive_Free\",\n AIR_FRIED = \"Air_Fried\",\n ALLERGEN_FRIENDLY = \"Allergen_Friendly\",\n ATHLETE_FRIENDLY = \"Athlete_Friendly\",\n BAKED = \"Baked\",\n DAIRY_FREE = \"Dairy_Free\",\n DIABETIC_FRIENDLY = \"Diabetic_Friendly\",\n EGG_FREE = \"Egg_Free\",\n FRESH = \"Fresh\",\n GLUTEN_FREE = \"Gluten_Free\",\n GRILLED = \"Grilled\",\n HALAL = \"Halal\",\n HEART_HEALTHY = \"Heart_Healthy\",\n HIGH_FIBER = \"High_Fiber\",\n HIGH_PROTEIN = \"High_Protein\",\n KETO = \"Keto\",\n KOSHER = \"Kosher\",\n LACTOSE_FREE = \"Lactose_Free\",\n LOW_CALORIE = \"Low_Calorie\",\n LOW_CARB = \"Low_Carb\",\n LOW_FAT = \"Low_Fat\",\n LOW_SODIUM = \"Low_Sodium\",\n NO_ADDED_SUGAR = \"No_Added_Sugar\",\n NO_PRESERVATIVES = \"No_Preservatives\",\n NON_GMO = \"Non_GMO\",\n NUT_FREE = \"Nut_Free\",\n ORGANIC = \"Organic\",\n PALEO = \"Paleo\",\n PLANT_BASED = \"Plant_Based\",\n RAW = \"Raw\",\n SMOKED = \"Smoked\",\n SOY_FREE = \"Soy_Free\",\n SUGAR_FREE = \"Sugar_Free\",\n VEGAN = \"Vegan\",\n VEGETARIAN = \"Vegetarian\",\n}\n\nexport enum EnumResourceType {\n AFFILIATE = \"affiliate\",\n EVENT = \"event\",\n PARTNER = \"partner\",\n SCHOOL = \"school\",\n VENDOR = \"vendor\",\n VISITOR = \"visitor\",\n}\n\n/** `EnumResourceType` values that map to a stored resource — excludes the user-only `VISITOR` type. */\nexport type NonVisitorResourceType = Exclude<\n EnumResourceType,\n EnumResourceType.VISITOR\n>;\n\n/** Type guard that narrows an `EnumResourceType` to `NonVisitorResourceType`. */\nexport function isNonVisitorResourceType(\n value: EnumResourceType,\n): value is NonVisitorResourceType {\n return value !== EnumResourceType.VISITOR;\n}\n\nexport enum EnumEventType {\n MARKET = \"Market\",\n EXPO = \"Expo\",\n FAIR = \"Fair\",\n FESTIVAL = \"Festival\",\n}\n\nexport enum EnumVendorType {\n STALLHOLDER = \"Stallholder\",\n SHOP = \"Shop\",\n}\n\nexport enum EnumPartnerType {\n CHARITY_PARTNER = \"Charity_Partner\",\n MEDIA_PARTNER = \"Media_Partner\",\n SUPPORTING_PARTNER = \"Supporting_Partner\",\n}\n\nexport enum EnumOSPlatform {\n ANDROID = \"android\",\n IOS = \"ios\",\n WEB = \"web\",\n}\n\nexport enum EnumRelationResource {\n EVENT_INVITE_VENDOR = \"event_invite_vendor\",\n EVENT_UPDATE_RELATION_TO_VENDOR = \"event_update_relation_to_vendor\",\n VENDOR_UPDATE_RELATION_TO_EVENT = \"vendor_update_relation_to_event\",\n VENDOR_APPLICATION_TO_EVENT = \"vendor_application_to_event\",\n}\n\nexport enum EnumNotificationResourceType {\n AFFILIATE_REWARD_RECEIVED = \"affiliate_reward_received\",\n APPROVED_AFFILIATE = \"approved_affiliate\",\n APPROVED_EVENT = \"approved_event\",\n APPROVED_PARTNER = \"approved_partner\",\n APPROVED_SCHOOL = \"approved_school\",\n APPROVED_VENDOR = \"approved_vendor\",\n CREATED_EVENT = \"created_event\",\n CREATED_PARTNER = \"created_partner\",\n CREATED_VENDOR = \"created_vendor\",\n CREATED_COUPON = \"created_coupon\",\n DAILY_CLUE_GAME = \"daily_clue_game\",\n DEACTIVATED_EVENT = \"deactivated_event\",\n DEACTIVATED_PARTNER = \"deactivated_partner\",\n DEACTIVATED_VENDOR = \"deactivated_vendor\",\n DECLINED_EVENT = \"declined_event\",\n DECLINED_PARTNER = \"declined_partner\",\n DECLINED_VENDOR = \"declined_vendor\",\n DOWNGRADED_EVENT = \"downgraded_event\",\n DOWNGRADED_PARTNER = \"downgraded_partner\",\n DOWNGRADED_VENDOR = \"downgraded_vendor\",\n EVENT_DATE_CANCELED = \"event_date_canceled\",\n EVENT_INFO_CREATED = \"event_info_created\",\n EVENT_INVITE_VENDOR = EnumRelationResource.EVENT_INVITE_VENDOR,\n EVENT_STARTING_SOON = \"event_starting_soon\",\n EVENT_UPDATE_RELATION_TO_VENDOR = EnumRelationResource.EVENT_UPDATE_RELATION_TO_VENDOR,\n EXPIRATION_REMINDER_EVENT = \"expiration_reminder_event\",\n EXPIRATION_REMINDER_PARTNER = \"expiration_reminder_partner\",\n EXPIRATION_REMINDER_VENDOR = \"expiration_reminder_vendor\",\n NEW_CHAT_MESSAGE = \"new_chat_message\",\n NEW_POST_CREATED = \"new_post_created\",\n REGISTERED_USER_BY_SCHOOL_CODE = \"registered_user_by_school_code\",\n SYSTEM_ALERT = \"system_alert\",\n USER_COUPON_REDEEMED = \"user_coupon_redeemed\",\n VENDOR_APPLICATION_TO_EVENT = EnumRelationResource.VENDOR_APPLICATION_TO_EVENT,\n VENDOR_UPDATE_RELATION_TO_EVENT = EnumRelationResource.VENDOR_UPDATE_RELATION_TO_EVENT,\n}\n\nexport enum EnumNotificationType {\n CHAT = \"chat\",\n EVENT = EnumResourceType.EVENT,\n RELATION = \"relation\",\n SYSTEM = \"system\",\n VENDOR = EnumResourceType.VENDOR,\n}\n\nexport enum EnumRegions {\n All = \"All Regions\",\n Auckland = \"Auckland\",\n BayOfPlentyGisborne = \"Bay of Plenty & Gisborne\",\n CanterburyWestCoast = \"Canterbury & West Coast\",\n HawkesBay = \"Hawke's Bay\",\n ManawatuWanganui = \"Manawatu-Wanganui\",\n MarlboroughNelsonTasman = \"Marlborough & Nelson & Tasman\",\n Northland = \"Northland\",\n Otago = \"Otago\",\n Southland = \"Southland\",\n Taranaki = \"Taranaki\",\n Waikato = \"Waikato\",\n Wellington = \"Wellington\",\n}\n\nexport enum ImageTypeEnum {\n AVATAR = \"avatar\",\n COVER = \"cover\",\n IMAGE = \"image\",\n LOGO = \"logo\",\n}\n\nexport enum EnumUserLicence {\n PRO_EVENT = \"pro_event\",\n PRO_PLUS_EVENT = \"pro_plus_event\",\n PRO_PLUS_VENDOR = \"pro_plus_vendor\",\n PRO_VENDOR = \"pro_vendor\",\n STANDARD_EVENT = \"standard_event\",\n STANDARD_VENDOR = \"standard_vendor\",\n STANDARD_PARTNER = \"standard_partner\",\n STANDARD_AFFILIATE = \"standard_affiliate\",\n STANDARD_SCHOOL = \"standard_school\",\n}\n\nexport enum LicenceExpiryDate {\n ONE_YEAR = \"1 year\",\n ONE_MONTH = \"1 month\",\n TWO_MONTHS = \"2 months\",\n THREE_MONTHS = \"3 months\",\n SIX_MONTHS = \"6 months\",\n}\n\nexport enum EnumUserRole {\n ADMIN = \"admin\",\n AFFILIATE = \"affiliate\",\n CUSTOMER = \"customer\",\n EVENT = \"event\",\n PARTNER = \"partner\",\n SCHOOL = \"school\",\n SUPER_ADMIN = \"super_admin\",\n VENDOR = \"vendor\",\n}\n\nexport enum EnumSocialMedia {\n FACEBOOK = \"facebook\",\n INSTAGRAM = \"instagram\",\n TIKTOK = \"tiktok\",\n TWITTER = \"twitter\",\n WEBSITE = \"website\",\n YOUTUBE = \"youtube\",\n}\n\nexport enum EnumEventDateStatus {\n STARTING_SOON = \"Starting_Soon\",\n STARTED = \"Started\",\n TODAY = \"Today\",\n TOMORROW = \"Tomorrow\",\n THIS_WEEK = \"This_Week\",\n NEXT_WEEK = \"Next_Week\",\n UPCOMING = \"Upcoming\",\n ENDED = \"Ended\",\n RE_SCHEDULED = \"Rescheduled\",\n CANCELED = \"Canceled\",\n INVALID = \"Invalid\",\n}\n\nexport enum EnumSubscriptionStatus {\n ACTIVE = \"active\",\n INACTIVE = \"inactive\",\n CANCELLED = \"cancelled\",\n NO_SUBSCRIPTION = \"no_subscription\",\n PAST_DUE = \"past_due\",\n TRIALING = \"trialing\",\n}\n\nexport enum EnumBillingPeriod {\n MONTHLY_CANCEL_ANYTIME = \"monthly_cancel_anytime\",\n YEARLY_ANNUAL_BILLED = \"yearly_annual_billed\",\n}\n\nexport enum EnumReward {\n MYSTERY_JOY_BOX = \"mystery_joy_box\",\n MYSTERY_SQUEEZE_BOX = \"mystery_squeeze_box\",\n MYSTERY_DELUXE_BOX = \"mystery_deluxe_box\",\n}\n"],"mappings":"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","names":["EnumInviteStatus","EnumChatReportReason","EnumChatType","EnumPaymentMethod","EnumFoodFlavor","EnumFoodType","EnumResourceType","EnumEventType","EnumVendorType","EnumPartnerType","EnumOSPlatform","EnumRelationResource","EnumNotificationResourceType","EnumNotificationType","EnumRegions","ImageTypeEnum","EnumUserLicence","LicenceExpiryDate","EnumUserRole","EnumSocialMedia","EnumEventDateStatus","EnumSubscriptionStatus","EnumBillingPeriod","EnumReward"]}
|
|
1
|
+
{"version":3,"sources":["../src/enums/index.ts"],"sourcesContent":["export enum EnumInviteStatus {\n ACCEPTED = \"Accepted\",\n COMPLETED = \"Completed\",\n EXPIRED = \"Expired\",\n NO_STATUS = \"No_Status\",\n PENDING = \"Pending\",\n REJECTED = \"Rejected\",\n UNAVAILABLE = \"Unavailable\",\n}\n\nexport enum EnumChatReportReason {\n INAPPROPRIATE_CONTENT = \"Inappropriate_Content\",\n HARASSMENT_OR_BULLYING = \"Harassment_or_Bullying\",\n HATE_SPEECH = \"Hate_Speech\",\n SPAM_OR_SCAM = \"Spam_or_Scam\",\n VIOLENCE_OR_DANGEROUS_BEHAVIOR = \"Violence_or_Dangerous_Behavior\",\n OTHER = \"Other\",\n}\n\nexport enum EnumChatType {\n GROUP = \"group\",\n PRIVATE = \"private\",\n}\n\nexport enum EnumPaymentMethod {\n CASH = \"cash\",\n EFTPOS = \"eftpos\",\n BANK_TRANSFER = \"bank_transfer\",\n PAYPAL = \"paypal\",\n STRIPE = \"stripe\",\n}\n\nexport enum EnumFoodFlavor {\n SALTY = \"Salty\",\n SAVOURY = \"Savoury\",\n SPICY = \"Spicy\",\n SWEET = \"Sweet\",\n OTHER = \"Not_Applicable\",\n}\n\nexport enum EnumFoodType {\n ADDITIVE_FREE = \"Additive_Free\",\n AIR_FRIED = \"Air_Fried\",\n ALLERGEN_FRIENDLY = \"Allergen_Friendly\",\n ATHLETE_FRIENDLY = \"Athlete_Friendly\",\n BAKED = \"Baked\",\n DAIRY_FREE = \"Dairy_Free\",\n DIABETIC_FRIENDLY = \"Diabetic_Friendly\",\n EGG_FREE = \"Egg_Free\",\n FRESH = \"Fresh\",\n GLUTEN_FREE = \"Gluten_Free\",\n GRILLED = \"Grilled\",\n HALAL = \"Halal\",\n HEART_HEALTHY = \"Heart_Healthy\",\n HIGH_FIBER = \"High_Fiber\",\n HIGH_PROTEIN = \"High_Protein\",\n KETO = \"Keto\",\n KOSHER = \"Kosher\",\n LACTOSE_FREE = \"Lactose_Free\",\n LOW_CALORIE = \"Low_Calorie\",\n LOW_CARB = \"Low_Carb\",\n LOW_FAT = \"Low_Fat\",\n LOW_SODIUM = \"Low_Sodium\",\n NO_ADDED_SUGAR = \"No_Added_Sugar\",\n NO_PRESERVATIVES = \"No_Preservatives\",\n NON_GMO = \"Non_GMO\",\n NUT_FREE = \"Nut_Free\",\n ORGANIC = \"Organic\",\n PALEO = \"Paleo\",\n PLANT_BASED = \"Plant_Based\",\n RAW = \"Raw\",\n SMOKED = \"Smoked\",\n SOY_FREE = \"Soy_Free\",\n SUGAR_FREE = \"Sugar_Free\",\n VEGAN = \"Vegan\",\n VEGETARIAN = \"Vegetarian\",\n}\n\nexport enum EnumResourceType {\n AFFILIATE = \"affiliate\",\n EVENT = \"event\",\n PARTNER = \"partner\",\n SCHOOL = \"school\",\n VENDOR = \"vendor\",\n VISITOR = \"visitor\",\n}\n\n/** `EnumResourceType` values that map to a stored resource — excludes the user-only `VISITOR` type. */\nexport type NonVisitorResourceType = Exclude<\n EnumResourceType,\n EnumResourceType.VISITOR\n>;\n\n/** Type guard that narrows an `EnumResourceType` to `NonVisitorResourceType`. */\nexport function isNonVisitorResourceType(\n value: EnumResourceType,\n): value is NonVisitorResourceType {\n return value !== EnumResourceType.VISITOR;\n}\n\nexport enum EnumEventType {\n MARKET = \"Market\",\n EXPO = \"Expo\",\n FAIR = \"Fair\",\n FESTIVAL = \"Festival\",\n}\n\nexport enum EnumVendorType {\n STALLHOLDER = \"Stallholder\",\n SHOP = \"Shop\",\n}\n\nexport enum EnumPartnerType {\n CHARITY_PARTNER = \"Charity_Partner\",\n MEDIA_PARTNER = \"Media_Partner\",\n SUPPORTING_PARTNER = \"Supporting_Partner\",\n}\n\nexport enum EnumOSPlatform {\n ANDROID = \"android\",\n IOS = \"ios\",\n WEB = \"web\",\n}\n\nexport enum EnumRelationResource {\n EVENT_INVITE_VENDOR = \"event_invite_vendor\",\n EVENT_UPDATE_RELATION_TO_VENDOR = \"event_update_relation_to_vendor\",\n VENDOR_UPDATE_RELATION_TO_EVENT = \"vendor_update_relation_to_event\",\n VENDOR_APPLICATION_TO_EVENT = \"vendor_application_to_event\",\n}\n\nexport enum EnumNotificationResourceType {\n AFFILIATE_REWARD_RECEIVED = \"affiliate_reward_received\",\n APPROVED_AFFILIATE = \"approved_affiliate\",\n APPROVED_EVENT = \"approved_event\",\n APPROVED_PARTNER = \"approved_partner\",\n APPROVED_SCHOOL = \"approved_school\",\n APPROVED_VENDOR = \"approved_vendor\",\n CREATED_EVENT = \"created_event\",\n CREATED_PARTNER = \"created_partner\",\n CREATED_VENDOR = \"created_vendor\",\n CREATED_COUPON = \"created_coupon\",\n DAILY_CLUE_GAME = \"daily_clue_game\",\n DEACTIVATED_EVENT = \"deactivated_event\",\n DEACTIVATED_PARTNER = \"deactivated_partner\",\n DEACTIVATED_VENDOR = \"deactivated_vendor\",\n DECLINED_EVENT = \"declined_event\",\n DECLINED_PARTNER = \"declined_partner\",\n DECLINED_VENDOR = \"declined_vendor\",\n DOWNGRADED_EVENT = \"downgraded_event\",\n DOWNGRADED_PARTNER = \"downgraded_partner\",\n DOWNGRADED_VENDOR = \"downgraded_vendor\",\n EVENT_DATE_CANCELED = \"event_date_canceled\",\n EVENT_INFO_CREATED = \"event_info_created\",\n EVENT_INVITE_VENDOR = EnumRelationResource.EVENT_INVITE_VENDOR,\n EVENT_STARTING_SOON = \"event_starting_soon\",\n EVENT_UPDATE_RELATION_TO_VENDOR = EnumRelationResource.EVENT_UPDATE_RELATION_TO_VENDOR,\n EXPIRATION_REMINDER_EVENT = \"expiration_reminder_event\",\n EXPIRATION_REMINDER_PARTNER = \"expiration_reminder_partner\",\n EXPIRATION_REMINDER_VENDOR = \"expiration_reminder_vendor\",\n NEW_CHAT_MESSAGE = \"new_chat_message\",\n NEW_POST_CREATED = \"new_post_created\",\n REGISTERED_USER_BY_SCHOOL_CODE = \"registered_user_by_school_code\",\n SYSTEM_ALERT = \"system_alert\",\n USER_COUPON_REDEEMED = \"user_coupon_redeemed\",\n VENDOR_APPLICATION_TO_EVENT = EnumRelationResource.VENDOR_APPLICATION_TO_EVENT,\n VENDOR_UPDATE_RELATION_TO_EVENT = EnumRelationResource.VENDOR_UPDATE_RELATION_TO_EVENT,\n}\n\nexport enum EnumNotificationType {\n CHAT = \"chat\",\n EVENT = EnumResourceType.EVENT,\n RELATION = \"relation\",\n SYSTEM = \"system\",\n VENDOR = EnumResourceType.VENDOR,\n}\n\nexport enum EnumRegions {\n All = \"All Regions\",\n Auckland = \"Auckland\",\n BayOfPlentyGisborne = \"Bay of Plenty & Gisborne\",\n CanterburyWestCoast = \"Canterbury & West Coast\",\n HawkesBay = \"Hawke's Bay\",\n ManawatuWanganui = \"Manawatu-Wanganui\",\n MarlboroughNelsonTasman = \"Marlborough & Nelson & Tasman\",\n Northland = \"Northland\",\n Otago = \"Otago\",\n Southland = \"Southland\",\n Taranaki = \"Taranaki\",\n Waikato = \"Waikato\",\n Wellington = \"Wellington\",\n}\n\nexport enum ImageTypeEnum {\n AVATAR = \"avatar\",\n COVER = \"cover\",\n IMAGE = \"image\",\n LOGO = \"logo\",\n}\n\nexport enum EnumUserLicence {\n PRO_EVENT = \"pro_event\",\n PRO_PLUS_EVENT = \"pro_plus_event\",\n PRO_PLUS_VENDOR = \"pro_plus_vendor\",\n PRO_VENDOR = \"pro_vendor\",\n STANDARD_EVENT = \"standard_event\",\n STANDARD_VENDOR = \"standard_vendor\",\n STANDARD_PARTNER = \"standard_partner\",\n STANDARD_AFFILIATE = \"standard_affiliate\",\n STANDARD_SCHOOL = \"standard_school\",\n}\n\nexport enum LicenceExpiryDate {\n ONE_YEAR = \"1 year\",\n ONE_MONTH = \"1 month\",\n TWO_MONTHS = \"2 months\",\n THREE_MONTHS = \"3 months\",\n SIX_MONTHS = \"6 months\",\n}\n\nexport enum EnumUserRole {\n ADMIN = \"admin\",\n AFFILIATE = \"affiliate\",\n CUSTOMER = \"customer\",\n EVENT = \"event\",\n PARTNER = \"partner\",\n SCHOOL = \"school\",\n SUPER_ADMIN = \"super_admin\",\n VENDOR = \"vendor\",\n}\n\nexport enum EnumSocialMedia {\n FACEBOOK = \"facebook\",\n INSTAGRAM = \"instagram\",\n TIKTOK = \"tiktok\",\n TWITTER = \"twitter\",\n WEBSITE = \"website\",\n YOUTUBE = \"youtube\",\n}\n\nexport enum EnumEventDateStatus {\n STARTING_SOON = \"Starting_Soon\",\n STARTED = \"Started\",\n TODAY = \"Today\",\n TOMORROW = \"Tomorrow\",\n THIS_WEEK = \"This_Week\",\n NEXT_WEEK = \"Next_Week\",\n UPCOMING = \"Upcoming\",\n ENDED = \"Ended\",\n RE_SCHEDULED = \"Rescheduled\",\n CANCELED = \"Canceled\",\n INVALID = \"Invalid\",\n}\n\nexport enum EnumSubscriptionStatus {\n ACTIVE = \"active\",\n INACTIVE = \"inactive\",\n CANCELLED = \"cancelled\",\n NO_SUBSCRIPTION = \"no_subscription\",\n PAST_DUE = \"past_due\",\n TRIALING = \"trialing\",\n}\n\nexport enum EnumBillingPeriod {\n MONTHLY_CANCEL_ANYTIME = \"monthly_cancel_anytime\",\n YEARLY_ANNUAL_BILLED = \"yearly_annual_billed\",\n}\n\nexport enum EnumReward {\n MYSTERY_JOY_BOX = \"mystery_joy_box\",\n MYSTERY_SQUEEZE_BOX = \"mystery_squeeze_box\",\n MYSTERY_DELUXE_BOX = \"mystery_deluxe_box\",\n}\n\nexport enum EnumPointType {\n DAILY_CLUE_GAME = \"daily_clue_game\",\n EVENT_CHECKIN = \"event_checkin\",\n INITIAL = \"initial\",\n MINI_QUIZ_GAME = \"mini_quiz_game\",\n ODD_ONE_OUT_GAME = \"odd_one_out_game\",\n}\n"],"mappings":";AAAO,IAAK,mBAAL,kBAAKA,sBAAL;AACL,EAAAA,kBAAA,cAAW;AACX,EAAAA,kBAAA,eAAY;AACZ,EAAAA,kBAAA,aAAU;AACV,EAAAA,kBAAA,eAAY;AACZ,EAAAA,kBAAA,aAAU;AACV,EAAAA,kBAAA,cAAW;AACX,EAAAA,kBAAA,iBAAc;AAPJ,SAAAA;AAAA,GAAA;AAUL,IAAK,uBAAL,kBAAKC,0BAAL;AACL,EAAAA,sBAAA,2BAAwB;AACxB,EAAAA,sBAAA,4BAAyB;AACzB,EAAAA,sBAAA,iBAAc;AACd,EAAAA,sBAAA,kBAAe;AACf,EAAAA,sBAAA,oCAAiC;AACjC,EAAAA,sBAAA,WAAQ;AANE,SAAAA;AAAA,GAAA;AASL,IAAK,eAAL,kBAAKC,kBAAL;AACL,EAAAA,cAAA,WAAQ;AACR,EAAAA,cAAA,aAAU;AAFA,SAAAA;AAAA,GAAA;AAKL,IAAK,oBAAL,kBAAKC,uBAAL;AACL,EAAAA,mBAAA,UAAO;AACP,EAAAA,mBAAA,YAAS;AACT,EAAAA,mBAAA,mBAAgB;AAChB,EAAAA,mBAAA,YAAS;AACT,EAAAA,mBAAA,YAAS;AALC,SAAAA;AAAA,GAAA;AAQL,IAAK,iBAAL,kBAAKC,oBAAL;AACL,EAAAA,gBAAA,WAAQ;AACR,EAAAA,gBAAA,aAAU;AACV,EAAAA,gBAAA,WAAQ;AACR,EAAAA,gBAAA,WAAQ;AACR,EAAAA,gBAAA,WAAQ;AALE,SAAAA;AAAA,GAAA;AAQL,IAAK,eAAL,kBAAKC,kBAAL;AACL,EAAAA,cAAA,mBAAgB;AAChB,EAAAA,cAAA,eAAY;AACZ,EAAAA,cAAA,uBAAoB;AACpB,EAAAA,cAAA,sBAAmB;AACnB,EAAAA,cAAA,WAAQ;AACR,EAAAA,cAAA,gBAAa;AACb,EAAAA,cAAA,uBAAoB;AACpB,EAAAA,cAAA,cAAW;AACX,EAAAA,cAAA,WAAQ;AACR,EAAAA,cAAA,iBAAc;AACd,EAAAA,cAAA,aAAU;AACV,EAAAA,cAAA,WAAQ;AACR,EAAAA,cAAA,mBAAgB;AAChB,EAAAA,cAAA,gBAAa;AACb,EAAAA,cAAA,kBAAe;AACf,EAAAA,cAAA,UAAO;AACP,EAAAA,cAAA,YAAS;AACT,EAAAA,cAAA,kBAAe;AACf,EAAAA,cAAA,iBAAc;AACd,EAAAA,cAAA,cAAW;AACX,EAAAA,cAAA,aAAU;AACV,EAAAA,cAAA,gBAAa;AACb,EAAAA,cAAA,oBAAiB;AACjB,EAAAA,cAAA,sBAAmB;AACnB,EAAAA,cAAA,aAAU;AACV,EAAAA,cAAA,cAAW;AACX,EAAAA,cAAA,aAAU;AACV,EAAAA,cAAA,WAAQ;AACR,EAAAA,cAAA,iBAAc;AACd,EAAAA,cAAA,SAAM;AACN,EAAAA,cAAA,YAAS;AACT,EAAAA,cAAA,cAAW;AACX,EAAAA,cAAA,gBAAa;AACb,EAAAA,cAAA,WAAQ;AACR,EAAAA,cAAA,gBAAa;AAnCH,SAAAA;AAAA,GAAA;AAsCL,IAAK,mBAAL,kBAAKC,sBAAL;AACL,EAAAA,kBAAA,eAAY;AACZ,EAAAA,kBAAA,WAAQ;AACR,EAAAA,kBAAA,aAAU;AACV,EAAAA,kBAAA,YAAS;AACT,EAAAA,kBAAA,YAAS;AACT,EAAAA,kBAAA,aAAU;AANA,SAAAA;AAAA,GAAA;AAgBL,SAAS,yBACd,OACiC;AACjC,SAAO,UAAU;AACnB;AAEO,IAAK,gBAAL,kBAAKC,mBAAL;AACL,EAAAA,eAAA,YAAS;AACT,EAAAA,eAAA,UAAO;AACP,EAAAA,eAAA,UAAO;AACP,EAAAA,eAAA,cAAW;AAJD,SAAAA;AAAA,GAAA;AAOL,IAAK,iBAAL,kBAAKC,oBAAL;AACL,EAAAA,gBAAA,iBAAc;AACd,EAAAA,gBAAA,UAAO;AAFG,SAAAA;AAAA,GAAA;AAKL,IAAK,kBAAL,kBAAKC,qBAAL;AACL,EAAAA,iBAAA,qBAAkB;AAClB,EAAAA,iBAAA,mBAAgB;AAChB,EAAAA,iBAAA,wBAAqB;AAHX,SAAAA;AAAA,GAAA;AAML,IAAK,iBAAL,kBAAKC,oBAAL;AACL,EAAAA,gBAAA,aAAU;AACV,EAAAA,gBAAA,SAAM;AACN,EAAAA,gBAAA,SAAM;AAHI,SAAAA;AAAA,GAAA;AAML,IAAK,uBAAL,kBAAKC,0BAAL;AACL,EAAAA,sBAAA,yBAAsB;AACtB,EAAAA,sBAAA,qCAAkC;AAClC,EAAAA,sBAAA,qCAAkC;AAClC,EAAAA,sBAAA,iCAA8B;AAJpB,SAAAA;AAAA,GAAA;AAOL,IAAK,+BAAL,kBAAKC,kCAAL;AACL,EAAAA,8BAAA,+BAA4B;AAC5B,EAAAA,8BAAA,wBAAqB;AACrB,EAAAA,8BAAA,oBAAiB;AACjB,EAAAA,8BAAA,sBAAmB;AACnB,EAAAA,8BAAA,qBAAkB;AAClB,EAAAA,8BAAA,qBAAkB;AAClB,EAAAA,8BAAA,mBAAgB;AAChB,EAAAA,8BAAA,qBAAkB;AAClB,EAAAA,8BAAA,oBAAiB;AACjB,EAAAA,8BAAA,oBAAiB;AACjB,EAAAA,8BAAA,qBAAkB;AAClB,EAAAA,8BAAA,uBAAoB;AACpB,EAAAA,8BAAA,yBAAsB;AACtB,EAAAA,8BAAA,wBAAqB;AACrB,EAAAA,8BAAA,oBAAiB;AACjB,EAAAA,8BAAA,sBAAmB;AACnB,EAAAA,8BAAA,qBAAkB;AAClB,EAAAA,8BAAA,sBAAmB;AACnB,EAAAA,8BAAA,wBAAqB;AACrB,EAAAA,8BAAA,uBAAoB;AACpB,EAAAA,8BAAA,yBAAsB;AACtB,EAAAA,8BAAA,wBAAqB;AACrB,EAAAA,8BAAA,yBAAsB;AACtB,EAAAA,8BAAA,yBAAsB;AACtB,EAAAA,8BAAA,qCAAkC;AAClC,EAAAA,8BAAA,+BAA4B;AAC5B,EAAAA,8BAAA,iCAA8B;AAC9B,EAAAA,8BAAA,gCAA6B;AAC7B,EAAAA,8BAAA,sBAAmB;AACnB,EAAAA,8BAAA,sBAAmB;AACnB,EAAAA,8BAAA,oCAAiC;AACjC,EAAAA,8BAAA,kBAAe;AACf,EAAAA,8BAAA,0BAAuB;AACvB,EAAAA,8BAAA,iCAA8B;AAC9B,EAAAA,8BAAA,qCAAkC;AAnCxB,SAAAA;AAAA,GAAA;AAsCL,IAAK,uBAAL,kBAAKC,0BAAL;AACL,EAAAA,sBAAA,UAAO;AACP,EAAAA,sBAAA,WAAQ;AACR,EAAAA,sBAAA,cAAW;AACX,EAAAA,sBAAA,YAAS;AACT,EAAAA,sBAAA,YAAS;AALC,SAAAA;AAAA,GAAA;AAQL,IAAK,cAAL,kBAAKC,iBAAL;AACL,EAAAA,aAAA,SAAM;AACN,EAAAA,aAAA,cAAW;AACX,EAAAA,aAAA,yBAAsB;AACtB,EAAAA,aAAA,yBAAsB;AACtB,EAAAA,aAAA,eAAY;AACZ,EAAAA,aAAA,sBAAmB;AACnB,EAAAA,aAAA,6BAA0B;AAC1B,EAAAA,aAAA,eAAY;AACZ,EAAAA,aAAA,WAAQ;AACR,EAAAA,aAAA,eAAY;AACZ,EAAAA,aAAA,cAAW;AACX,EAAAA,aAAA,aAAU;AACV,EAAAA,aAAA,gBAAa;AAbH,SAAAA;AAAA,GAAA;AAgBL,IAAK,gBAAL,kBAAKC,mBAAL;AACL,EAAAA,eAAA,YAAS;AACT,EAAAA,eAAA,WAAQ;AACR,EAAAA,eAAA,WAAQ;AACR,EAAAA,eAAA,UAAO;AAJG,SAAAA;AAAA,GAAA;AAOL,IAAK,kBAAL,kBAAKC,qBAAL;AACL,EAAAA,iBAAA,eAAY;AACZ,EAAAA,iBAAA,oBAAiB;AACjB,EAAAA,iBAAA,qBAAkB;AAClB,EAAAA,iBAAA,gBAAa;AACb,EAAAA,iBAAA,oBAAiB;AACjB,EAAAA,iBAAA,qBAAkB;AAClB,EAAAA,iBAAA,sBAAmB;AACnB,EAAAA,iBAAA,wBAAqB;AACrB,EAAAA,iBAAA,qBAAkB;AATR,SAAAA;AAAA,GAAA;AAYL,IAAK,oBAAL,kBAAKC,uBAAL;AACL,EAAAA,mBAAA,cAAW;AACX,EAAAA,mBAAA,eAAY;AACZ,EAAAA,mBAAA,gBAAa;AACb,EAAAA,mBAAA,kBAAe;AACf,EAAAA,mBAAA,gBAAa;AALH,SAAAA;AAAA,GAAA;AAQL,IAAK,eAAL,kBAAKC,kBAAL;AACL,EAAAA,cAAA,WAAQ;AACR,EAAAA,cAAA,eAAY;AACZ,EAAAA,cAAA,cAAW;AACX,EAAAA,cAAA,WAAQ;AACR,EAAAA,cAAA,aAAU;AACV,EAAAA,cAAA,YAAS;AACT,EAAAA,cAAA,iBAAc;AACd,EAAAA,cAAA,YAAS;AARC,SAAAA;AAAA,GAAA;AAWL,IAAK,kBAAL,kBAAKC,qBAAL;AACL,EAAAA,iBAAA,cAAW;AACX,EAAAA,iBAAA,eAAY;AACZ,EAAAA,iBAAA,YAAS;AACT,EAAAA,iBAAA,aAAU;AACV,EAAAA,iBAAA,aAAU;AACV,EAAAA,iBAAA,aAAU;AANA,SAAAA;AAAA,GAAA;AASL,IAAK,sBAAL,kBAAKC,yBAAL;AACL,EAAAA,qBAAA,mBAAgB;AAChB,EAAAA,qBAAA,aAAU;AACV,EAAAA,qBAAA,WAAQ;AACR,EAAAA,qBAAA,cAAW;AACX,EAAAA,qBAAA,eAAY;AACZ,EAAAA,qBAAA,eAAY;AACZ,EAAAA,qBAAA,cAAW;AACX,EAAAA,qBAAA,WAAQ;AACR,EAAAA,qBAAA,kBAAe;AACf,EAAAA,qBAAA,cAAW;AACX,EAAAA,qBAAA,aAAU;AAXA,SAAAA;AAAA,GAAA;AAcL,IAAK,yBAAL,kBAAKC,4BAAL;AACL,EAAAA,wBAAA,YAAS;AACT,EAAAA,wBAAA,cAAW;AACX,EAAAA,wBAAA,eAAY;AACZ,EAAAA,wBAAA,qBAAkB;AAClB,EAAAA,wBAAA,cAAW;AACX,EAAAA,wBAAA,cAAW;AAND,SAAAA;AAAA,GAAA;AASL,IAAK,oBAAL,kBAAKC,uBAAL;AACL,EAAAA,mBAAA,4BAAyB;AACzB,EAAAA,mBAAA,0BAAuB;AAFb,SAAAA;AAAA,GAAA;AAKL,IAAK,aAAL,kBAAKC,gBAAL;AACL,EAAAA,YAAA,qBAAkB;AAClB,EAAAA,YAAA,yBAAsB;AACtB,EAAAA,YAAA,wBAAqB;AAHX,SAAAA;AAAA,GAAA;AAML,IAAK,gBAAL,kBAAKC,mBAAL;AACL,EAAAA,eAAA,qBAAkB;AAClB,EAAAA,eAAA,mBAAgB;AAChB,EAAAA,eAAA,aAAU;AACV,EAAAA,eAAA,oBAAiB;AACjB,EAAAA,eAAA,sBAAmB;AALT,SAAAA;AAAA,GAAA;","names":["EnumInviteStatus","EnumChatReportReason","EnumChatType","EnumPaymentMethod","EnumFoodFlavor","EnumFoodType","EnumResourceType","EnumEventType","EnumVendorType","EnumPartnerType","EnumOSPlatform","EnumRelationResource","EnumNotificationResourceType","EnumNotificationType","EnumRegions","ImageTypeEnum","EnumUserLicence","LicenceExpiryDate","EnumUserRole","EnumSocialMedia","EnumEventDateStatus","EnumSubscriptionStatus","EnumBillingPeriod","EnumReward","EnumPointType"]}
|
package/dist/enums/index.cjs
CHANGED
|
@@ -33,6 +33,7 @@ __export(enums_exports, {
|
|
|
33
33
|
EnumOSPlatform: () => EnumOSPlatform,
|
|
34
34
|
EnumPartnerType: () => EnumPartnerType,
|
|
35
35
|
EnumPaymentMethod: () => EnumPaymentMethod,
|
|
36
|
+
EnumPointType: () => EnumPointType,
|
|
36
37
|
EnumRegions: () => EnumRegions,
|
|
37
38
|
EnumRelationResource: () => EnumRelationResource,
|
|
38
39
|
EnumResourceType: () => EnumResourceType,
|
|
@@ -311,6 +312,14 @@ var EnumReward = /* @__PURE__ */ ((EnumReward2) => {
|
|
|
311
312
|
EnumReward2["MYSTERY_DELUXE_BOX"] = "mystery_deluxe_box";
|
|
312
313
|
return EnumReward2;
|
|
313
314
|
})(EnumReward || {});
|
|
315
|
+
var EnumPointType = /* @__PURE__ */ ((EnumPointType2) => {
|
|
316
|
+
EnumPointType2["DAILY_CLUE_GAME"] = "daily_clue_game";
|
|
317
|
+
EnumPointType2["EVENT_CHECKIN"] = "event_checkin";
|
|
318
|
+
EnumPointType2["INITIAL"] = "initial";
|
|
319
|
+
EnumPointType2["MINI_QUIZ_GAME"] = "mini_quiz_game";
|
|
320
|
+
EnumPointType2["ODD_ONE_OUT_GAME"] = "odd_one_out_game";
|
|
321
|
+
return EnumPointType2;
|
|
322
|
+
})(EnumPointType || {});
|
|
314
323
|
// Annotate the CommonJS export names for ESM import in node:
|
|
315
324
|
0 && (module.exports = {
|
|
316
325
|
EnumBillingPeriod,
|
|
@@ -326,6 +335,7 @@ var EnumReward = /* @__PURE__ */ ((EnumReward2) => {
|
|
|
326
335
|
EnumOSPlatform,
|
|
327
336
|
EnumPartnerType,
|
|
328
337
|
EnumPaymentMethod,
|
|
338
|
+
EnumPointType,
|
|
329
339
|
EnumRegions,
|
|
330
340
|
EnumRelationResource,
|
|
331
341
|
EnumResourceType,
|