@nanas-home/hub-common 0.60.1336 → 0.61.1375
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/{KEYIZIIS.js → MBQCYCBZ.js} +176 -19
- package/dist/index.css +1 -1
- package/dist/node-utils/index.d.ts +2 -9
- package/dist/node-utils/index.js +3 -47
- package/dist/{textValidation-YmUdzikm.d.ts → textValidation-CyV7O-U1.d.ts} +268 -41
- package/dist/web/index.d.ts +23 -5
- package/dist/web/index.js +111 -41
- package/dist/web/index.jsx +368 -137
- package/package.json +14 -15
|
@@ -268,6 +268,7 @@ var apiRoute = {
|
|
|
268
268
|
assignHost: `/assign-host/${apiRouteParam.bookingUuid}/${apiRouteParam.userUuid}`,
|
|
269
269
|
removeHost: `/remove-host/${apiRouteParam.bookingUuid}/${apiRouteParam.bookingHostUuid}`,
|
|
270
270
|
calendarOverview: "/calendar-overview",
|
|
271
|
+
manualCreate: "/manual",
|
|
271
272
|
swagger: { name: "Bookings", description: "Endpoints for managing bookings" }
|
|
272
273
|
},
|
|
273
274
|
bugReport: {
|
|
@@ -364,6 +365,7 @@ var apiRoute = {
|
|
|
364
365
|
create: "",
|
|
365
366
|
update: "",
|
|
366
367
|
delete: `/${apiRouteParam.bookingUuid}`,
|
|
368
|
+
pricePrediction: "/price",
|
|
367
369
|
swagger: { name: "Bookings", description: "Endpoints for User to manage their Bookings" }
|
|
368
370
|
},
|
|
369
371
|
bookingAddon: {
|
|
@@ -450,6 +452,7 @@ var ActivityType = /* @__PURE__ */ ((ActivityType2) => {
|
|
|
450
452
|
ActivityType2[ActivityType2["Read"] = 2] = "Read";
|
|
451
453
|
ActivityType2[ActivityType2["Update"] = 3] = "Update";
|
|
452
454
|
ActivityType2[ActivityType2["Delete"] = 4] = "Delete";
|
|
455
|
+
ActivityType2[ActivityType2["System"] = 5] = "System";
|
|
453
456
|
return ActivityType2;
|
|
454
457
|
})(ActivityType || {});
|
|
455
458
|
|
|
@@ -903,6 +906,15 @@ var UuidRestriction = {
|
|
|
903
906
|
minLength: 36,
|
|
904
907
|
maxLength: 36
|
|
905
908
|
};
|
|
909
|
+
var CaptchaTokenRestriction = {
|
|
910
|
+
minLength: 10,
|
|
911
|
+
maxLength: 2048
|
|
912
|
+
};
|
|
913
|
+
var DateObjectRestriction = {
|
|
914
|
+
day: { min: 0, max: 31 },
|
|
915
|
+
month: { min: 0, max: 12 },
|
|
916
|
+
year: { min: 2e3, max: 2050 }
|
|
917
|
+
};
|
|
906
918
|
|
|
907
919
|
// src/contracts/generated/restrictions/drivingRouteRestriction.ts
|
|
908
920
|
var DrivingRouteRestriction = {
|
|
@@ -1007,9 +1019,21 @@ var searchColumns = {
|
|
|
1007
1019
|
upload: [{ "property": "linkUuid", "type": 2 }, { "property": "linkType", "type": 2 }, { "property": "type", "type": 2 }, { "property": "fileName", "type": 2 }, { "property": "blobType", "type": 2 }, { "property": "sizeInKb", "type": 2 }, { "property": "dateCreated", "type": 5 }],
|
|
1008
1020
|
booking: [{ "property": "code", "type": 3 }, { "property": "startDate", "type": 5 }, { "property": "endDate", "type": 5 }, { "property": "status", "type": 1 }, { "property": "dateCreated", "type": 5 }, { "property": "notes", "type": 2 }],
|
|
1009
1021
|
bugReport: [{ "property": "status", "type": 0 }, { "property": "comment", "type": 2 }, { "property": "metadata", "type": 2 }, { "property": "logs", "type": 2 }, { "property": "dateCreated", "type": 5 }],
|
|
1010
|
-
question: [{ "property": "forTypes", "type": 1 }, { "property": "transKey", "type": 2 }, { "property": "fallback", "type": 2 }, { "property": "category", "type": 2 }, { "property": "type", "type": 0 }, { "property": "sortOrder", "type": 3 }, { "property": "visible", "type": 4 }, { "property": "notes", "type": 2 }]
|
|
1022
|
+
question: [{ "property": "forTypes", "type": 1 }, { "property": "transKey", "type": 2 }, { "property": "fallback", "type": 2 }, { "property": "category", "type": 2 }, { "property": "type", "type": 0 }, { "property": "sortOrder", "type": 3 }, { "property": "visible", "type": 4 }, { "property": "notes", "type": 2 }],
|
|
1023
|
+
tempLink: [{ "property": "linkType", "type": 1 }, { "property": "dateCreated", "type": 5 }, { "property": "dateModified", "type": 5 }]
|
|
1011
1024
|
};
|
|
1012
1025
|
|
|
1026
|
+
// src/contracts/register.ts
|
|
1027
|
+
var ClientRegisterStep = /* @__PURE__ */ ((ClientRegisterStep2) => {
|
|
1028
|
+
ClientRegisterStep2[ClientRegisterStep2["User"] = 0] = "User";
|
|
1029
|
+
ClientRegisterStep2[ClientRegisterStep2["Address"] = 1] = "Address";
|
|
1030
|
+
ClientRegisterStep2[ClientRegisterStep2["Pets"] = 2] = "Pets";
|
|
1031
|
+
ClientRegisterStep2[ClientRegisterStep2["Questions"] = 3] = "Questions";
|
|
1032
|
+
ClientRegisterStep2[ClientRegisterStep2["TermsConditions"] = 4] = "TermsConditions";
|
|
1033
|
+
ClientRegisterStep2[ClientRegisterStep2["Finish"] = 5] = "Finish";
|
|
1034
|
+
return ClientRegisterStep2;
|
|
1035
|
+
})(ClientRegisterStep || {});
|
|
1036
|
+
|
|
1013
1037
|
// src/helpers/arrayHelper.ts
|
|
1014
1038
|
var makeArrayOrDefault = (propsVal, defaultValue = []) => {
|
|
1015
1039
|
if (propsVal == null) return defaultValue;
|
|
@@ -1043,10 +1067,10 @@ var CommonConfigService = class {
|
|
|
1043
1067
|
getHubDocsUrl = () => this.get("VITE_HUB_DOCS_URL");
|
|
1044
1068
|
getHubStorybookUrl = () => this.get("VITE_HUB_STORYBOOK_URL");
|
|
1045
1069
|
getFakeApiRequestDelay = () => this.getNumber("VITE_FAKE_API_REQUEST_DELAY");
|
|
1046
|
-
//
|
|
1070
|
+
// Captcha
|
|
1047
1071
|
getCaptchaEnabled = () => this.getBool("VITE_ENABLE_CAPTCHA");
|
|
1048
|
-
|
|
1049
|
-
|
|
1072
|
+
getCaptchaSecret = () => this.get("CAPTCHA_SECRET");
|
|
1073
|
+
getCaptchaSiteKey = () => this.get("VITE_CAPTCHA_SITE_KEY");
|
|
1050
1074
|
// Tolgee
|
|
1051
1075
|
getTolgeeApiKey = () => this.get("VITE_TOLGEE_API_KEY");
|
|
1052
1076
|
getTolgeeApiUrl = () => this.get("VITE_TOLGEE_API_URL");
|
|
@@ -1080,8 +1104,73 @@ var CommonConfigService = class {
|
|
|
1080
1104
|
getBool = (property, defaultValue) => this.get(property, defaultValue).toLowerCase() == "true";
|
|
1081
1105
|
getNumber = (property, defaultValue) => Number(this.get(property, defaultValue?.toString?.()));
|
|
1082
1106
|
};
|
|
1107
|
+
|
|
1108
|
+
// src/helpers/dateDtoHelper.ts
|
|
1109
|
+
var numberOfDaysPerMonth = {
|
|
1110
|
+
defaultYear: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
|
|
1111
|
+
leapYear: [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
|
|
1112
|
+
};
|
|
1113
|
+
var dateDtoToDateColumn = (dateObj) => `${dateObj.year}-${dateObj.month.toString().padStart(2, "0")}-${dateObj.day.toString().padStart(2, "0")}`;
|
|
1114
|
+
var dateColumnToDateDto = (dateStr) => {
|
|
1115
|
+
const segments = dateStr.split("-");
|
|
1116
|
+
if (segments.length != 3) return { day: 1, month: 1, year: 2e3 };
|
|
1117
|
+
const year = Number(segments[0]);
|
|
1118
|
+
const month = Math.min(12, Number(segments[1]));
|
|
1119
|
+
const daysInMonthItem = getNumberOfDaysInAMonth(year, month);
|
|
1120
|
+
const day = Math.min(daysInMonthItem, Number(segments[2]));
|
|
1121
|
+
return { year, month, day };
|
|
1122
|
+
};
|
|
1123
|
+
var dateToDateDto = (date) => ({
|
|
1124
|
+
year: date.getFullYear(),
|
|
1125
|
+
month: date.getMonth() + 1,
|
|
1126
|
+
day: date.getDate()
|
|
1127
|
+
});
|
|
1128
|
+
var dateDtoToJsDate = (dateObj) => new Date(dateObj.year, dateObj.month - 1, dateObj.day);
|
|
1129
|
+
var isDateDto = (value) => {
|
|
1130
|
+
if (value == null || typeof value !== "object") return false;
|
|
1131
|
+
const candidate = value;
|
|
1132
|
+
return typeof candidate.year === "number" && typeof candidate.month === "number" && typeof candidate.day === "number" && typeof candidate.getTime !== "function";
|
|
1133
|
+
};
|
|
1134
|
+
var isLeapYear = (year) => year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
|
|
1135
|
+
var getNumberOfDaysInAMonth = (year, month) => {
|
|
1136
|
+
const daysInMonth = isLeapYear(year) ? numberOfDaysPerMonth.leapYear : numberOfDaysPerMonth.defaultYear;
|
|
1137
|
+
const daysInMonthItem = daysInMonth[month - 1];
|
|
1138
|
+
if (daysInMonthItem == null) {
|
|
1139
|
+
throw "Invalid date";
|
|
1140
|
+
}
|
|
1141
|
+
return daysInMonthItem;
|
|
1142
|
+
};
|
|
1143
|
+
var getNextDayOfDateDto = (d) => {
|
|
1144
|
+
let { day, month, year } = d;
|
|
1145
|
+
const daysInMonthItem = getNumberOfDaysInAMonth(year, month);
|
|
1146
|
+
day++;
|
|
1147
|
+
if (day > daysInMonthItem) {
|
|
1148
|
+
day = 1;
|
|
1149
|
+
month++;
|
|
1150
|
+
if (month > 12) {
|
|
1151
|
+
month = 1;
|
|
1152
|
+
year++;
|
|
1153
|
+
}
|
|
1154
|
+
}
|
|
1155
|
+
return { day, month, year };
|
|
1156
|
+
};
|
|
1157
|
+
var dateDtoCompare = (a, b) => {
|
|
1158
|
+
if (a.year !== b.year) return a.year - b.year;
|
|
1159
|
+
if (a.month !== b.month) return a.month - b.month;
|
|
1160
|
+
return a.day - b.day;
|
|
1161
|
+
};
|
|
1162
|
+
var dateDtoIsBefore = (a, b) => {
|
|
1163
|
+
const compareResult = dateDtoCompare(a, b);
|
|
1164
|
+
if (compareResult == 0) return false;
|
|
1165
|
+
if (compareResult > 0) return false;
|
|
1166
|
+
return true;
|
|
1167
|
+
};
|
|
1168
|
+
var toDayjsInput = (date) => {
|
|
1169
|
+
if (isDateDto(date)) return dateDtoToJsDate(date);
|
|
1170
|
+
return date;
|
|
1171
|
+
};
|
|
1083
1172
|
var formatDate = (date, format = "DD MMM YYYY HH:mm") => {
|
|
1084
|
-
const dateStr = dayjs(date).format(format);
|
|
1173
|
+
const dateStr = dayjs(toDayjsInput(date)).format(format);
|
|
1085
1174
|
if (dateStr.includes("Invalid")) return "";
|
|
1086
1175
|
return dateStr;
|
|
1087
1176
|
};
|
|
@@ -1095,14 +1184,12 @@ var addSeconds = (date, seconds) => dayjs(date).add(seconds, "seconds").toDate()
|
|
|
1095
1184
|
var addMinutes = (date, minutes) => dayjs(date).add(minutes, "minutes").toDate();
|
|
1096
1185
|
var addDays = (date, days) => dayjs(date).add(days, "days").toDate();
|
|
1097
1186
|
var addMonths = (date, months) => dayjs(date).add(months, "months").toDate();
|
|
1098
|
-
var isBefore = (date, secondDate) => dayjs(date).isBefore(secondDate);
|
|
1099
|
-
var isSameDay = (date, secondDate) => dayjs(date).isSame(secondDate, "day");
|
|
1187
|
+
var isBefore = (date, secondDate) => dayjs(toDayjsInput(date)).isBefore(toDayjsInput(secondDate));
|
|
1188
|
+
var isSameDay = (date, secondDate) => dayjs(toDayjsInput(date)).isSame(toDayjsInput(secondDate), "day");
|
|
1100
1189
|
var dateDiffInDays = (date, secondDate) => {
|
|
1101
|
-
const date1 =
|
|
1102
|
-
const date2 =
|
|
1103
|
-
|
|
1104
|
-
const diffDays = Math.floor(diffTime / (1e3 * 60 * 60 * 24));
|
|
1105
|
-
return diffDays;
|
|
1190
|
+
const date1 = toDayjsInput(date);
|
|
1191
|
+
const date2 = toDayjsInput(secondDate);
|
|
1192
|
+
return Math.abs(dayjs(date2).startOf("day").diff(dayjs(date1).startOf("day"), "day"));
|
|
1106
1193
|
};
|
|
1107
1194
|
var getAgeInYears = (birthDateOrStr, currentDate = /* @__PURE__ */ new Date()) => {
|
|
1108
1195
|
const birthDate = new Date(birthDateOrStr);
|
|
@@ -1298,6 +1385,8 @@ var addToParallelTasks = async (tasks, newTask, numTasksInParallel = 5) => {
|
|
|
1298
1385
|
tasks.push(newTask);
|
|
1299
1386
|
return tasks;
|
|
1300
1387
|
};
|
|
1388
|
+
|
|
1389
|
+
// src/helpers/bookingCalendarHelper.ts
|
|
1301
1390
|
var getBookingStatusLabelForAdmin = (status) => {
|
|
1302
1391
|
switch (status) {
|
|
1303
1392
|
case 0 /* Cancelled */:
|
|
@@ -1394,12 +1483,7 @@ var filterBookingsByOverviewStatus = (bookings, statuses) => {
|
|
|
1394
1483
|
const allowed = new Set(statuses);
|
|
1395
1484
|
return bookings.filter((booking) => allowed.has(booking.status));
|
|
1396
1485
|
};
|
|
1397
|
-
var computeBookingNightCount = (startDate, endDate) =>
|
|
1398
|
-
const nights = Math.abs(
|
|
1399
|
-
dayjs(endDate).startOf("day").diff(dayjs(startDate).startOf("day"), "day")
|
|
1400
|
-
);
|
|
1401
|
-
return Math.max(1, nights);
|
|
1402
|
-
};
|
|
1486
|
+
var computeBookingNightCount = (startDate, endDate) => Math.max(1, dateDiffInDays(startDate, endDate));
|
|
1403
1487
|
var formatBookingNightsTooltip = (startDate, endDate) => {
|
|
1404
1488
|
const nights = computeBookingNightCount(startDate, endDate);
|
|
1405
1489
|
return nights === 1 ? "1 night" : `${nights} nights`;
|
|
@@ -1865,6 +1949,51 @@ var getActiveUserMembership = (userMemberships) => {
|
|
|
1865
1949
|
});
|
|
1866
1950
|
};
|
|
1867
1951
|
|
|
1952
|
+
// src/services/external/captcha/captchaNodeService.ts
|
|
1953
|
+
var CaptchaNodeService = class {
|
|
1954
|
+
constructor(log, _config) {
|
|
1955
|
+
this._config = _config;
|
|
1956
|
+
this._logger = log.getLogger("CaptchaNodeService");
|
|
1957
|
+
}
|
|
1958
|
+
_logger;
|
|
1959
|
+
async verifyToken(token, options) {
|
|
1960
|
+
const appType = getAppType();
|
|
1961
|
+
if (isWebApp(appType)) {
|
|
1962
|
+
const message = `verifyToken is not supported on this app type (${appType})`;
|
|
1963
|
+
this._logger.e(message);
|
|
1964
|
+
return { isSuccess: false, errorMessage: message };
|
|
1965
|
+
}
|
|
1966
|
+
let formData = new FormData();
|
|
1967
|
+
formData.append("response", token);
|
|
1968
|
+
formData.append("secret", this._config.getCaptchaSecret());
|
|
1969
|
+
if (options?.idempotencyKey != null) formData.append("idempotency_key", options.idempotencyKey);
|
|
1970
|
+
this._logger.i("verify captcha token");
|
|
1971
|
+
try {
|
|
1972
|
+
const apiResult = await fetch("https://challenges.cloudflare.com/turnstile/v0/siteverify", {
|
|
1973
|
+
method: "POST",
|
|
1974
|
+
body: formData
|
|
1975
|
+
});
|
|
1976
|
+
const response = await apiResult.json();
|
|
1977
|
+
if (response == null || response.success === false) {
|
|
1978
|
+
return {
|
|
1979
|
+
isSuccess: false,
|
|
1980
|
+
errorMessage: "Failed to verify captcha token"
|
|
1981
|
+
};
|
|
1982
|
+
}
|
|
1983
|
+
return {
|
|
1984
|
+
isSuccess: true
|
|
1985
|
+
};
|
|
1986
|
+
} catch (ex) {
|
|
1987
|
+
const errMsg = `Failed to verify captcha token: ${ex?.toString?.()}`;
|
|
1988
|
+
this._logger.e(errMsg);
|
|
1989
|
+
return {
|
|
1990
|
+
isSuccess: false,
|
|
1991
|
+
errorMessage: errMsg
|
|
1992
|
+
};
|
|
1993
|
+
}
|
|
1994
|
+
}
|
|
1995
|
+
};
|
|
1996
|
+
|
|
1868
1997
|
// src/services/internal/config/colour.config.ts
|
|
1869
1998
|
var colourPalette = {
|
|
1870
1999
|
nanasBackyard: "#97A571",
|
|
@@ -2026,6 +2155,34 @@ var contactNumberValid = (value) => {
|
|
|
2026
2155
|
return { isValid: true };
|
|
2027
2156
|
};
|
|
2028
2157
|
|
|
2158
|
+
// src/validation/dateDtoValidation.ts
|
|
2159
|
+
var minDateDto = (minDate2) => (value) => {
|
|
2160
|
+
if (minDate2 != null && value != null) {
|
|
2161
|
+
if (dateDtoIsBefore(minDate2, value)) {
|
|
2162
|
+
return { isValid: true };
|
|
2163
|
+
}
|
|
2164
|
+
}
|
|
2165
|
+
return {
|
|
2166
|
+
isValid: false,
|
|
2167
|
+
errorMessageTransKey: "min_date_validator",
|
|
2168
|
+
errorMessageParams: { date: dateDtoToDateColumn(minDate2) },
|
|
2169
|
+
errorMessage: "Minimum date is {date}"
|
|
2170
|
+
};
|
|
2171
|
+
};
|
|
2172
|
+
var maxDateDto = (maxDate2) => (value) => {
|
|
2173
|
+
if (maxDate2 != null && value != null) {
|
|
2174
|
+
if (dateDtoIsBefore(value, maxDate2)) {
|
|
2175
|
+
return { isValid: true };
|
|
2176
|
+
}
|
|
2177
|
+
}
|
|
2178
|
+
return {
|
|
2179
|
+
isValid: false,
|
|
2180
|
+
errorMessageTransKey: "max_date_validator",
|
|
2181
|
+
errorMessageParams: { date: dateDtoToDateColumn(maxDate2) },
|
|
2182
|
+
errorMessage: "Maximum date is {date}"
|
|
2183
|
+
};
|
|
2184
|
+
};
|
|
2185
|
+
|
|
2029
2186
|
// src/validation/dateValidation.ts
|
|
2030
2187
|
var minDate = (minDate2) => (value) => {
|
|
2031
2188
|
if (isBefore(minDate2, value)) {
|
|
@@ -2205,4 +2362,4 @@ var shouldBeYoutubeUrl = (value) => {
|
|
|
2205
2362
|
};
|
|
2206
2363
|
};
|
|
2207
2364
|
|
|
2208
|
-
export { APP_TYPE_TOKEN, ActivityRestriction, ActivityType, AddressLinkType, AddressRestriction, AnswerLinkType, AnswerRestriction, AppType, AuthRegisterRestriction, BOOKING_OVERVIEW_STATUSES, BOT_PATH_TOKEN, BookingAddonRestriction, BookingAddonType, BookingRestriction, BookingStatusType, BugReportRestriction, BugReportStatusType, CdnAppImage, CommentLinkType, CommentRestriction, CommonConfigService, DependencyInjectionContainer, DrivingRouteRestriction, InvoiceRestriction, InvoiceStatusType, LogService, MembershipBillingCycleType, MembershipRestriction, MembershipStatus, MembershipType, MouseButton, NANAS_PALLETTE, NetworkState, OrderDirectionType, PermissionRestriction, PermissionType, PetRestriction, PetSexType, PetStatusType, PetType, QuestionForType, QuestionRestriction, QuestionType, SITE_CONFIG_TOKEN, SearchableColumnType, SentEmailLinkType, SentEmailRestriction, SentEmailSentStatus, StripeRestriction, SupportedLanguageArray, TempLinkType, TempRegistrationStatus, UnavailabilityRestriction, UploadLinkType, UploadRestriction, UploadType, UserAccountFlagType, UserRestriction, UserType, UuidRestriction, activityShortCode, addDays, addMinutes, addMonths, addSeconds, addSpacesForEnum, addToParallelTasks, allowedNonNumericalValuesInContactNumber, anyObject, apiRoute, apiRouteParam, arrayContains, arrayOfNLength, capitalizeFirstLetter, changeMonth, colourPalette, commonEmailLinks, computeBookingNightCount, computeBookingStatusCounts, contactNumberCharValid, contactNumberValid, convertToDate, convertToFullDateSelection, createToken, cyrb53, dateDiffInDays, debounceLeading, defaultSiteColour, emailValid, fakePromise, filterBookingsByOverviewStatus, formatBookingCalendarLabel, formatBookingNightsTooltip, formatDate, formatFileSize, formatForBookingDate, formatForDateDropdown, formatForDateLocal, formatForDateLocalDetailed, formatForDateOfBirth, formatForDateWithTime, formatPetTypesLabel, getActiveUserMembership, getAgeInYears, getAllPetQuestionForType, getAppType, getArrFromEnum, getBookingStatusLabelForAdmin, getBotPath, getCalendarDropdownDisplayValue, getCalendarDropdownForDateOfBirthDisplayValue, getCommonConfig, getDayClassObject, getDayElements, getDayHeadingElements, getImageParams, getLog, getMembershipTypeLabel, getMimeTypeFromExtension, getPayloadFromJwt, getPerformanceTimer, getPetAvatarUrl, getPetTypeLabel, getQuestionGroups, getSiteColour, getSiteConfig, getUserAvatarUrl, getUsersName, getWeekNumber, hasRequiredPermissions, hubspotQuestionsExport, isBefore, isDateAfterStart, isDateBeforeEnd, isDateDisabledByDisabledDays, isDateEnabledByEnabledDays, isNumber, isSameDay, isWebApp, lowercaseFirstLetter, makeArrayOrDefault, maxDate, maxItems, maxLength, maxValue, mimeTypeLookup, minDate, minItems, minLength, minUrlLength, minValue, monthTranslationKeyOrder, multiValidation, nameof, nanasFonts, noValidation, notNull, onlyUnique, parseBookingOverviewStatuses, passwordValid, portalGlyphLength, postCodeValid, promiseFromValue, randomIntFromRange, randomItemFromArray, rootContainer, rootDependencyInjectionSetup, searchColumns, selectedItemsExist, selectedOptionIsInEnum, separateValidation, serializeBookingOverviewStatuses, setContainerToken, setContainerTokenLazy, setSiteConfig, shouldBeUrl, shouldBeYoutubeUrl, showSecondCalendar, socialLinks, timeout, tryParseNumber, uploadsThatNeedEncryption, urlAddQueryParam, urlRef, userMustChangePassword, uuidv4, validUuidChars, validateForEach, webAppTypes, weekdayTranslationKeyOrder };
|
|
2365
|
+
export { APP_TYPE_TOKEN, ActivityRestriction, ActivityType, AddressLinkType, AddressRestriction, AnswerLinkType, AnswerRestriction, AppType, AuthRegisterRestriction, BOOKING_OVERVIEW_STATUSES, BOT_PATH_TOKEN, BookingAddonRestriction, BookingAddonType, BookingRestriction, BookingStatusType, BugReportRestriction, BugReportStatusType, CaptchaNodeService, CaptchaTokenRestriction, CdnAppImage, ClientRegisterStep, CommentLinkType, CommentRestriction, CommonConfigService, DateObjectRestriction, DependencyInjectionContainer, DrivingRouteRestriction, InvoiceRestriction, InvoiceStatusType, LogService, MembershipBillingCycleType, MembershipRestriction, MembershipStatus, MembershipType, MouseButton, NANAS_PALLETTE, NetworkState, OrderDirectionType, PermissionRestriction, PermissionType, PetRestriction, PetSexType, PetStatusType, PetType, QuestionForType, QuestionRestriction, QuestionType, SITE_CONFIG_TOKEN, SearchableColumnType, SentEmailLinkType, SentEmailRestriction, SentEmailSentStatus, StripeRestriction, SupportedLanguageArray, TempLinkType, TempRegistrationStatus, UnavailabilityRestriction, UploadLinkType, UploadRestriction, UploadType, UserAccountFlagType, UserRestriction, UserType, UuidRestriction, activityShortCode, addDays, addMinutes, addMonths, addSeconds, addSpacesForEnum, addToParallelTasks, allowedNonNumericalValuesInContactNumber, anyObject, apiRoute, apiRouteParam, arrayContains, arrayOfNLength, capitalizeFirstLetter, changeMonth, colourPalette, commonEmailLinks, computeBookingNightCount, computeBookingStatusCounts, contactNumberCharValid, contactNumberValid, convertToDate, convertToFullDateSelection, createToken, cyrb53, dateColumnToDateDto, dateDiffInDays, dateDtoCompare, dateDtoIsBefore, dateDtoToDateColumn, dateDtoToJsDate, dateToDateDto, debounceLeading, defaultSiteColour, emailValid, fakePromise, filterBookingsByOverviewStatus, formatBookingCalendarLabel, formatBookingNightsTooltip, formatDate, formatFileSize, formatForBookingDate, formatForDateDropdown, formatForDateLocal, formatForDateLocalDetailed, formatForDateOfBirth, formatForDateWithTime, formatPetTypesLabel, getActiveUserMembership, getAgeInYears, getAllPetQuestionForType, getAppType, getArrFromEnum, getBookingStatusLabelForAdmin, getBotPath, getCalendarDropdownDisplayValue, getCalendarDropdownForDateOfBirthDisplayValue, getCommonConfig, getDayClassObject, getDayElements, getDayHeadingElements, getImageParams, getLog, getMembershipTypeLabel, getMimeTypeFromExtension, getNextDayOfDateDto, getNumberOfDaysInAMonth, getPayloadFromJwt, getPerformanceTimer, getPetAvatarUrl, getPetTypeLabel, getQuestionGroups, getSiteColour, getSiteConfig, getUserAvatarUrl, getUsersName, getWeekNumber, hasRequiredPermissions, hubspotQuestionsExport, isBefore, isDateAfterStart, isDateBeforeEnd, isDateDisabledByDisabledDays, isDateDto, isDateEnabledByEnabledDays, isLeapYear, isNumber, isSameDay, isWebApp, lowercaseFirstLetter, makeArrayOrDefault, maxDate, maxDateDto, maxItems, maxLength, maxValue, mimeTypeLookup, minDate, minDateDto, minItems, minLength, minUrlLength, minValue, monthTranslationKeyOrder, multiValidation, nameof, nanasFonts, noValidation, notNull, numberOfDaysPerMonth, onlyUnique, parseBookingOverviewStatuses, passwordValid, portalGlyphLength, postCodeValid, promiseFromValue, randomIntFromRange, randomItemFromArray, rootContainer, rootDependencyInjectionSetup, searchColumns, selectedItemsExist, selectedOptionIsInEnum, separateValidation, serializeBookingOverviewStatuses, setContainerToken, setContainerTokenLazy, setSiteConfig, shouldBeUrl, shouldBeYoutubeUrl, showSecondCalendar, socialLinks, timeout, tryParseNumber, uploadsThatNeedEncryption, urlAddQueryParam, urlRef, userMustChangePassword, uuidv4, validUuidChars, validateForEach, webAppTypes, weekdayTranslationKeyOrder };
|