@arkasuryawan/m2-interfaces
Version:
Squaremetre Data Interfaces
1,407 lines (1,399 loc) • 32.3 kB
JavaScript
const ProjectStatusOptions = [
"DRAFT",
"AVAILABLE",
"NOTAVAILABLE",
"DELETED",
"LEASED",
"BOOKED",
"SOLD",
"HOLD",
"CONTRACT",
"PARTIAL",
];
const CurrencyIdOptions = [
"EUR",
"SGD",
"GBP",
"AUD",
"USD",
"IDR",
"THB",
];
const ProjectStatusTypeOptions = [
"Off The Plan",
"Completed",
"Under Construction",
];
const PaymentGatewayOption = [
"SQUAREUP",
"DOKU",
"BRAINTREE",
"TAZAPAY",
"NAB",
"PAYPALL",
];
const SocialMediaName = [
"FACEBOOK",
"INSTAGRAM",
"YOUTUBE",
"LINKEDIN",
"TIKTOK",
"GOOGLE+",
"TWITER",
"PINTEREST",
];
const TemplateTypeData = ["NAVBAR", "FOOTER", "SECTION"];
const EmployeeTypeData = [
"Administrator",
"Director",
"Personal Sisten",
"Office Admin",
"Agent Repesentative",
"Property Management",
"Sales Repesentative",
];
const PipeLineFlowData = [
"New Leads",
"Agent Contact",
"In Progress",
"Done",
];
const SourceListData = [
"Website",
"Facebook",
"Instagram",
"Phone-in",
"Newspaper",
"Wolk-in",
"Door Knoking",
"Other",
];
const agentLanguageOption = ["English", "Bahasa", "French", "Mandarin"];
const PropertyTypeData = [
"Residential",
"Rural",
"Commercial",
"Holiday",
"Business",
];
const ProductCategoryData = [
"Apartment",
"Development",
"Factory",
"House",
"Land",
"Office",
"Semi/Duplex",
"Retail",
"Studio",
"Block Of Units",
"Terrace",
"Townhouse",
"Unit",
"Villa",
"Warehouse",
"Showroom",
"Cropping",
"Dairy",
"Farmlet",
"Horticulture",
"Lifestyle",
"Livestock",
"Viticulture",
"Mixed Farming",
"Acreage",
"Hotel/Leisure",
"Medical/Consulting",
"BackpackerHostel",
"BedAndBreakfast",
"Campground",
"CaravanHolidayPark",
"ExecutiveRental",
"FarmStay",
"Flat",
"HouseBoat",
"Lodge",
"Motel",
"Resort",
"Retreat",
"SelfContainedCottage",
"ServicedApartment",
"Car Space",
"Accommodation/Tourism",
"Automotive",
"Beauty/Health",
"Food/Hospitality",
"Import/Export/Whole",
"Services",
"Education/Training",
"Franchise",
"Home/Garden",
"Industrial/Manufacturing",
"Leisure/Entertainment",
"Professional",
"Rural",
"Transport/Distribution",
"Other",
];
const SubscribedOptions = [
"Marketing/Newsletter Emails",
"Matching Property Alert Emails",
"SMS Messages",
"Marketing Letters",
];
const MakeId = (length) => {
var result = "";
var characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
var charactersLength = characters.length;
for (var i = 0; i < length; i++) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
};
const makeId = (length) => {
var result = "";
var characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
var charactersLength = characters.length;
for (var i = 0; i < length; i++) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
};
const formatMoney = (data) => {
const formatter = new Intl.NumberFormat(data.format ? data.format : "en-US", {
style: "currency",
currency: data.currencyCode ? data.currencyCode : "USD",
minimumFractionDigits: data.minimumFractionDigits
? data.minimumFractionDigits
: 2,
});
return formatter.format(Math.trunc(data.num));
};
const CerateSlug = (str) => {
str = String(str).toString();
str = str.replace(/^\s+|\s+$/g, ""); // trim
str = str.toLowerCase();
// remove accents, swap ñ for n, etc
const swaps = {
"0": ["°", "₀", "۰", "0"],
"1": ["¹", "₁", "۱", "1"],
"2": ["²", "₂", "۲", "2"],
"3": ["³", "₃", "۳", "3"],
"4": ["⁴", "₄", "۴", "٤", "4"],
"5": ["⁵", "₅", "۵", "٥", "5"],
"6": ["⁶", "₆", "۶", "٦", "6"],
"7": ["⁷", "₇", "۷", "7"],
"8": ["⁸", "₈", "۸", "8"],
"9": ["⁹", "₉", "۹", "9"],
a: [
"à",
"á",
"ả",
"ã",
"ạ",
"ă",
"ắ",
"ằ",
"ẳ",
"ẵ",
"ặ",
"â",
"ấ",
"ầ",
"ẩ",
"ẫ",
"ậ",
"ā",
"ą",
"å",
"α",
"ά",
"ἀ",
"ἁ",
"ἂ",
"ἃ",
"ἄ",
"ἅ",
"ἆ",
"ἇ",
"ᾀ",
"ᾁ",
"ᾂ",
"ᾃ",
"ᾄ",
"ᾅ",
"ᾆ",
"ᾇ",
"ὰ",
"ά",
"ᾰ",
"ᾱ",
"ᾲ",
"ᾳ",
"ᾴ",
"ᾶ",
"ᾷ",
"а",
"أ",
"အ",
"ာ",
"ါ",
"ǻ",
"ǎ",
"ª",
"ა",
"अ",
"ا",
"a",
"ä",
],
b: ["б", "β", "ب", "ဗ", "ბ", "b"],
c: ["ç", "ć", "č", "ĉ", "ċ", "c"],
d: [
"ď",
"ð",
"đ",
"ƌ",
"ȡ",
"ɖ",
"ɗ",
"ᵭ",
"ᶁ",
"ᶑ",
"д",
"δ",
"د",
"ض",
"ဍ",
"ဒ",
"დ",
"d",
],
e: [
"é",
"è",
"ẻ",
"ẽ",
"ẹ",
"ê",
"ế",
"ề",
"ể",
"ễ",
"ệ",
"ë",
"ē",
"ę",
"ě",
"ĕ",
"ė",
"ε",
"έ",
"ἐ",
"ἑ",
"ἒ",
"ἓ",
"ἔ",
"ἕ",
"ὲ",
"έ",
"е",
"ё",
"э",
"є",
"ə",
"ဧ",
"ေ",
"ဲ",
"ე",
"ए",
"إ",
"ئ",
"e",
],
f: ["ф", "φ", "ف", "ƒ", "ფ", "f"],
g: ["ĝ", "ğ", "ġ", "ģ", "г", "ґ", "γ", "ဂ", "გ", "گ", "g"],
h: ["ĥ", "ħ", "η", "ή", "ح", "ه", "ဟ", "ှ", "ჰ", "h"],
i: [
"í",
"ì",
"ỉ",
"ĩ",
"ị",
"î",
"ï",
"ī",
"ĭ",
"į",
"ı",
"ι",
"ί",
"ϊ",
"ΐ",
"ἰ",
"ἱ",
"ἲ",
"ἳ",
"ἴ",
"ἵ",
"ἶ",
"ἷ",
"ὶ",
"ί",
"ῐ",
"ῑ",
"ῒ",
"ΐ",
"ῖ",
"ῗ",
"і",
"ї",
"и",
"ဣ",
"ိ",
"ီ",
"ည်",
"ǐ",
"ი",
"इ",
"ی",
"i",
],
j: ["ĵ", "ј", "Ј", "ჯ", "ج", "j"],
k: ["ķ", "ĸ", "к", "κ", "Ķ", "ق", "ك", "က", "კ", "ქ", "ک", "k"],
l: ["ł", "ľ", "ĺ", "ļ", "ŀ", "л", "λ", "ل", "လ", "ლ", "l"],
m: ["м", "μ", "م", "မ", "მ", "m"],
n: ["ñ", "ń", "ň", "ņ", "ʼn", "ŋ", "ν", "н", "ن", "န", "ნ", "n"],
o: [
"ó",
"ò",
"ỏ",
"õ",
"ọ",
"ô",
"ố",
"ồ",
"ổ",
"ỗ",
"ộ",
"ơ",
"ớ",
"ờ",
"ở",
"ỡ",
"ợ",
"ø",
"ō",
"ő",
"ŏ",
"ο",
"ὀ",
"ὁ",
"ὂ",
"ὃ",
"ὄ",
"ὅ",
"ὸ",
"ό",
"о",
"و",
"θ",
"ို",
"ǒ",
"ǿ",
"º",
"ო",
"ओ",
"o",
"ö",
],
p: ["п", "π", "ပ", "პ", "پ", "p"],
q: ["ყ", "q"],
r: ["ŕ", "ř", "ŗ", "р", "ρ", "ر", "რ", "r"],
s: ["ś", "š", "ş", "с", "σ", "ș", "ς", "س", "ص", "စ", "ſ", "ს", "s"],
t: ["ť", "ţ", "т", "τ", "ț", "ت", "ط", "ဋ", "တ", "ŧ", "თ", "ტ", "t"],
u: [
"ú",
"ù",
"ủ",
"ũ",
"ụ",
"ư",
"ứ",
"ừ",
"ử",
"ữ",
"ự",
"û",
"ū",
"ů",
"ű",
"ŭ",
"ų",
"µ",
"у",
"ဉ",
"ု",
"ူ",
"ǔ",
"ǖ",
"ǘ",
"ǚ",
"ǜ",
"უ",
"उ",
"u",
"ў",
"ü",
],
v: ["в", "ვ", "ϐ", "v"],
w: ["ŵ", "ω", "ώ", "ဝ", "ွ", "w"],
x: ["χ", "ξ", "x"],
y: [
"ý",
"ỳ",
"ỷ",
"ỹ",
"ỵ",
"ÿ",
"ŷ",
"й",
"ы",
"υ",
"ϋ",
"ύ",
"ΰ",
"ي",
"ယ",
"y",
],
z: ["ź", "ž", "ż", "з", "ζ", "ز", "ဇ", "ზ", "z"],
aa: ["ع", "आ", "آ"],
ae: ["æ", "ǽ"],
ai: ["ऐ"],
ch: ["ч", "ჩ", "ჭ", "چ"],
dj: ["ђ", "đ"],
dz: ["џ", "ძ"],
ei: ["ऍ"],
gh: ["غ", "ღ"],
ii: ["ई"],
ij: ["ij"],
kh: ["х", "خ", "ხ"],
lj: ["љ"],
nj: ["њ"],
oe: ["ö", "œ", "ؤ"],
oi: ["ऑ"],
oii: ["ऒ"],
ps: ["ψ"],
sh: ["ш", "შ", "ش"],
shch: ["щ"],
ss: ["ß"],
sx: ["ŝ"],
th: ["þ", "ϑ", "ث", "ذ", "ظ"],
ts: ["ц", "ც", "წ"],
ue: ["ü"],
uu: ["ऊ"],
ya: ["я"],
yu: ["ю"],
zh: ["ж", "ჟ", "ژ"],
"(c)": ["©"],
A: [
"Á",
"À",
"Ả",
"Ã",
"Ạ",
"Ă",
"Ắ",
"Ằ",
"Ẳ",
"Ẵ",
"Ặ",
"Â",
"Ấ",
"Ầ",
"Ẩ",
"Ẫ",
"Ậ",
"Å",
"Ā",
"Ą",
"Α",
"Ά",
"Ἀ",
"Ἁ",
"Ἂ",
"Ἃ",
"Ἄ",
"Ἅ",
"Ἆ",
"Ἇ",
"ᾈ",
"ᾉ",
"ᾊ",
"ᾋ",
"ᾌ",
"ᾍ",
"ᾎ",
"ᾏ",
"Ᾰ",
"Ᾱ",
"Ὰ",
"Ά",
"ᾼ",
"А",
"Ǻ",
"Ǎ",
"A",
"Ä",
],
B: ["Б", "Β", "ब", "B"],
C: ["Ç", "Ć", "Č", "Ĉ", "Ċ", "C"],
D: ["Ď", "Ð", "Đ", "Ɖ", "Ɗ", "Ƌ", "ᴅ", "ᴆ", "Д", "Δ", "D"],
E: [
"É",
"È",
"Ẻ",
"Ẽ",
"Ẹ",
"Ê",
"Ế",
"Ề",
"Ể",
"Ễ",
"Ệ",
"Ë",
"Ē",
"Ę",
"Ě",
"Ĕ",
"Ė",
"Ε",
"Έ",
"Ἐ",
"Ἑ",
"Ἒ",
"Ἓ",
"Ἔ",
"Ἕ",
"Έ",
"Ὲ",
"Е",
"Ё",
"Э",
"Є",
"Ə",
"E",
],
F: ["Ф", "Φ", "F"],
G: ["Ğ", "Ġ", "Ģ", "Г", "Ґ", "Γ", "G"],
H: ["Η", "Ή", "Ħ", "H"],
I: [
"Í",
"Ì",
"Ỉ",
"Ĩ",
"Ị",
"Î",
"Ï",
"Ī",
"Ĭ",
"Į",
"İ",
"Ι",
"Ί",
"Ϊ",
"Ἰ",
"Ἱ",
"Ἳ",
"Ἴ",
"Ἵ",
"Ἶ",
"Ἷ",
"Ῐ",
"Ῑ",
"Ὶ",
"Ί",
"И",
"І",
"Ї",
"Ǐ",
"ϒ",
"I",
],
J: ["J"],
K: ["К", "Κ", "K"],
L: ["Ĺ", "Ł", "Л", "Λ", "Ļ", "Ľ", "Ŀ", "ल", "L"],
M: ["М", "Μ", "M"],
N: ["Ń", "Ñ", "Ň", "Ņ", "Ŋ", "Н", "Ν", "N"],
O: [
"Ó",
"Ò",
"Ỏ",
"Õ",
"Ọ",
"Ô",
"Ố",
"Ồ",
"Ổ",
"Ỗ",
"Ộ",
"Ơ",
"Ớ",
"Ờ",
"Ở",
"Ỡ",
"Ợ",
"Ø",
"Ō",
"Ő",
"Ŏ",
"Ο",
"Ό",
"Ὀ",
"Ὁ",
"Ὂ",
"Ὃ",
"Ὄ",
"Ὅ",
"Ὸ",
"Ό",
"О",
"Θ",
"Ө",
"Ǒ",
"Ǿ",
"O",
"Ö",
],
P: ["П", "Π", "P"],
Q: ["Q"],
R: ["Ř", "Ŕ", "Р", "Ρ", "Ŗ", "R"],
S: ["Ş", "Ŝ", "Ș", "Š", "Ś", "С", "Σ", "S"],
T: ["Ť", "Ţ", "Ŧ", "Ț", "Т", "Τ", "T"],
U: [
"Ú",
"Ù",
"Ủ",
"Ũ",
"Ụ",
"Ư",
"Ứ",
"Ừ",
"Ử",
"Ữ",
"Ự",
"Û",
"Ū",
"Ů",
"Ű",
"Ŭ",
"Ų",
"У",
"Ǔ",
"Ǖ",
"Ǘ",
"Ǚ",
"Ǜ",
"U",
"Ў",
"Ü",
],
V: ["В", "V"],
W: ["Ω", "Ώ", "Ŵ", "W"],
X: ["Χ", "Ξ", "X"],
Y: [
"Ý",
"Ỳ",
"Ỷ",
"Ỹ",
"Ỵ",
"Ÿ",
"Ῠ",
"Ῡ",
"Ὺ",
"Ύ",
"Ы",
"Й",
"Υ",
"Ϋ",
"Ŷ",
"Y",
],
Z: ["Ź", "Ž", "Ż", "З", "Ζ", "Z"],
AE: ["Æ", "Ǽ"],
Ch: ["Ч"],
Dj: ["Ђ"],
Dz: ["Џ"],
Gx: ["Ĝ"],
Hx: ["Ĥ"],
Ij: ["IJ"],
Jx: ["Ĵ"],
Kh: ["Х"],
Lj: ["Љ"],
Nj: ["Њ"],
Oe: ["Œ"],
Ps: ["Ψ"],
Sh: ["Ш"],
Shch: ["Щ"],
Ss: ["ẞ"],
Th: ["Þ"],
Ts: ["Ц"],
Ya: ["Я"],
Yu: ["Ю"],
Zh: ["Ж"],
};
Object.keys(swaps).forEach((swap) => {
swaps[swap].forEach((s) => {
str = str.replace(new RegExp(s, "g"), swap);
});
});
return str
.replace(/[^a-z0-9 -]/g, "") // remove invalid chars
.replace(/\s+/g, "-") // collapse whitespace and replace by -
.replace(/-+/g, "-") // collapse dashes
.replace(/^-+/, "") // trim - from start of text
.replace(/-+$/, "");
};
const createSlug = (str) => {
str = String(str).toString();
str = str.replace(/^\s+|\s+$/g, ""); // trim
str = str.toLowerCase();
// remove accents, swap ñ for n, etc
const swaps = {
"0": ["°", "₀", "۰", "0"],
"1": ["¹", "₁", "۱", "1"],
"2": ["²", "₂", "۲", "2"],
"3": ["³", "₃", "۳", "3"],
"4": ["⁴", "₄", "۴", "٤", "4"],
"5": ["⁵", "₅", "۵", "٥", "5"],
"6": ["⁶", "₆", "۶", "٦", "6"],
"7": ["⁷", "₇", "۷", "7"],
"8": ["⁸", "₈", "۸", "8"],
"9": ["⁹", "₉", "۹", "9"],
a: [
"à",
"á",
"ả",
"ã",
"ạ",
"ă",
"ắ",
"ằ",
"ẳ",
"ẵ",
"ặ",
"â",
"ấ",
"ầ",
"ẩ",
"ẫ",
"ậ",
"ā",
"ą",
"å",
"α",
"ά",
"ἀ",
"ἁ",
"ἂ",
"ἃ",
"ἄ",
"ἅ",
"ἆ",
"ἇ",
"ᾀ",
"ᾁ",
"ᾂ",
"ᾃ",
"ᾄ",
"ᾅ",
"ᾆ",
"ᾇ",
"ὰ",
"ά",
"ᾰ",
"ᾱ",
"ᾲ",
"ᾳ",
"ᾴ",
"ᾶ",
"ᾷ",
"а",
"أ",
"အ",
"ာ",
"ါ",
"ǻ",
"ǎ",
"ª",
"ა",
"अ",
"ا",
"a",
"ä",
],
b: ["б", "β", "ب", "ဗ", "ბ", "b"],
c: ["ç", "ć", "č", "ĉ", "ċ", "c"],
d: [
"ď",
"ð",
"đ",
"ƌ",
"ȡ",
"ɖ",
"ɗ",
"ᵭ",
"ᶁ",
"ᶑ",
"д",
"δ",
"د",
"ض",
"ဍ",
"ဒ",
"დ",
"d",
],
e: [
"é",
"è",
"ẻ",
"ẽ",
"ẹ",
"ê",
"ế",
"ề",
"ể",
"ễ",
"ệ",
"ë",
"ē",
"ę",
"ě",
"ĕ",
"ė",
"ε",
"έ",
"ἐ",
"ἑ",
"ἒ",
"ἓ",
"ἔ",
"ἕ",
"ὲ",
"έ",
"е",
"ё",
"э",
"є",
"ə",
"ဧ",
"ေ",
"ဲ",
"ე",
"ए",
"إ",
"ئ",
"e",
],
f: ["ф", "φ", "ف", "ƒ", "ფ", "f"],
g: ["ĝ", "ğ", "ġ", "ģ", "г", "ґ", "γ", "ဂ", "გ", "گ", "g"],
h: ["ĥ", "ħ", "η", "ή", "ح", "ه", "ဟ", "ှ", "ჰ", "h"],
i: [
"í",
"ì",
"ỉ",
"ĩ",
"ị",
"î",
"ï",
"ī",
"ĭ",
"į",
"ı",
"ι",
"ί",
"ϊ",
"ΐ",
"ἰ",
"ἱ",
"ἲ",
"ἳ",
"ἴ",
"ἵ",
"ἶ",
"ἷ",
"ὶ",
"ί",
"ῐ",
"ῑ",
"ῒ",
"ΐ",
"ῖ",
"ῗ",
"і",
"ї",
"и",
"ဣ",
"ိ",
"ီ",
"ည်",
"ǐ",
"ი",
"इ",
"ی",
"i",
],
j: ["ĵ", "ј", "Ј", "ჯ", "ج", "j"],
k: ["ķ", "ĸ", "к", "κ", "Ķ", "ق", "ك", "က", "კ", "ქ", "ک", "k"],
l: ["ł", "ľ", "ĺ", "ļ", "ŀ", "л", "λ", "ل", "လ", "ლ", "l"],
m: ["м", "μ", "م", "မ", "მ", "m"],
n: ["ñ", "ń", "ň", "ņ", "ʼn", "ŋ", "ν", "н", "ن", "န", "ნ", "n"],
o: [
"ó",
"ò",
"ỏ",
"õ",
"ọ",
"ô",
"ố",
"ồ",
"ổ",
"ỗ",
"ộ",
"ơ",
"ớ",
"ờ",
"ở",
"ỡ",
"ợ",
"ø",
"ō",
"ő",
"ŏ",
"ο",
"ὀ",
"ὁ",
"ὂ",
"ὃ",
"ὄ",
"ὅ",
"ὸ",
"ό",
"о",
"و",
"θ",
"ို",
"ǒ",
"ǿ",
"º",
"ო",
"ओ",
"o",
"ö",
],
p: ["п", "π", "ပ", "პ", "پ", "p"],
q: ["ყ", "q"],
r: ["ŕ", "ř", "ŗ", "р", "ρ", "ر", "რ", "r"],
s: ["ś", "š", "ş", "с", "σ", "ș", "ς", "س", "ص", "စ", "ſ", "ს", "s"],
t: ["ť", "ţ", "т", "τ", "ț", "ت", "ط", "ဋ", "တ", "ŧ", "თ", "ტ", "t"],
u: [
"ú",
"ù",
"ủ",
"ũ",
"ụ",
"ư",
"ứ",
"ừ",
"ử",
"ữ",
"ự",
"û",
"ū",
"ů",
"ű",
"ŭ",
"ų",
"µ",
"у",
"ဉ",
"ု",
"ူ",
"ǔ",
"ǖ",
"ǘ",
"ǚ",
"ǜ",
"უ",
"उ",
"u",
"ў",
"ü",
],
v: ["в", "ვ", "ϐ", "v"],
w: ["ŵ", "ω", "ώ", "ဝ", "ွ", "w"],
x: ["χ", "ξ", "x"],
y: [
"ý",
"ỳ",
"ỷ",
"ỹ",
"ỵ",
"ÿ",
"ŷ",
"й",
"ы",
"υ",
"ϋ",
"ύ",
"ΰ",
"ي",
"ယ",
"y",
],
z: ["ź", "ž", "ż", "з", "ζ", "ز", "ဇ", "ზ", "z"],
aa: ["ع", "आ", "آ"],
ae: ["æ", "ǽ"],
ai: ["ऐ"],
ch: ["ч", "ჩ", "ჭ", "چ"],
dj: ["ђ", "đ"],
dz: ["џ", "ძ"],
ei: ["ऍ"],
gh: ["غ", "ღ"],
ii: ["ई"],
ij: ["ij"],
kh: ["х", "خ", "ხ"],
lj: ["љ"],
nj: ["њ"],
oe: ["ö", "œ", "ؤ"],
oi: ["ऑ"],
oii: ["ऒ"],
ps: ["ψ"],
sh: ["ш", "შ", "ش"],
shch: ["щ"],
ss: ["ß"],
sx: ["ŝ"],
th: ["þ", "ϑ", "ث", "ذ", "ظ"],
ts: ["ц", "ც", "წ"],
ue: ["ü"],
uu: ["ऊ"],
ya: ["я"],
yu: ["ю"],
zh: ["ж", "ჟ", "ژ"],
"(c)": ["©"],
A: [
"Á",
"À",
"Ả",
"Ã",
"Ạ",
"Ă",
"Ắ",
"Ằ",
"Ẳ",
"Ẵ",
"Ặ",
"Â",
"Ấ",
"Ầ",
"Ẩ",
"Ẫ",
"Ậ",
"Å",
"Ā",
"Ą",
"Α",
"Ά",
"Ἀ",
"Ἁ",
"Ἂ",
"Ἃ",
"Ἄ",
"Ἅ",
"Ἆ",
"Ἇ",
"ᾈ",
"ᾉ",
"ᾊ",
"ᾋ",
"ᾌ",
"ᾍ",
"ᾎ",
"ᾏ",
"Ᾰ",
"Ᾱ",
"Ὰ",
"Ά",
"ᾼ",
"А",
"Ǻ",
"Ǎ",
"A",
"Ä",
],
B: ["Б", "Β", "ब", "B"],
C: ["Ç", "Ć", "Č", "Ĉ", "Ċ", "C"],
D: ["Ď", "Ð", "Đ", "Ɖ", "Ɗ", "Ƌ", "ᴅ", "ᴆ", "Д", "Δ", "D"],
E: [
"É",
"È",
"Ẻ",
"Ẽ",
"Ẹ",
"Ê",
"Ế",
"Ề",
"Ể",
"Ễ",
"Ệ",
"Ë",
"Ē",
"Ę",
"Ě",
"Ĕ",
"Ė",
"Ε",
"Έ",
"Ἐ",
"Ἑ",
"Ἒ",
"Ἓ",
"Ἔ",
"Ἕ",
"Έ",
"Ὲ",
"Е",
"Ё",
"Э",
"Є",
"Ə",
"E",
],
F: ["Ф", "Φ", "F"],
G: ["Ğ", "Ġ", "Ģ", "Г", "Ґ", "Γ", "G"],
H: ["Η", "Ή", "Ħ", "H"],
I: [
"Í",
"Ì",
"Ỉ",
"Ĩ",
"Ị",
"Î",
"Ï",
"Ī",
"Ĭ",
"Į",
"İ",
"Ι",
"Ί",
"Ϊ",
"Ἰ",
"Ἱ",
"Ἳ",
"Ἴ",
"Ἵ",
"Ἶ",
"Ἷ",
"Ῐ",
"Ῑ",
"Ὶ",
"Ί",
"И",
"І",
"Ї",
"Ǐ",
"ϒ",
"I",
],
J: ["J"],
K: ["К", "Κ", "K"],
L: ["Ĺ", "Ł", "Л", "Λ", "Ļ", "Ľ", "Ŀ", "ल", "L"],
M: ["М", "Μ", "M"],
N: ["Ń", "Ñ", "Ň", "Ņ", "Ŋ", "Н", "Ν", "N"],
O: [
"Ó",
"Ò",
"Ỏ",
"Õ",
"Ọ",
"Ô",
"Ố",
"Ồ",
"Ổ",
"Ỗ",
"Ộ",
"Ơ",
"Ớ",
"Ờ",
"Ở",
"Ỡ",
"Ợ",
"Ø",
"Ō",
"Ő",
"Ŏ",
"Ο",
"Ό",
"Ὀ",
"Ὁ",
"Ὂ",
"Ὃ",
"Ὄ",
"Ὅ",
"Ὸ",
"Ό",
"О",
"Θ",
"Ө",
"Ǒ",
"Ǿ",
"O",
"Ö",
],
P: ["П", "Π", "P"],
Q: ["Q"],
R: ["Ř", "Ŕ", "Р", "Ρ", "Ŗ", "R"],
S: ["Ş", "Ŝ", "Ș", "Š", "Ś", "С", "Σ", "S"],
T: ["Ť", "Ţ", "Ŧ", "Ț", "Т", "Τ", "T"],
U: [
"Ú",
"Ù",
"Ủ",
"Ũ",
"Ụ",
"Ư",
"Ứ",
"Ừ",
"Ử",
"Ữ",
"Ự",
"Û",
"Ū",
"Ů",
"Ű",
"Ŭ",
"Ų",
"У",
"Ǔ",
"Ǖ",
"Ǘ",
"Ǚ",
"Ǜ",
"U",
"Ў",
"Ü",
],
V: ["В", "V"],
W: ["Ω", "Ώ", "Ŵ", "W"],
X: ["Χ", "Ξ", "X"],
Y: [
"Ý",
"Ỳ",
"Ỷ",
"Ỹ",
"Ỵ",
"Ÿ",
"Ῠ",
"Ῡ",
"Ὺ",
"Ύ",
"Ы",
"Й",
"Υ",
"Ϋ",
"Ŷ",
"Y",
],
Z: ["Ź", "Ž", "Ż", "З", "Ζ", "Z"],
AE: ["Æ", "Ǽ"],
Ch: ["Ч"],
Dj: ["Ђ"],
Dz: ["Џ"],
Gx: ["Ĝ"],
Hx: ["Ĥ"],
Ij: ["IJ"],
Jx: ["Ĵ"],
Kh: ["Х"],
Lj: ["Љ"],
Nj: ["Њ"],
Oe: ["Œ"],
Ps: ["Ψ"],
Sh: ["Ш"],
Shch: ["Щ"],
Ss: ["ẞ"],
Th: ["Þ"],
Ts: ["Ц"],
Ya: ["Я"],
Yu: ["Ю"],
Zh: ["Ж"],
};
Object.keys(swaps).forEach((swap) => {
swaps[swap].forEach((s) => {
str = str.replace(new RegExp(s, "g"), swap);
});
});
return str
.replace(/[^a-z0-9 -]/g, "") // remove invalid chars
.replace(/\s+/g, "-") // collapse whitespace and replace by -
.replace(/-+/g, "-") // collapse dashes
.replace(/^-+/, "") // trim - from start of text
.replace(/-+$/, "");
};
/**
* Generates a random UUID
* @param a - The parameter a is a number that is used to generate the UUID. If you don't pass a
* parameter, the function will generate a random number.
*/
// export const generateRandomUUID = (a: any) => (a ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16) : ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, generateRandomUUID));
/**
* Return a new array with the elements of the original array in a random order.
* @param arr - The array to shuffle.
*/
const shuffleArray = (arr) => arr.sort(() => Math.random() - 0.5);
/**
* It takes an array, converts it to a Set, and then converts it back to an array
* @param arr - The array to be filtered.
*/
const getUniqueArray = (arr) => [...new Set(arr)];
/**
* If the current element is an array, flatten it, otherwise, add it to the accumulator.
*/
// export const flattenArray = (arr: any[]) => arr.reduce((a, b) => a.concat(Array.isArray(b) ? flattenArray(b) : b), []);
/**
* Generate a random hex colour code.
*/
const generateRandomHexColor = () => `#${Math.floor(Math.random() * 0xffffff).toString(16)}`;
/**
* It takes three numbers, one for red, one for green, and one for blue, and returns a hexadecimal
* string representing the color
* @param r - red value
* @param g - The green value of the color.
* @param b - blue
*/
const rgbToHex = (r, g, b) => "#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);
/**
* It converts a hexadecimal color code to an RGB color code.
* @param hex - The hexadecimal color code.
*/
const hexToRgb = (hex) => hex.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, (m, r, g, b) => '#' + r + r + g + g + b + b).substring(1).match(/.{2}/g).map((x) => parseInt(x, 16));
/**
* Given an array of numbers, return the average of those numbers.
*/
const average = (arr) => arr.reduce((p, c) => p + c, 0) / arr.length;
/**
* It converts a string to camel case.
*/
const toCamelCase = (str) => str.replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => index == 0 ? word.toLowerCase() : word.toUpperCase()).replace(/\s+/g, '');
/**
* Replace all words in a string with the first letter capitalized and the rest of the letters
* lowercase.
*/
const toTitleCase = (str) => str.replace(/\w\S*/g, txt => txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase());
/**
* Replace all whitespace characters with underscores and convert the string to lowercase.
*/
const toSnakeCase = (str) => str.replace(/\s+/g, '_').toLowerCase();
export { CerateSlug, CurrencyIdOptions, EmployeeTypeData, MakeId, PaymentGatewayOption, PipeLineFlowData, ProductCategoryData, ProjectStatusOptions, ProjectStatusTypeOptions, PropertyTypeData, SocialMediaName, SourceListData, SubscribedOptions, TemplateTypeData, agentLanguageOption, average, createSlug, formatMoney, generateRandomHexColor, getUniqueArray, hexToRgb, makeId, rgbToHex, shuffleArray, toCamelCase, toSnakeCase, toTitleCase };
//# sourceMappingURL=index.js.map