@timardex/cluemart-shared 1.5.504 → 1.5.505
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-A3BCQJII.mjs → chunk-UA64PDR4.mjs} +2 -2
- package/dist/{chunk-XNMKWMNF.mjs → chunk-VJIFUOVU.mjs} +76 -75
- package/dist/chunk-VJIFUOVU.mjs.map +1 -0
- package/dist/formFields/index.cjs +8 -5
- package/dist/formFields/index.cjs.map +1 -1
- package/dist/formFields/index.mjs +2 -2
- package/dist/hooks/index.cjs +21 -18
- package/dist/hooks/index.cjs.map +1 -1
- package/dist/hooks/index.mjs +2 -2
- package/dist/index.cjs +88 -85
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +88 -85
- package/dist/index.mjs.map +1 -1
- package/dist/utils/index.cjs +75 -72
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.mjs +1 -1
- package/package.json +1 -1
- package/dist/chunk-XNMKWMNF.mjs.map +0 -1
- /package/dist/{chunk-A3BCQJII.mjs.map → chunk-UA64PDR4.mjs.map} +0 -0
package/dist/index.mjs
CHANGED
|
@@ -433,6 +433,9 @@ var priceUnits = [
|
|
|
433
433
|
{ label: "Half dozen", value: "HALF_DOZEN" }
|
|
434
434
|
];
|
|
435
435
|
|
|
436
|
+
// src/utils/dailyClueGame.ts
|
|
437
|
+
import dayjs from "dayjs";
|
|
438
|
+
|
|
436
439
|
// src/types/game.ts
|
|
437
440
|
var gameScreenIdentifierList = [
|
|
438
441
|
{
|
|
@@ -545,75 +548,6 @@ var EnumGameStatus = /* @__PURE__ */ ((EnumGameStatus2) => {
|
|
|
545
548
|
return EnumGameStatus2;
|
|
546
549
|
})(EnumGameStatus || {});
|
|
547
550
|
|
|
548
|
-
// src/utils/date.ts
|
|
549
|
-
import dayjs from "dayjs";
|
|
550
|
-
import customParseFormat from "dayjs/plugin/customParseFormat.js";
|
|
551
|
-
import isSameOrAfter from "dayjs/plugin/isSameOrAfter.js";
|
|
552
|
-
import timezone from "dayjs/plugin/timezone.js";
|
|
553
|
-
import utc from "dayjs/plugin/utc.js";
|
|
554
|
-
var dateFormat = "DD-MM-YYYY";
|
|
555
|
-
var timeFormat = "HH:mm";
|
|
556
|
-
dayjs.extend(customParseFormat);
|
|
557
|
-
dayjs.extend(utc);
|
|
558
|
-
dayjs.extend(timezone);
|
|
559
|
-
dayjs.extend(isSameOrAfter);
|
|
560
|
-
var NZ_TZ = "Pacific/Auckland";
|
|
561
|
-
function toNZTime(date3) {
|
|
562
|
-
return date3 ? dayjs(date3).tz(NZ_TZ) : dayjs().tz(NZ_TZ);
|
|
563
|
-
}
|
|
564
|
-
var formatDate = (dateStr, display = "datetime", timeStr) => {
|
|
565
|
-
const dateTimeStr = timeStr ? `${dateStr} ${timeStr}` : dateStr;
|
|
566
|
-
const dateTime = timeStr ? dayjs(dateTimeStr, `${dateFormat} ${timeFormat}`) : dayjs(dateStr, dateFormat);
|
|
567
|
-
const formattedDate = dateTime.format("dddd, D MMMM, YYYY");
|
|
568
|
-
const formattedTime = dateTime.format("h:mm a");
|
|
569
|
-
switch (display) {
|
|
570
|
-
case "date":
|
|
571
|
-
return formattedDate;
|
|
572
|
-
case "time":
|
|
573
|
-
return formattedTime;
|
|
574
|
-
case "datetime":
|
|
575
|
-
return `${formattedDate} at ${formattedTime}`;
|
|
576
|
-
default:
|
|
577
|
-
return formattedDate;
|
|
578
|
-
}
|
|
579
|
-
};
|
|
580
|
-
var getCurrentAndFutureDates = (dates) => {
|
|
581
|
-
const now = dayjs();
|
|
582
|
-
return dates.filter((dateObj) => {
|
|
583
|
-
const dateTime = dayjs(
|
|
584
|
-
`${dateObj.startDate} ${dateObj.startTime}`,
|
|
585
|
-
`${dateFormat} ${timeFormat}`
|
|
586
|
-
);
|
|
587
|
-
return dateTime.isSameOrAfter(now);
|
|
588
|
-
});
|
|
589
|
-
};
|
|
590
|
-
var isFutureDatesBeforeThreshold = (date3, minHoursFromNow) => {
|
|
591
|
-
const threshold = minHoursFromNow ? dayjs().add(minHoursFromNow, "hour") : dayjs().startOf("day");
|
|
592
|
-
const dateTime = dayjs(
|
|
593
|
-
`${date3.startDate} ${date3.startTime}`,
|
|
594
|
-
`${dateFormat} ${timeFormat}`
|
|
595
|
-
);
|
|
596
|
-
return dateTime.isSameOrAfter(threshold);
|
|
597
|
-
};
|
|
598
|
-
var formatTimestamp = (timestamp) => {
|
|
599
|
-
const formattedDate = toNZTime(timestamp).format(dateFormat);
|
|
600
|
-
return formatDate(formattedDate, "date");
|
|
601
|
-
};
|
|
602
|
-
var isIsoDateString = (value) => {
|
|
603
|
-
return typeof value === "string" && !isNaN(Date.parse(value));
|
|
604
|
-
};
|
|
605
|
-
function sortDatesChronologically(dates) {
|
|
606
|
-
if (!dates || !dates.length) {
|
|
607
|
-
return [];
|
|
608
|
-
}
|
|
609
|
-
return [...dates].sort((a, b) => {
|
|
610
|
-
const dateTimeFormat = `${dateFormat} ${timeFormat}`;
|
|
611
|
-
const dateA = dayjs(`${a.startDate} ${a.startTime}`, dateTimeFormat);
|
|
612
|
-
const dateB = dayjs(`${b.startDate} ${b.startTime}`, dateTimeFormat);
|
|
613
|
-
return dateA.valueOf() - dateB.valueOf();
|
|
614
|
-
});
|
|
615
|
-
}
|
|
616
|
-
|
|
617
551
|
// src/utils/dailyClueGame.ts
|
|
618
552
|
function createSeededRng(seed) {
|
|
619
553
|
let t = seed >>> 0;
|
|
@@ -648,9 +582,9 @@ function getDayIndex(start, today) {
|
|
|
648
582
|
function computeDailyClueState(dailyClue) {
|
|
649
583
|
const { startDate, endDate } = dailyClue.gameFields.gameDate;
|
|
650
584
|
const { shuffled, collected } = dailyClue.letterInfo;
|
|
651
|
-
const today =
|
|
652
|
-
const start =
|
|
653
|
-
const end =
|
|
585
|
+
const today = dayjs().startOf("day");
|
|
586
|
+
const start = dayjs(startDate).startOf("day");
|
|
587
|
+
const end = dayjs(endDate).startOf("day");
|
|
654
588
|
const shuffledPlacements = seededShuffle(
|
|
655
589
|
gameScreenIdentifierList,
|
|
656
590
|
start.toISOString()
|
|
@@ -684,6 +618,75 @@ function computeDailyClueState(dailyClue) {
|
|
|
684
618
|
};
|
|
685
619
|
}
|
|
686
620
|
|
|
621
|
+
// src/utils/date.ts
|
|
622
|
+
import dayjs2 from "dayjs";
|
|
623
|
+
import customParseFormat from "dayjs/plugin/customParseFormat.js";
|
|
624
|
+
import isSameOrAfter from "dayjs/plugin/isSameOrAfter.js";
|
|
625
|
+
import timezone from "dayjs/plugin/timezone.js";
|
|
626
|
+
import utc from "dayjs/plugin/utc.js";
|
|
627
|
+
var dateFormat = "DD-MM-YYYY";
|
|
628
|
+
var timeFormat = "HH:mm";
|
|
629
|
+
dayjs2.extend(customParseFormat);
|
|
630
|
+
dayjs2.extend(utc);
|
|
631
|
+
dayjs2.extend(timezone);
|
|
632
|
+
dayjs2.extend(isSameOrAfter);
|
|
633
|
+
var NZ_TZ = "Pacific/Auckland";
|
|
634
|
+
function toNZTime(date3) {
|
|
635
|
+
return date3 ? dayjs2(date3).tz(NZ_TZ) : dayjs2().tz(NZ_TZ);
|
|
636
|
+
}
|
|
637
|
+
var formatDate = (dateStr, display = "datetime", timeStr) => {
|
|
638
|
+
const dateTimeStr = timeStr ? `${dateStr} ${timeStr}` : dateStr;
|
|
639
|
+
const dateTime = timeStr ? dayjs2(dateTimeStr, `${dateFormat} ${timeFormat}`) : dayjs2(dateStr, dateFormat);
|
|
640
|
+
const formattedDate = dateTime.format("dddd, D MMMM, YYYY");
|
|
641
|
+
const formattedTime = dateTime.format("h:mm a");
|
|
642
|
+
switch (display) {
|
|
643
|
+
case "date":
|
|
644
|
+
return formattedDate;
|
|
645
|
+
case "time":
|
|
646
|
+
return formattedTime;
|
|
647
|
+
case "datetime":
|
|
648
|
+
return `${formattedDate} at ${formattedTime}`;
|
|
649
|
+
default:
|
|
650
|
+
return formattedDate;
|
|
651
|
+
}
|
|
652
|
+
};
|
|
653
|
+
var getCurrentAndFutureDates = (dates) => {
|
|
654
|
+
const now = dayjs2();
|
|
655
|
+
return dates.filter((dateObj) => {
|
|
656
|
+
const dateTime = dayjs2(
|
|
657
|
+
`${dateObj.startDate} ${dateObj.startTime}`,
|
|
658
|
+
`${dateFormat} ${timeFormat}`
|
|
659
|
+
);
|
|
660
|
+
return dateTime.isSameOrAfter(now);
|
|
661
|
+
});
|
|
662
|
+
};
|
|
663
|
+
var isFutureDatesBeforeThreshold = (date3, minHoursFromNow) => {
|
|
664
|
+
const threshold = minHoursFromNow ? dayjs2().add(minHoursFromNow, "hour") : dayjs2().startOf("day");
|
|
665
|
+
const dateTime = dayjs2(
|
|
666
|
+
`${date3.startDate} ${date3.startTime}`,
|
|
667
|
+
`${dateFormat} ${timeFormat}`
|
|
668
|
+
);
|
|
669
|
+
return dateTime.isSameOrAfter(threshold);
|
|
670
|
+
};
|
|
671
|
+
var formatTimestamp = (timestamp) => {
|
|
672
|
+
const formattedDate = toNZTime(timestamp).format(dateFormat);
|
|
673
|
+
return formatDate(formattedDate, "date");
|
|
674
|
+
};
|
|
675
|
+
var isIsoDateString = (value) => {
|
|
676
|
+
return typeof value === "string" && !isNaN(Date.parse(value));
|
|
677
|
+
};
|
|
678
|
+
function sortDatesChronologically(dates) {
|
|
679
|
+
if (!dates || !dates.length) {
|
|
680
|
+
return [];
|
|
681
|
+
}
|
|
682
|
+
return [...dates].sort((a, b) => {
|
|
683
|
+
const dateTimeFormat = `${dateFormat} ${timeFormat}`;
|
|
684
|
+
const dateA = dayjs2(`${a.startDate} ${a.startTime}`, dateTimeFormat);
|
|
685
|
+
const dateB = dayjs2(`${b.startDate} ${b.startTime}`, dateTimeFormat);
|
|
686
|
+
return dateA.valueOf() - dateB.valueOf();
|
|
687
|
+
});
|
|
688
|
+
}
|
|
689
|
+
|
|
687
690
|
// src/utils/utils.ts
|
|
688
691
|
var removeTypename = (obj) => {
|
|
689
692
|
if (obj instanceof Date) {
|
|
@@ -6207,7 +6210,7 @@ import * as React from "react";
|
|
|
6207
6210
|
import { useForm } from "react-hook-form";
|
|
6208
6211
|
|
|
6209
6212
|
// src/yupSchema/global.ts
|
|
6210
|
-
import
|
|
6213
|
+
import dayjs3 from "dayjs";
|
|
6211
6214
|
import customParseFormat2 from "dayjs/plugin/customParseFormat.js";
|
|
6212
6215
|
import isSameOrAfter2 from "dayjs/plugin/isSameOrAfter.js";
|
|
6213
6216
|
import * as yup from "yup";
|
|
@@ -6236,8 +6239,8 @@ var noLeadingZeros = (fieldName, options = {}) => {
|
|
|
6236
6239
|
return true;
|
|
6237
6240
|
};
|
|
6238
6241
|
};
|
|
6239
|
-
|
|
6240
|
-
|
|
6242
|
+
dayjs3.extend(isSameOrAfter2);
|
|
6243
|
+
dayjs3.extend(customParseFormat2);
|
|
6241
6244
|
var emailRequiredSchema = yup.string().email("Invalid email address").required("Email is required").label("Email").transform(
|
|
6242
6245
|
(value) => typeof value === "string" ? value.trim().toLowerCase() : value
|
|
6243
6246
|
);
|
|
@@ -6268,12 +6271,12 @@ var contactDetailsSchema = yup.object({
|
|
|
6268
6271
|
landlinePhone: landlinePhoneSchema
|
|
6269
6272
|
}).nullable().default(void 0);
|
|
6270
6273
|
var endDateNotInPastTest = yup.string().test("not-in-past", "End date cannot be in the past", (value) => {
|
|
6271
|
-
const now =
|
|
6272
|
-
return value ?
|
|
6274
|
+
const now = dayjs3();
|
|
6275
|
+
return value ? dayjs3(value, dateFormat, true).isSameOrAfter(now, "day") : false;
|
|
6273
6276
|
});
|
|
6274
6277
|
var startDateNotInPastTest = yup.string().test("not-in-past", "Start date cannot be in the past", (value) => {
|
|
6275
|
-
const now =
|
|
6276
|
-
return value ?
|
|
6278
|
+
const now = dayjs3();
|
|
6279
|
+
return value ? dayjs3(value, dateFormat, true).isSameOrAfter(now, "day") : false;
|
|
6277
6280
|
});
|
|
6278
6281
|
var endDateAfterStartDateTest = yup.string().test(
|
|
6279
6282
|
"end-after-start",
|
|
@@ -6281,8 +6284,8 @@ var endDateAfterStartDateTest = yup.string().test(
|
|
|
6281
6284
|
function(value) {
|
|
6282
6285
|
const { startDate } = this.parent;
|
|
6283
6286
|
if (!startDate || !value) return false;
|
|
6284
|
-
return
|
|
6285
|
-
|
|
6287
|
+
return dayjs3(value, dateFormat, true).isSameOrAfter(
|
|
6288
|
+
dayjs3(startDate, dateFormat, true),
|
|
6286
6289
|
"day"
|
|
6287
6290
|
);
|
|
6288
6291
|
}
|
|
@@ -6293,12 +6296,12 @@ var endTimeMustBeAfterStartTimeTest = yup.string().test(
|
|
|
6293
6296
|
function(value) {
|
|
6294
6297
|
const { startDate, endDate, startTime } = this.parent;
|
|
6295
6298
|
if (!startDate || !endDate || !startTime || !value) return false;
|
|
6296
|
-
const startDateTime =
|
|
6299
|
+
const startDateTime = dayjs3(
|
|
6297
6300
|
`${startDate} ${startTime}`,
|
|
6298
6301
|
`${dateFormat} ${timeFormat}`,
|
|
6299
6302
|
true
|
|
6300
6303
|
);
|
|
6301
|
-
const endDateTime =
|
|
6304
|
+
const endDateTime = dayjs3(
|
|
6302
6305
|
`${endDate} ${value}`,
|
|
6303
6306
|
`${dateFormat} ${timeFormat}`,
|
|
6304
6307
|
true
|
|
@@ -6310,10 +6313,10 @@ var startTimeCannotBeInPastTest = yup.string().test(
|
|
|
6310
6313
|
"valid-start-time",
|
|
6311
6314
|
"Start time cannot be in the past",
|
|
6312
6315
|
function(value) {
|
|
6313
|
-
const now =
|
|
6316
|
+
const now = dayjs3();
|
|
6314
6317
|
const { startDate } = this.parent;
|
|
6315
6318
|
if (!startDate || !value) return false;
|
|
6316
|
-
const startDateTime =
|
|
6319
|
+
const startDateTime = dayjs3(
|
|
6317
6320
|
`${startDate} ${value}`,
|
|
6318
6321
|
`${dateFormat} ${timeFormat}`,
|
|
6319
6322
|
true
|