@timardex/cluemart-shared 1.5.505 → 1.5.507
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/{chunk-VJIFUOVU.mjs → chunk-4WFONMIT.mjs} +94 -78
- package/dist/chunk-4WFONMIT.mjs.map +1 -0
- package/dist/{chunk-UA64PDR4.mjs → chunk-DXMM2ANI.mjs} +2 -2
- package/dist/formFields/index.cjs +5 -8
- package/dist/formFields/index.cjs.map +1 -1
- package/dist/formFields/index.mjs +2 -2
- package/dist/hooks/index.cjs +18 -21
- package/dist/hooks/index.cjs.map +1 -1
- package/dist/hooks/index.mjs +2 -2
- package/dist/index.cjs +105 -90
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.mjs +104 -90
- package/dist/index.mjs.map +1 -1
- package/dist/utils/index.cjs +92 -77
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.d.mts +3 -1
- package/dist/utils/index.d.ts +3 -1
- package/dist/utils/index.mjs +3 -1
- package/package.json +1 -1
- package/dist/chunk-VJIFUOVU.mjs.map +0 -1
- /package/dist/{chunk-UA64PDR4.mjs.map → chunk-DXMM2ANI.mjs.map} +0 -0
package/dist/hooks/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "../chunk-
|
|
1
|
+
import "../chunk-DXMM2ANI.mjs";
|
|
2
2
|
import "../chunk-RQDZX76B.mjs";
|
|
3
3
|
import "../chunk-DWO35OY4.mjs";
|
|
4
4
|
import "../chunk-I7WE3EBR.mjs";
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
dateFormat,
|
|
15
15
|
normalizeUrl,
|
|
16
16
|
timeFormat
|
|
17
|
-
} from "../chunk-
|
|
17
|
+
} from "../chunk-4WFONMIT.mjs";
|
|
18
18
|
import {
|
|
19
19
|
EnumEventDateStatus,
|
|
20
20
|
EnumEventType,
|
package/dist/index.cjs
CHANGED
|
@@ -109,6 +109,7 @@ __export(index_exports, {
|
|
|
109
109
|
mapArrayToOptions: () => mapArrayToOptions,
|
|
110
110
|
mapBaseResourceTypeToFormData: () => mapBaseResourceTypeToFormData,
|
|
111
111
|
normalizeUrl: () => normalizeUrl,
|
|
112
|
+
nzStartOfDay: () => nzStartOfDay,
|
|
112
113
|
packagingOptions: () => packagingOptions,
|
|
113
114
|
partnerBasicInfoFields: () => partnerBasicInfoFields,
|
|
114
115
|
paymentMethodOptions: () => paymentMethodOptions,
|
|
@@ -729,9 +730,6 @@ var priceUnits = [
|
|
|
729
730
|
{ label: "Half dozen", value: "HALF_DOZEN" }
|
|
730
731
|
];
|
|
731
732
|
|
|
732
|
-
// src/utils/dailyClueGame.ts
|
|
733
|
-
var import_dayjs = __toESM(require("dayjs"));
|
|
734
|
-
|
|
735
733
|
// src/types/game.ts
|
|
736
734
|
var gameScreenIdentifierList = [
|
|
737
735
|
{
|
|
@@ -844,6 +842,81 @@ var EnumGameStatus = /* @__PURE__ */ ((EnumGameStatus2) => {
|
|
|
844
842
|
return EnumGameStatus2;
|
|
845
843
|
})(EnumGameStatus || {});
|
|
846
844
|
|
|
845
|
+
// src/utils/date.ts
|
|
846
|
+
var import_dayjs = __toESM(require("dayjs"));
|
|
847
|
+
var import_customParseFormat = __toESM(require("dayjs/plugin/customParseFormat.js"));
|
|
848
|
+
var import_isSameOrAfter = __toESM(require("dayjs/plugin/isSameOrAfter.js"));
|
|
849
|
+
var import_timezone = __toESM(require("dayjs/plugin/timezone.js"));
|
|
850
|
+
var import_utc = __toESM(require("dayjs/plugin/utc.js"));
|
|
851
|
+
var dateFormat = "DD-MM-YYYY";
|
|
852
|
+
var timeFormat = "HH:mm";
|
|
853
|
+
import_dayjs.default.extend(import_customParseFormat.default);
|
|
854
|
+
import_dayjs.default.extend(import_utc.default);
|
|
855
|
+
import_dayjs.default.extend(import_timezone.default);
|
|
856
|
+
import_dayjs.default.extend(import_isSameOrAfter.default);
|
|
857
|
+
var NZ_TZ = "Pacific/Auckland";
|
|
858
|
+
function toNZTime(date3) {
|
|
859
|
+
return date3 ? (0, import_dayjs.default)(date3).tz(NZ_TZ) : (0, import_dayjs.default)().tz(NZ_TZ);
|
|
860
|
+
}
|
|
861
|
+
function nzStartOfDay(input) {
|
|
862
|
+
if (input == null) {
|
|
863
|
+
return (0, import_dayjs.default)().tz(NZ_TZ).startOf("day");
|
|
864
|
+
}
|
|
865
|
+
return import_dayjs.default.tz(input, NZ_TZ).startOf("day");
|
|
866
|
+
}
|
|
867
|
+
var formatDate = (dateStr, display = "datetime", timeStr) => {
|
|
868
|
+
const dateTimeStr = timeStr ? `${dateStr} ${timeStr}` : dateStr;
|
|
869
|
+
const dateTime = timeStr ? (0, import_dayjs.default)(dateTimeStr, `${dateFormat} ${timeFormat}`) : (0, import_dayjs.default)(dateStr, dateFormat);
|
|
870
|
+
const formattedDate = dateTime.format("dddd, D MMMM, YYYY");
|
|
871
|
+
const formattedTime = dateTime.format("h:mm a");
|
|
872
|
+
switch (display) {
|
|
873
|
+
case "date":
|
|
874
|
+
return formattedDate;
|
|
875
|
+
case "time":
|
|
876
|
+
return formattedTime;
|
|
877
|
+
case "datetime":
|
|
878
|
+
return `${formattedDate} at ${formattedTime}`;
|
|
879
|
+
default:
|
|
880
|
+
return formattedDate;
|
|
881
|
+
}
|
|
882
|
+
};
|
|
883
|
+
var getCurrentAndFutureDates = (dates) => {
|
|
884
|
+
const now = (0, import_dayjs.default)();
|
|
885
|
+
return dates.filter((dateObj) => {
|
|
886
|
+
const dateTime = (0, import_dayjs.default)(
|
|
887
|
+
`${dateObj.startDate} ${dateObj.startTime}`,
|
|
888
|
+
`${dateFormat} ${timeFormat}`
|
|
889
|
+
);
|
|
890
|
+
return dateTime.isSameOrAfter(now);
|
|
891
|
+
});
|
|
892
|
+
};
|
|
893
|
+
var isFutureDatesBeforeThreshold = (date3, minHoursFromNow) => {
|
|
894
|
+
const threshold = minHoursFromNow ? (0, import_dayjs.default)().add(minHoursFromNow, "hour") : (0, import_dayjs.default)().startOf("day");
|
|
895
|
+
const dateTime = (0, import_dayjs.default)(
|
|
896
|
+
`${date3.startDate} ${date3.startTime}`,
|
|
897
|
+
`${dateFormat} ${timeFormat}`
|
|
898
|
+
);
|
|
899
|
+
return dateTime.isSameOrAfter(threshold);
|
|
900
|
+
};
|
|
901
|
+
var formatTimestamp = (timestamp) => {
|
|
902
|
+
const formattedDate = toNZTime(timestamp).format(dateFormat);
|
|
903
|
+
return formatDate(formattedDate, "date");
|
|
904
|
+
};
|
|
905
|
+
var isIsoDateString = (value) => {
|
|
906
|
+
return typeof value === "string" && !isNaN(Date.parse(value));
|
|
907
|
+
};
|
|
908
|
+
function sortDatesChronologically(dates) {
|
|
909
|
+
if (!dates || !dates.length) {
|
|
910
|
+
return [];
|
|
911
|
+
}
|
|
912
|
+
return [...dates].sort((a, b) => {
|
|
913
|
+
const dateTimeFormat = `${dateFormat} ${timeFormat}`;
|
|
914
|
+
const dateA = (0, import_dayjs.default)(`${a.startDate} ${a.startTime}`, dateTimeFormat);
|
|
915
|
+
const dateB = (0, import_dayjs.default)(`${b.startDate} ${b.startTime}`, dateTimeFormat);
|
|
916
|
+
return dateA.valueOf() - dateB.valueOf();
|
|
917
|
+
});
|
|
918
|
+
}
|
|
919
|
+
|
|
847
920
|
// src/utils/dailyClueGame.ts
|
|
848
921
|
function createSeededRng(seed) {
|
|
849
922
|
let t = seed >>> 0;
|
|
@@ -878,9 +951,9 @@ function getDayIndex(start, today) {
|
|
|
878
951
|
function computeDailyClueState(dailyClue) {
|
|
879
952
|
const { startDate, endDate } = dailyClue.gameFields.gameDate;
|
|
880
953
|
const { shuffled, collected } = dailyClue.letterInfo;
|
|
881
|
-
const today = (
|
|
882
|
-
const start = (
|
|
883
|
-
const end = (
|
|
954
|
+
const today = nzStartOfDay();
|
|
955
|
+
const start = nzStartOfDay(startDate);
|
|
956
|
+
const end = nzStartOfDay(endDate);
|
|
884
957
|
const shuffledPlacements = seededShuffle(
|
|
885
958
|
gameScreenIdentifierList,
|
|
886
959
|
start.toISOString()
|
|
@@ -903,8 +976,18 @@ function computeDailyClueState(dailyClue) {
|
|
|
903
976
|
}
|
|
904
977
|
const index = getDayIndex(start, today);
|
|
905
978
|
if (index < 0 || index >= shuffled.length) return null;
|
|
906
|
-
|
|
907
|
-
|
|
979
|
+
const letterToday = shuffled[index]?.trim().toLowerCase();
|
|
980
|
+
if (!letterToday) return null;
|
|
981
|
+
const alreadyHaveTodaysSlot = (collected ?? []).some(
|
|
982
|
+
(l) => l.trim().toLowerCase() === letterToday
|
|
983
|
+
);
|
|
984
|
+
if (alreadyHaveTodaysSlot) {
|
|
985
|
+
return {
|
|
986
|
+
gameHistory: null,
|
|
987
|
+
todaysClue: null,
|
|
988
|
+
todaysLetter: null,
|
|
989
|
+
todaysPlacement: null
|
|
990
|
+
};
|
|
908
991
|
}
|
|
909
992
|
return {
|
|
910
993
|
gameHistory: null,
|
|
@@ -914,75 +997,6 @@ function computeDailyClueState(dailyClue) {
|
|
|
914
997
|
};
|
|
915
998
|
}
|
|
916
999
|
|
|
917
|
-
// src/utils/date.ts
|
|
918
|
-
var import_dayjs2 = __toESM(require("dayjs"));
|
|
919
|
-
var import_customParseFormat = __toESM(require("dayjs/plugin/customParseFormat.js"));
|
|
920
|
-
var import_isSameOrAfter = __toESM(require("dayjs/plugin/isSameOrAfter.js"));
|
|
921
|
-
var import_timezone = __toESM(require("dayjs/plugin/timezone.js"));
|
|
922
|
-
var import_utc = __toESM(require("dayjs/plugin/utc.js"));
|
|
923
|
-
var dateFormat = "DD-MM-YYYY";
|
|
924
|
-
var timeFormat = "HH:mm";
|
|
925
|
-
import_dayjs2.default.extend(import_customParseFormat.default);
|
|
926
|
-
import_dayjs2.default.extend(import_utc.default);
|
|
927
|
-
import_dayjs2.default.extend(import_timezone.default);
|
|
928
|
-
import_dayjs2.default.extend(import_isSameOrAfter.default);
|
|
929
|
-
var NZ_TZ = "Pacific/Auckland";
|
|
930
|
-
function toNZTime(date3) {
|
|
931
|
-
return date3 ? (0, import_dayjs2.default)(date3).tz(NZ_TZ) : (0, import_dayjs2.default)().tz(NZ_TZ);
|
|
932
|
-
}
|
|
933
|
-
var formatDate = (dateStr, display = "datetime", timeStr) => {
|
|
934
|
-
const dateTimeStr = timeStr ? `${dateStr} ${timeStr}` : dateStr;
|
|
935
|
-
const dateTime = timeStr ? (0, import_dayjs2.default)(dateTimeStr, `${dateFormat} ${timeFormat}`) : (0, import_dayjs2.default)(dateStr, dateFormat);
|
|
936
|
-
const formattedDate = dateTime.format("dddd, D MMMM, YYYY");
|
|
937
|
-
const formattedTime = dateTime.format("h:mm a");
|
|
938
|
-
switch (display) {
|
|
939
|
-
case "date":
|
|
940
|
-
return formattedDate;
|
|
941
|
-
case "time":
|
|
942
|
-
return formattedTime;
|
|
943
|
-
case "datetime":
|
|
944
|
-
return `${formattedDate} at ${formattedTime}`;
|
|
945
|
-
default:
|
|
946
|
-
return formattedDate;
|
|
947
|
-
}
|
|
948
|
-
};
|
|
949
|
-
var getCurrentAndFutureDates = (dates) => {
|
|
950
|
-
const now = (0, import_dayjs2.default)();
|
|
951
|
-
return dates.filter((dateObj) => {
|
|
952
|
-
const dateTime = (0, import_dayjs2.default)(
|
|
953
|
-
`${dateObj.startDate} ${dateObj.startTime}`,
|
|
954
|
-
`${dateFormat} ${timeFormat}`
|
|
955
|
-
);
|
|
956
|
-
return dateTime.isSameOrAfter(now);
|
|
957
|
-
});
|
|
958
|
-
};
|
|
959
|
-
var isFutureDatesBeforeThreshold = (date3, minHoursFromNow) => {
|
|
960
|
-
const threshold = minHoursFromNow ? (0, import_dayjs2.default)().add(minHoursFromNow, "hour") : (0, import_dayjs2.default)().startOf("day");
|
|
961
|
-
const dateTime = (0, import_dayjs2.default)(
|
|
962
|
-
`${date3.startDate} ${date3.startTime}`,
|
|
963
|
-
`${dateFormat} ${timeFormat}`
|
|
964
|
-
);
|
|
965
|
-
return dateTime.isSameOrAfter(threshold);
|
|
966
|
-
};
|
|
967
|
-
var formatTimestamp = (timestamp) => {
|
|
968
|
-
const formattedDate = toNZTime(timestamp).format(dateFormat);
|
|
969
|
-
return formatDate(formattedDate, "date");
|
|
970
|
-
};
|
|
971
|
-
var isIsoDateString = (value) => {
|
|
972
|
-
return typeof value === "string" && !isNaN(Date.parse(value));
|
|
973
|
-
};
|
|
974
|
-
function sortDatesChronologically(dates) {
|
|
975
|
-
if (!dates || !dates.length) {
|
|
976
|
-
return [];
|
|
977
|
-
}
|
|
978
|
-
return [...dates].sort((a, b) => {
|
|
979
|
-
const dateTimeFormat = `${dateFormat} ${timeFormat}`;
|
|
980
|
-
const dateA = (0, import_dayjs2.default)(`${a.startDate} ${a.startTime}`, dateTimeFormat);
|
|
981
|
-
const dateB = (0, import_dayjs2.default)(`${b.startDate} ${b.startTime}`, dateTimeFormat);
|
|
982
|
-
return dateA.valueOf() - dateB.valueOf();
|
|
983
|
-
});
|
|
984
|
-
}
|
|
985
|
-
|
|
986
1000
|
// src/utils/utils.ts
|
|
987
1001
|
var removeTypename = (obj) => {
|
|
988
1002
|
if (obj instanceof Date) {
|
|
@@ -6506,7 +6520,7 @@ var React = __toESM(require("react"));
|
|
|
6506
6520
|
var import_react_hook_form = require("react-hook-form");
|
|
6507
6521
|
|
|
6508
6522
|
// src/yupSchema/global.ts
|
|
6509
|
-
var
|
|
6523
|
+
var import_dayjs2 = __toESM(require("dayjs"));
|
|
6510
6524
|
var import_customParseFormat2 = __toESM(require("dayjs/plugin/customParseFormat.js"));
|
|
6511
6525
|
var import_isSameOrAfter2 = __toESM(require("dayjs/plugin/isSameOrAfter.js"));
|
|
6512
6526
|
var yup = __toESM(require("yup"));
|
|
@@ -6535,8 +6549,8 @@ var noLeadingZeros = (fieldName, options = {}) => {
|
|
|
6535
6549
|
return true;
|
|
6536
6550
|
};
|
|
6537
6551
|
};
|
|
6538
|
-
|
|
6539
|
-
|
|
6552
|
+
import_dayjs2.default.extend(import_isSameOrAfter2.default);
|
|
6553
|
+
import_dayjs2.default.extend(import_customParseFormat2.default);
|
|
6540
6554
|
var emailRequiredSchema = yup.string().email("Invalid email address").required("Email is required").label("Email").transform(
|
|
6541
6555
|
(value) => typeof value === "string" ? value.trim().toLowerCase() : value
|
|
6542
6556
|
);
|
|
@@ -6567,12 +6581,12 @@ var contactDetailsSchema = yup.object({
|
|
|
6567
6581
|
landlinePhone: landlinePhoneSchema
|
|
6568
6582
|
}).nullable().default(void 0);
|
|
6569
6583
|
var endDateNotInPastTest = yup.string().test("not-in-past", "End date cannot be in the past", (value) => {
|
|
6570
|
-
const now = (0,
|
|
6571
|
-
return value ? (0,
|
|
6584
|
+
const now = (0, import_dayjs2.default)();
|
|
6585
|
+
return value ? (0, import_dayjs2.default)(value, dateFormat, true).isSameOrAfter(now, "day") : false;
|
|
6572
6586
|
});
|
|
6573
6587
|
var startDateNotInPastTest = yup.string().test("not-in-past", "Start date cannot be in the past", (value) => {
|
|
6574
|
-
const now = (0,
|
|
6575
|
-
return value ? (0,
|
|
6588
|
+
const now = (0, import_dayjs2.default)();
|
|
6589
|
+
return value ? (0, import_dayjs2.default)(value, dateFormat, true).isSameOrAfter(now, "day") : false;
|
|
6576
6590
|
});
|
|
6577
6591
|
var endDateAfterStartDateTest = yup.string().test(
|
|
6578
6592
|
"end-after-start",
|
|
@@ -6580,8 +6594,8 @@ var endDateAfterStartDateTest = yup.string().test(
|
|
|
6580
6594
|
function(value) {
|
|
6581
6595
|
const { startDate } = this.parent;
|
|
6582
6596
|
if (!startDate || !value) return false;
|
|
6583
|
-
return (0,
|
|
6584
|
-
(0,
|
|
6597
|
+
return (0, import_dayjs2.default)(value, dateFormat, true).isSameOrAfter(
|
|
6598
|
+
(0, import_dayjs2.default)(startDate, dateFormat, true),
|
|
6585
6599
|
"day"
|
|
6586
6600
|
);
|
|
6587
6601
|
}
|
|
@@ -6592,12 +6606,12 @@ var endTimeMustBeAfterStartTimeTest = yup.string().test(
|
|
|
6592
6606
|
function(value) {
|
|
6593
6607
|
const { startDate, endDate, startTime } = this.parent;
|
|
6594
6608
|
if (!startDate || !endDate || !startTime || !value) return false;
|
|
6595
|
-
const startDateTime = (0,
|
|
6609
|
+
const startDateTime = (0, import_dayjs2.default)(
|
|
6596
6610
|
`${startDate} ${startTime}`,
|
|
6597
6611
|
`${dateFormat} ${timeFormat}`,
|
|
6598
6612
|
true
|
|
6599
6613
|
);
|
|
6600
|
-
const endDateTime = (0,
|
|
6614
|
+
const endDateTime = (0, import_dayjs2.default)(
|
|
6601
6615
|
`${endDate} ${value}`,
|
|
6602
6616
|
`${dateFormat} ${timeFormat}`,
|
|
6603
6617
|
true
|
|
@@ -6609,10 +6623,10 @@ var startTimeCannotBeInPastTest = yup.string().test(
|
|
|
6609
6623
|
"valid-start-time",
|
|
6610
6624
|
"Start time cannot be in the past",
|
|
6611
6625
|
function(value) {
|
|
6612
|
-
const now = (0,
|
|
6626
|
+
const now = (0, import_dayjs2.default)();
|
|
6613
6627
|
const { startDate } = this.parent;
|
|
6614
6628
|
if (!startDate || !value) return false;
|
|
6615
|
-
const startDateTime = (0,
|
|
6629
|
+
const startDateTime = (0, import_dayjs2.default)(
|
|
6616
6630
|
`${startDate} ${value}`,
|
|
6617
6631
|
`${dateFormat} ${timeFormat}`,
|
|
6618
6632
|
true
|
|
@@ -8299,6 +8313,7 @@ var EnumActivity = /* @__PURE__ */ ((EnumActivity2) => {
|
|
|
8299
8313
|
mapArrayToOptions,
|
|
8300
8314
|
mapBaseResourceTypeToFormData,
|
|
8301
8315
|
normalizeUrl,
|
|
8316
|
+
nzStartOfDay,
|
|
8302
8317
|
packagingOptions,
|
|
8303
8318
|
partnerBasicInfoFields,
|
|
8304
8319
|
paymentMethodOptions,
|