@opexa/portal-components 0.0.869 → 0.0.871

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.
Files changed (174) hide show
  1. package/dist/client/hooks/useLocaleInfo.d.ts +1 -1
  2. package/dist/client/hooks/useLocaleInfo.js +1 -1
  3. package/dist/components/DepositWithdrawal/Deposit/OnlineBankDeposit/OnlineBankDepositContext.d.ts +2 -2
  4. package/dist/components/DepositWithdrawal/Deposit/OnlineBankDeposit/useOnlineBankDeposit.d.ts +1 -1
  5. package/dist/components/GamesSearch/GamesSearch.js +10 -6
  6. package/dist/components/Jackpots/JackpotsList/useJackpotsListItemData.d.ts +1 -1
  7. package/dist/components/Jackpots/JackpotsListNext/useJackpotsListItemData.d.ts +1 -1
  8. package/dist/components/SignIn/MobileNumberField.d.ts +14 -0
  9. package/dist/components/SignIn/MobileNumberField.js +62 -0
  10. package/dist/components/SignIn/MobileNumberSignInternational.d.ts +1 -0
  11. package/dist/components/SignIn/MobileNumberSignInternational.js +266 -0
  12. package/dist/components/SignIn/SignIn.lazy.d.ts +2 -0
  13. package/dist/components/SignIn/SignInForm.js +4 -2
  14. package/dist/components/SignUp/SignUp.d.ts +3 -1
  15. package/dist/components/SignUp/SignUp.js +14 -0
  16. package/dist/components/SignUp/SignUpCrazyWin/SignUpCrazyWin.lazy.d.ts +22 -0
  17. package/dist/components/SignUp/SignUpCrazyWin/SignUpCrazyWin.lazy.js +25 -0
  18. package/dist/components/SignUp/SignUpCrazyWin/SignUpCrazyWinContext.d.ts +6 -0
  19. package/dist/components/SignUp/SignUpCrazyWin/SignUpCrazyWinContext.js +2 -0
  20. package/dist/components/SignUp/SignUpCrazyWin/SignUpCrazyWinForm.d.ts +1 -0
  21. package/dist/components/SignUp/SignUpCrazyWin/SignUpCrazyWinForm.js +282 -0
  22. package/dist/components/SignUp/SignUpDefault/SignUpDefault.lazy.d.ts +2 -0
  23. package/dist/components/SignUp/SignUpDefault/SignUpDefault.lazy.js +2 -1
  24. package/dist/components/SignUp/SignUpDefault/SignUpDefaultFormInternational.d.ts +1 -0
  25. package/dist/components/SignUp/SignUpDefault/SignUpDefaultFormInternational.js +305 -0
  26. package/dist/components/SignUp/SignUpHappyBingo/SignUpHappyBingo.lazy.d.ts +23 -0
  27. package/dist/components/SignUp/SignUpHappyBingo/SignUpHappyBingo.lazy.js +26 -0
  28. package/dist/components/SignUp/SignUpHappyBingo/SignUpHappyBingoContext.d.ts +6 -0
  29. package/dist/components/SignUp/SignUpHappyBingo/SignUpHappyBingoContext.js +2 -0
  30. package/dist/components/SignUp/SignUpHappyBingo/SignUpHappyBingoForm.d.ts +1 -0
  31. package/dist/components/SignUp/SignUpHappyBingo/SignUpHappyBingoForm.js +345 -0
  32. package/dist/components/Tournaments/TournamentsList/useTournamentListItemData.d.ts +1 -1
  33. package/dist/constants/BranchCodes.d.ts +4 -0
  34. package/dist/constants/BranchCodes.js +38 -0
  35. package/dist/images/calendar-icon.webp +0 -0
  36. package/dist/utils/countries/countryCodeParser.d.ts +1 -0
  37. package/dist/utils/countries/countryCodeParser.js +9 -0
  38. package/dist/utils/countries/flags/AlgeriaFlag.d.ts +2 -0
  39. package/dist/utils/countries/flags/AlgeriaFlag.js +3 -0
  40. package/dist/utils/countries/flags/ArubaFlag.d.ts +2 -0
  41. package/dist/utils/countries/flags/ArubaFlag.js +2 -0
  42. package/dist/utils/countries/flags/AustraliaFlag.d.ts +2 -0
  43. package/dist/utils/countries/flags/AustraliaFlag.js +2 -0
  44. package/dist/utils/countries/flags/AustriaFlag.d.ts +2 -0
  45. package/dist/utils/countries/flags/AustriaFlag.js +2 -0
  46. package/dist/utils/countries/flags/BahrainFlag.d.ts +2 -0
  47. package/dist/utils/countries/flags/BahrainFlag.js +2 -0
  48. package/dist/utils/countries/flags/BelgiumFlag.d.ts +2 -0
  49. package/dist/utils/countries/flags/BelgiumFlag.js +2 -0
  50. package/dist/utils/countries/flags/BrazilFlag.d.ts +2 -0
  51. package/dist/utils/countries/flags/BrazilFlag.js +2 -0
  52. package/dist/utils/countries/flags/BruneiFlag.d.ts +2 -0
  53. package/dist/utils/countries/flags/BruneiFlag.js +2 -0
  54. package/dist/utils/countries/flags/CambodiaFlag.d.ts +2 -0
  55. package/dist/utils/countries/flags/CambodiaFlag.js +2 -0
  56. package/dist/utils/countries/flags/CanadaFlag.d.ts +2 -0
  57. package/dist/utils/countries/flags/CanadaFlag.js +2 -0
  58. package/dist/utils/countries/flags/CroatiaFlag.d.ts +2 -0
  59. package/dist/utils/countries/flags/CroatiaFlag.js +2 -0
  60. package/dist/utils/countries/flags/CyprusFlag.d.ts +2 -0
  61. package/dist/utils/countries/flags/CyprusFlag.js +2 -0
  62. package/dist/utils/countries/flags/EgyptFlag.d.ts +2 -0
  63. package/dist/utils/countries/flags/EgyptFlag.js +2 -0
  64. package/dist/utils/countries/flags/FinlandFlag.d.ts +2 -0
  65. package/dist/utils/countries/flags/FinlandFlag.js +2 -0
  66. package/dist/utils/countries/flags/FranceFlag.d.ts +2 -0
  67. package/dist/utils/countries/flags/FranceFlag.js +2 -0
  68. package/dist/utils/countries/flags/GermanyFlag.d.ts +2 -0
  69. package/dist/utils/countries/flags/GermanyFlag.js +2 -0
  70. package/dist/utils/countries/flags/GreeceFlag.d.ts +2 -0
  71. package/dist/utils/countries/flags/GreeceFlag.js +2 -0
  72. package/dist/utils/countries/flags/GuamFlag.d.ts +2 -0
  73. package/dist/utils/countries/flags/GuamFlag.js +2 -0
  74. package/dist/utils/countries/flags/HongKongFlag.d.ts +2 -0
  75. package/dist/utils/countries/flags/HongKongFlag.js +2 -0
  76. package/dist/utils/countries/flags/HungaryFlag.d.ts +2 -0
  77. package/dist/utils/countries/flags/HungaryFlag.js +2 -0
  78. package/dist/utils/countries/flags/IndianFlag.d.ts +2 -0
  79. package/dist/utils/countries/flags/IndianFlag.js +2 -0
  80. package/dist/utils/countries/flags/IndonesianFlag.d.ts +2 -0
  81. package/dist/utils/countries/flags/IndonesianFlag.js +2 -0
  82. package/dist/utils/countries/flags/IraqFlag.d.ts +2 -0
  83. package/dist/utils/countries/flags/IraqFlag.js +2 -0
  84. package/dist/utils/countries/flags/IrelandFlag.d.ts +2 -0
  85. package/dist/utils/countries/flags/IrelandFlag.js +2 -0
  86. package/dist/utils/countries/flags/IsraelFlag.d.ts +2 -0
  87. package/dist/utils/countries/flags/IsraelFlag.js +2 -0
  88. package/dist/utils/countries/flags/ItalyFlag.d.ts +2 -0
  89. package/dist/utils/countries/flags/ItalyFlag.js +2 -0
  90. package/dist/utils/countries/flags/JapanFlag.d.ts +2 -0
  91. package/dist/utils/countries/flags/JapanFlag.js +2 -0
  92. package/dist/utils/countries/flags/JordanFlag.d.ts +2 -0
  93. package/dist/utils/countries/flags/JordanFlag.js +2 -0
  94. package/dist/utils/countries/flags/KuwaitFlag.d.ts +2 -0
  95. package/dist/utils/countries/flags/KuwaitFlag.js +2 -0
  96. package/dist/utils/countries/flags/LatviaFlag.d.ts +2 -0
  97. package/dist/utils/countries/flags/LatviaFlag.js +2 -0
  98. package/dist/utils/countries/flags/LebanonFlag.d.ts +2 -0
  99. package/dist/utils/countries/flags/LebanonFlag.js +2 -0
  100. package/dist/utils/countries/flags/LithuaniaFlag.d.ts +2 -0
  101. package/dist/utils/countries/flags/LithuaniaFlag.js +2 -0
  102. package/dist/utils/countries/flags/LuxembourgFlag.d.ts +2 -0
  103. package/dist/utils/countries/flags/LuxembourgFlag.js +2 -0
  104. package/dist/utils/countries/flags/MacauFlag.d.ts +2 -0
  105. package/dist/utils/countries/flags/MacauFlag.js +2 -0
  106. package/dist/utils/countries/flags/MalaysianFlag.d.ts +2 -0
  107. package/dist/utils/countries/flags/MalaysianFlag.js +2 -0
  108. package/dist/utils/countries/flags/MaltaFlag.d.ts +2 -0
  109. package/dist/utils/countries/flags/MaltaFlag.js +2 -0
  110. package/dist/utils/countries/flags/NetherlandsFlag.d.ts +2 -0
  111. package/dist/utils/countries/flags/NetherlandsFlag.js +2 -0
  112. package/dist/utils/countries/flags/NewZealandFlag.d.ts +2 -0
  113. package/dist/utils/countries/flags/NewZealandFlag.js +2 -0
  114. package/dist/utils/countries/flags/NorthernMarianaIslandsFlag.d.ts +2 -0
  115. package/dist/utils/countries/flags/NorthernMarianaIslandsFlag.js +2 -0
  116. package/dist/utils/countries/flags/NorwayFlag.d.ts +2 -0
  117. package/dist/utils/countries/flags/NorwayFlag.js +2 -0
  118. package/dist/utils/countries/flags/OmanFlag.d.ts +2 -0
  119. package/dist/utils/countries/flags/OmanFlag.js +2 -0
  120. package/dist/utils/countries/flags/PhilippineFlag.d.ts +2 -0
  121. package/dist/utils/countries/flags/PhilippineFlag.js +2 -0
  122. package/dist/utils/countries/flags/PolandFlag.d.ts +2 -0
  123. package/dist/utils/countries/flags/PolandFlag.js +2 -0
  124. package/dist/utils/countries/flags/PortugalFlag.d.ts +2 -0
  125. package/dist/utils/countries/flags/PortugalFlag.js +2 -0
  126. package/dist/utils/countries/flags/QatarFlag.d.ts +2 -0
  127. package/dist/utils/countries/flags/QatarFlag.js +2 -0
  128. package/dist/utils/countries/flags/RomaniaFlag.d.ts +2 -0
  129. package/dist/utils/countries/flags/RomaniaFlag.js +2 -0
  130. package/dist/utils/countries/flags/SaoTomeAndPrincipeFlag.d.ts +2 -0
  131. package/dist/utils/countries/flags/SaoTomeAndPrincipeFlag.js +2 -0
  132. package/dist/utils/countries/flags/SaudiArabiaFlag.d.ts +2 -0
  133. package/dist/utils/countries/flags/SaudiArabiaFlag.js +2 -0
  134. package/dist/utils/countries/flags/SingaporeFlag.d.ts +2 -0
  135. package/dist/utils/countries/flags/SingaporeFlag.js +2 -0
  136. package/dist/utils/countries/flags/SlovakiaFlag.d.ts +2 -0
  137. package/dist/utils/countries/flags/SlovakiaFlag.js +2 -0
  138. package/dist/utils/countries/flags/SouthKoreaFlag.d.ts +2 -0
  139. package/dist/utils/countries/flags/SouthKoreaFlag.js +2 -0
  140. package/dist/utils/countries/flags/SpainFlag.d.ts +2 -0
  141. package/dist/utils/countries/flags/SpainFlag.js +2 -0
  142. package/dist/utils/countries/flags/SwedenFlag.d.ts +2 -0
  143. package/dist/utils/countries/flags/SwedenFlag.js +2 -0
  144. package/dist/utils/countries/flags/SwitzerlandFlag.d.ts +2 -0
  145. package/dist/utils/countries/flags/SwitzerlandFlag.js +2 -0
  146. package/dist/utils/countries/flags/TaiwanFlag.d.ts +2 -0
  147. package/dist/utils/countries/flags/TaiwanFlag.js +2 -0
  148. package/dist/utils/countries/flags/TanzaniaFlag.d.ts +2 -0
  149. package/dist/utils/countries/flags/TanzaniaFlag.js +2 -0
  150. package/dist/utils/countries/flags/TrinidadAndTobagoFlag.d.ts +2 -0
  151. package/dist/utils/countries/flags/TrinidadAndTobagoFlag.js +2 -0
  152. package/dist/utils/countries/flags/TurkiyeFlag.d.ts +2 -0
  153. package/dist/utils/countries/flags/TurkiyeFlag.js +2 -0
  154. package/dist/utils/countries/flags/UnitedArabEmiratesFlag.d.ts +2 -0
  155. package/dist/utils/countries/flags/UnitedArabEmiratesFlag.js +2 -0
  156. package/dist/utils/countries/flags/UnitedKingdomFlag.d.ts +2 -0
  157. package/dist/utils/countries/flags/UnitedKingdomFlag.js +2 -0
  158. package/dist/utils/countries/flags/UnitedStatesFlag.d.ts +2 -0
  159. package/dist/utils/countries/flags/UnitedStatesFlag.js +2 -0
  160. package/dist/utils/countries/flags/UzbekistanFlag.d.ts +2 -0
  161. package/dist/utils/countries/flags/UzbekistanFlag.js +2 -0
  162. package/dist/utils/countries/flags/VietnameseFlag.d.ts +2 -0
  163. package/dist/utils/countries/flags/VietnameseFlag.js +2 -0
  164. package/dist/utils/countries/flags/index.d.ts +63 -0
  165. package/dist/utils/countries/flags/index.js +63 -0
  166. package/dist/utils/countries/getAllCountries.d.ts +24 -0
  167. package/dist/utils/countries/getAllCountries.js +296 -0
  168. package/dist/utils/countries/getLocaleInfo.d.ts +2 -0
  169. package/dist/utils/countries/getLocaleInfo.js +1154 -0
  170. package/dist/utils/countries/types.d.ts +79 -0
  171. package/dist/utils/countries/types.js +1 -0
  172. package/dist/utils/sanitizeGamesSearch.d.ts +1 -0
  173. package/dist/utils/sanitizeGamesSearch.js +9 -0
  174. package/package.json +1 -1
@@ -0,0 +1,345 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { createListCollection, parseDate } from '@ark-ui/react';
4
+ import { zodResolver } from '@hookform/resolvers/zod';
5
+ import { ObjectId } from '@opexa/object-id';
6
+ import { differenceInYears, format } from 'date-fns';
7
+ import { useRouter } from 'next/navigation';
8
+ import { useRef, useState } from 'react';
9
+ import { Controller, useForm } from 'react-hook-form';
10
+ import { twJoin } from 'tailwind-merge';
11
+ import { z } from 'zod';
12
+ import { useShallow } from 'zustand/shallow';
13
+ import { useControllableState } from '../../../client/hooks/useControllableState.js';
14
+ import { useCooldown } from '../../../client/hooks/useCooldown.js';
15
+ import { useGlobalStore } from '../../../client/hooks/useGlobalStore.js';
16
+ import { useLocaleInfo } from '../../../client/hooks/useLocaleInfo.js';
17
+ import { useMobileNumberParser } from '../../../client/hooks/useMobileNumberParser.js';
18
+ import { useSendVerificationCodeMutation } from '../../../client/hooks/useSendVerificationCodeMutation.js';
19
+ import { useSignInMutation } from '../../../client/hooks/useSignInMutation.js';
20
+ import { useSignUpMutation } from '../../../client/hooks/useSignUpMutation.js';
21
+ import { toaster } from '../../../client/utils/toaster.js';
22
+ import { SHARED_BRANCH_CODES } from '../../../constants/BranchCodes.js';
23
+ import { ArrowLeftIcon } from '../../../icons/ArrowLeftIcon.js';
24
+ import { CalendarIcon } from '../../../icons/CalendarIcon.js';
25
+ import { CheckIcon } from '../../../icons/CheckIcon.js';
26
+ import { ChevronDownIcon } from '../../../icons/ChevronDownIcon.js';
27
+ import { ChevronLeftIcon } from '../../../icons/ChevronLeftIcon.js';
28
+ import { ChevronRightIcon } from '../../../icons/ChevronRightIcon.js';
29
+ import { ObjectType } from '../../../services/ObjectType.js';
30
+ import { Button } from '../../../ui/Button/index.js';
31
+ import { Checkbox } from '../../../ui/Checkbox/index.js';
32
+ import { DatePicker } from '../../../ui/DatePicker/index.js';
33
+ import { Field } from '../../../ui/Field/index.js';
34
+ import { PinInput } from '../../../ui/PinInput/index.js';
35
+ import { Select } from '../../../ui/Select/index.js';
36
+ import { createPoll } from '../../../utils/createPoll.js';
37
+ import { useSignUpHappyBingoPropsContext } from './SignUpHappyBingoContext.js';
38
+ export function SignUpHappyBingoForm() {
39
+ const signUpProps = useSignUpHappyBingoPropsContext();
40
+ const branchCollection = createListCollection({
41
+ items: SHARED_BRANCH_CODES,
42
+ itemToValue: (item) => item.code,
43
+ itemToString: (item) => item.name,
44
+ });
45
+ const [step, setStep] = useState(1);
46
+ const router = useRouter();
47
+ const globalStore = useGlobalStore(useShallow((ctx) => ({
48
+ kycReminder: ctx.kycReminder,
49
+ signIn: ctx.signIn,
50
+ signUp: ctx.signUp,
51
+ termsAndConditions: ctx.termsAndConditions,
52
+ responsibleGaming: ctx.responsibleGaming,
53
+ kyc: ctx.kyc,
54
+ })));
55
+ const signUpMutation = useSignUpMutation();
56
+ const signInMutation = useSignInMutation();
57
+ const sendVerificationCodeMutation = useSendVerificationCodeMutation();
58
+ const localeInfo = useLocaleInfo();
59
+ const mobileNumberParser = useMobileNumberParser();
60
+ const Step1Definition = z.object({
61
+ mobileNumber: z
62
+ .string()
63
+ .min(1, 'Mobile number is required')
64
+ .superRefine((v, ctx) => {
65
+ if (!mobileNumberParser.validate(v)) {
66
+ ctx.addIssue({
67
+ code: z.ZodIssueCode.custom,
68
+ message: 'Invalid mobile number',
69
+ });
70
+ }
71
+ }),
72
+ firstName: z
73
+ .string()
74
+ .regex(/^[a-z ]+$/gi, 'First name must contain only letters')
75
+ .transform((val) => val.trim())
76
+ .refine((val) => val.length >= 2, {
77
+ message: 'First name must be 2 or more characters',
78
+ })
79
+ .refine((val) => val.length <= 50, {
80
+ message: 'First name must not be more than 50 characters',
81
+ }),
82
+ lastName: z
83
+ .string()
84
+ .regex(/^[a-z ]+$/gi, 'Last name must contain only letters')
85
+ .transform((val) => val.trim())
86
+ .refine((val) => val.length >= 2, {
87
+ message: 'Last name must be 2 or more characters',
88
+ })
89
+ .refine((val) => val.length <= 50, {
90
+ message: 'Last name must not be more than 50 characters',
91
+ }),
92
+ birthDay: z
93
+ .date({
94
+ invalid_type_error: 'Date of birth is required',
95
+ required_error: 'Date of birth is required',
96
+ })
97
+ .superRefine((val, ctx) => {
98
+ const now = new Date();
99
+ const age = differenceInYears(now, val);
100
+ if (age < 21) {
101
+ return ctx.addIssue({
102
+ code: z.ZodIssueCode.custom,
103
+ message: 'You must be at least 21 years old',
104
+ });
105
+ }
106
+ }),
107
+ branchCode: z.string().min(1, 'Branch is required').trim(),
108
+ termsAccepted: z.boolean().superRefine((v, ctx) => {
109
+ if (!v) {
110
+ ctx.addIssue({
111
+ code: z.ZodIssueCode.custom,
112
+ message: 'You must accept the terms and conditions',
113
+ });
114
+ }
115
+ }),
116
+ });
117
+ const Step2Definition = z.object({
118
+ verificationCode: z.array(z.string()).superRefine((val, ctx) => {
119
+ if (val.length !== 6 || val.some((v) => v.length !== 1)) {
120
+ ctx.addIssue({
121
+ code: z.ZodIssueCode.custom,
122
+ message: 'Please enter your 6-digit verification code.',
123
+ });
124
+ }
125
+ }),
126
+ });
127
+ const step1Form = useForm({
128
+ mode: 'all',
129
+ resolver: zodResolver(Step1Definition),
130
+ defaultValues: {
131
+ firstName: '',
132
+ lastName: '',
133
+ mobileNumber: '',
134
+ branchCode: SHARED_BRANCH_CODES.length > 0 ? SHARED_BRANCH_CODES[0].code : undefined,
135
+ termsAccepted: globalStore.responsibleGaming.accepted &&
136
+ globalStore.termsAndConditions.accepted
137
+ ? true
138
+ : false,
139
+ },
140
+ });
141
+ const step2Form = useForm({
142
+ resolver: zodResolver(Step2Definition),
143
+ defaultValues: {
144
+ verificationCode: Array.from({ length: 6 }).fill(''),
145
+ },
146
+ });
147
+ const cooldown = useCooldown({
148
+ max: 60,
149
+ duration: 1000 * 60,
150
+ });
151
+ const form2Ref = useRef(null);
152
+ const pinInputClass = twJoin('border-[#D0D5DD] bg-white text-[#0f1929] placeholder:text-[#d1d6de] focus:border-[#FDE272] dark:border-[#333741] dark:bg-[#0C111D] dark:text-[#f5f5f6] dark:focus:border-[#FDE272] dark:placeholder:text-[#85888E]');
153
+ return (_jsxs(_Fragment, { children: [step === 1 && (_jsxs(_Fragment, { children: [_jsx("h2", { className: "text-center font-semibold text-[#101828] text-lg dark:text-[#f5f5f6]", children: "Create an account" }), _jsx("p", { className: "text-center text-[#475467] text-sm dark:text-[#94969C]", children: "Register instantly and start playing!" }), _jsxs("form", { className: "mt-5", autoComplete: "off", onSubmit: step1Form.handleSubmit(async (data) => {
154
+ try {
155
+ await sendVerificationCodeMutation.mutateAsync({
156
+ channel: 'SMS',
157
+ recipient: mobileNumberParser.format(data.mobileNumber),
158
+ });
159
+ setStep(2);
160
+ cooldown.start();
161
+ }
162
+ catch (e) {
163
+ toaster.error({
164
+ description: e instanceof Error
165
+ ? e.message
166
+ : 'Failed to send verification code',
167
+ });
168
+ }
169
+ }), children: [_jsxs(Field.Root, { invalid: !!step1Form.formState.errors.mobileNumber, children: [_jsx(Field.Label, { className: "text-[#344054] dark:text-[#CECFD2]", children: "Mobile Number" }), _jsxs("div", { className: "relative", children: [_jsxs("div", { className: "-translate-y-1/2 absolute top-1/2 left-3.5 flex shrink-0 items-center gap-md", children: [_jsx(localeInfo.country.flag, { className: "size-5" }), _jsx("span", { className: "text-text-placeholder", children: localeInfo.mobileNumber.areaCode })] }), _jsx(Field.Input, { className: "block h-11 w-full appearance-none rounded-lg border border-[#D0D5DD] bg-white px-3.5 pl-18 text-[#101828] shadow-xs outline-none placeholder:text-[#667085] disabled:cursor-not-allowed disabled:opacity-50 disabled:shadow-none aria-invalid:border-[#FDA29B] dark:border-[#333741] dark:bg-[#0C111D] dark:text-[#f5f5f6] dark:aria-invalid:border-[#F97066] dark:placeholder:text-[#85888E] [&::-webkit-search-cancel-button]:hidden [&::-webkit-search-decoration]:hidden [&::-webkit-search-results-button]:hidden [&::-webkit-search-results-decoration]:hidden", style: {
170
+ paddingLeft: `calc(2.75rem + ${localeInfo.mobileNumber.areaCode.length}ch)`,
171
+ }, ...step1Form.register('mobileNumber') })] }), _jsx(Field.ErrorText, { className: "text-[#D92D20] text-sm dark:text-[#F97066]", children: step1Form.formState.errors.mobileNumber?.message })] }), _jsxs(Field.Root, { invalid: !!step1Form.formState.errors.firstName, className: "mt-xl", children: [_jsx(Field.Label, { className: "text-[#344054] dark:text-[#CECFD2]", children: "First Name" }), _jsx(Field.Input, { placeholder: "Enter your first name", ...step1Form.register('firstName'), className: "border-[#D0D5DD] bg-white text-[#101828] dark:border-[#333741] dark:bg-[#0C111D] dark:text-[#F5F5F6]" }), _jsx(Field.ErrorText, { className: "text-[#ff2525b3] text-xs", children: step1Form.formState.errors.firstName?.message })] }), _jsxs(Field.Root, { invalid: !!step1Form.formState.errors.lastName, className: "mt-xl", children: [_jsx(Field.Label, { className: "text-[#344054] dark:text-[#CECFD2]", children: "Last Name" }), _jsx(Field.Input, { placeholder: "Enter your last name", ...step1Form.register('lastName'), className: "border-[#D0D5DD] bg-white text-[#101828] dark:border-[#333741] dark:bg-[#0C111D] dark:text-[#F5F5F6]" }), _jsx(Field.ErrorText, { className: "text-[#ff2525b3] text-xs", children: step1Form.formState.errors.lastName?.message })] }), _jsxs(Field.Root, { invalid: !!step1Form.formState.errors.birthDay, className: "mt-xl", children: [_jsx(DateOfBirthField, { value: step1Form.watch('birthDay'), onChange: (value) => {
172
+ if (!value)
173
+ return;
174
+ step1Form.setValue('birthDay', value, {
175
+ shouldDirty: true,
176
+ shouldTouch: true,
177
+ shouldValidate: true,
178
+ });
179
+ }, onBlur: () => step1Form.trigger('birthDay') }), _jsx(Field.ErrorText, { className: "text-[#ff2525b3] text-xs", children: step1Form.formState.errors.birthDay?.message })] }), _jsxs(Field.Root, { invalid: !!step1Form.formState.errors.branchCode, className: "mt-xl", children: [_jsxs(Select.Root, { value: [step1Form.watch('branchCode') ?? ''], onValueChange: (details) => {
180
+ step1Form.setValue('branchCode', details.value?.[0], {
181
+ shouldDirty: true,
182
+ shouldTouch: true,
183
+ shouldValidate: true,
184
+ });
185
+ }, collection: branchCollection, positioning: {
186
+ sameWidth: true,
187
+ placement: 'bottom',
188
+ }, lazyMount: true, unmountOnExit: true, children: [_jsxs(Select.Label, { className: "text-[#344054] dark:text-[#CECFD2]", children: ["Branch Code", ' ', _jsx("span", { "aria-hidden": "true", className: "text-[#D92D20] text-sm dark:text-[#F97066]", children: "*" })] }), _jsxs(Select.Trigger, { className: "border-[#D0D5DD] bg-white text-[#101828] dark:border-[#333741] dark:bg-[#0C111D] dark:text-[#F5F5F6]", children: [step1Form.watch('branchCode') ? (_jsx(Select.ValueText, {})) : (_jsx("div", { className: "text-text-placeholder", children: "Select Branch Code" })), _jsx(Select.Indicator, { className: "ml-auto", children: _jsx(ChevronDownIcon, {}) })] }), _jsx(Select.Positioner, { children: _jsx(Select.Content, { children: SHARED_BRANCH_CODES.map((item) => {
189
+ return (_jsx(Select.Item, { item: item, children: _jsx("div", { title: item.name, className: "line-clamp-1", children: item.name }) }, item.code));
190
+ }) }) })] }), _jsx(Field.ErrorText, { className: "text-[#ff2525b3] text-xs", children: step1Form.formState.errors.branchCode?.message })] }), _jsx(Button, { type: "submit", className: "mt-3xl", disabled: step1Form.formState.isSubmitting, children: signUpProps.isRegulated ? 'Continue' : 'Create Account' }), _jsx(Controller, { control: step1Form.control, name: "termsAccepted", render: (o) => (_jsxs(Field.Root, { className: "mt-2xl", invalid: o.fieldState.invalid, children: [_jsxs(Checkbox.Root, { variant: "outline", checked: o.field.value, onCheckedChange: (details) => {
191
+ if (details.checked === 'indeterminate')
192
+ return;
193
+ o.field.onChange(details.checked);
194
+ globalStore.termsAndConditions.setAccepted(details.checked);
195
+ globalStore.responsibleGaming.setAccepted(details.checked);
196
+ }, children: [_jsx(Checkbox.Control, { className: "border-[#D0D5DD] bg-transparent dark:border-[#333741]", children: _jsx(Checkbox.Indicator, { asChild: true, children: _jsx(CheckIcon, {}) }) }), _jsx(Checkbox.Label, { children: _jsxs("span", { className: "text-[#667085] dark:text-[#94969C]", children: ["I confirm that I am at least 21 years old, not listed in the PAGCOR NDRP, not a GEL license holder, government employee, or member of the Armed Forces of the Philippines. I am not playing in a public space and agree to", ' ', _jsx("button", { type: "button", className: "text-[#CA8504] underline underline-offset-2 dark:text-[#CECFD2]", onClick: () => {
197
+ if (signUpProps.termsAndConditionsUrl) {
198
+ globalStore.signIn.setOpen(false);
199
+ router.push(signUpProps.termsAndConditionsUrl);
200
+ }
201
+ else {
202
+ globalStore.termsAndConditions.setOpen(true);
203
+ globalStore.termsAndConditions.setNext('SIGN_IN');
204
+ }
205
+ }, children: "Terms of Use" }), ' ', "and", ' ', _jsx("button", { type: "button", className: "text-[#CA8504] underline underline-offset-2 dark:text-[#CECFD2]", onClick: () => {
206
+ if (signUpProps.termsAndConditionsUrl) {
207
+ globalStore.signIn.setOpen(false);
208
+ router.push(signUpProps.termsAndConditionsUrl);
209
+ }
210
+ else {
211
+ globalStore.termsAndConditions.setOpen(true);
212
+ globalStore.termsAndConditions.setNext('SIGN_IN');
213
+ }
214
+ }, children: "Privacy Policy" }), ". Ineligible accounts will have their funds forfeited to the government."] }) }), _jsx(Checkbox.HiddenInput, {})] }), _jsx(Field.ErrorText, { className: "ml-6 text-xs", children: o.fieldState.error?.message })] })) })] }), _jsxs("div", { className: "mt-6 flex w-full items-center justify-center gap-xs text-sm", children: [_jsx("span", { className: "text-[#475467] dark:text-[#94969C]", children: "Already have an account?" }), _jsx("button", { type: "submit", className: "font-semibold text-[#A15C07] dark:text-[#CECFD2]", onClick: () => {
215
+ globalStore.signUp.setOpen(false);
216
+ globalStore.signIn.setOpen(true);
217
+ }, children: "Log In" })] })] })), step === 2 && (_jsxs(_Fragment, { children: [_jsx("h2", { className: "text-center font-semibold text-[#101828] text-lg dark:text-[#f5f5f6]", children: "Check your Phone" }), _jsxs("p", { className: "mt-xs text-center text-[#475467] text-sm dark:text-[#94969C]", children: ["We\u2019ve sent a verification code to your mobile number", ' ', _jsx("span", { className: "font-semibold", children: mobileNumberParser.format(step1Form.getValues('mobileNumber')) }), ' ', "via text"] }), _jsxs("form", { ref: form2Ref, className: "mt-5", onSubmit: step2Form.handleSubmit(async ({ verificationCode }) => {
218
+ const id = ObjectId.generate(ObjectType.MemberAccount).toString();
219
+ const { mobileNumber } = step1Form.getValues();
220
+ const birthdayValue = step1Form.getValues('birthDay');
221
+ try {
222
+ await signUpMutation.mutateAsync({
223
+ id,
224
+ mobileNumber: mobileNumberParser.format(mobileNumber),
225
+ realName: `${step1Form.getValues('firstName')} ${step1Form.getValues('lastName')}`,
226
+ birthDay: format(birthdayValue, 'yyyy-MM-dd'),
227
+ branchCode: step1Form.getValues('branchCode'),
228
+ verificationCode: verificationCode.join(''),
229
+ });
230
+ const name = mobileNumberParser.format(mobileNumber);
231
+ const password = `${name}${id}`;
232
+ const pollLogin = createPoll(async () => {
233
+ try {
234
+ await signInMutation.mutateAsync({
235
+ type: 'NAME_AND_PASSWORD',
236
+ name,
237
+ password,
238
+ });
239
+ return true;
240
+ }
241
+ catch {
242
+ return false;
243
+ }
244
+ }, {
245
+ until: (ok) => ok,
246
+ interval: 1500,
247
+ maxAttempt: 5,
248
+ });
249
+ const ok = await pollLogin();
250
+ if (!ok) {
251
+ globalStore.signIn.setOpen(true);
252
+ return;
253
+ }
254
+ globalStore.signUp.setOpen(false);
255
+ step1Form.reset();
256
+ step2Form.reset();
257
+ setStep(1);
258
+ }
259
+ catch (error) {
260
+ toaster.error({
261
+ description: error instanceof Error
262
+ ? error.message
263
+ : 'Invalid Verification Code',
264
+ });
265
+ }
266
+ }), children: [_jsx(Controller, { name: "verificationCode", control: step2Form.control, render: (o) => (_jsxs(Field.Root, { invalid: o.fieldState.invalid, children: [_jsxs(PinInput.Root, { placeholder: "0", value: o.field.value, onValueChange: (details) => {
267
+ o.field.onChange(details.value);
268
+ }, onKeyDown: (e) => {
269
+ if (e.key === 'Backspace') {
270
+ step2Form.reset();
271
+ }
272
+ }, onValueComplete: () => {
273
+ form2Ref.current?.requestSubmit();
274
+ }, blurOnComplete: true, readOnly: step2Form.formState.isSubmitting, type: "numeric", children: [_jsxs(PinInput.Control, { className: "grid-cols-[1fr_1fr_1fr_auto_1fr_1fr_1fr] items-center gap-md", children: [_jsx(PinInput.Input, { index: 0, className: pinInputClass }), _jsx(PinInput.Input, { index: 1, className: pinInputClass }), _jsx(PinInput.Input, { index: 2, className: pinInputClass }), _jsx("span", { className: "font-medium text-2xl text-[#D0D5DD] leading-[1.5rem] dark:text-[#333741]", children: "\u2013" }), _jsx(PinInput.Input, { index: 3, className: pinInputClass }), _jsx(PinInput.Input, { index: 4, className: pinInputClass }), _jsx(PinInput.Input, { index: 5, className: pinInputClass })] }), _jsx(PinInput.HiddenInput, {})] }), _jsx(Field.ErrorText, { children: o.formState.errors.verificationCode?.message })] })) }), _jsx(Button, { type: "submit", className: "mt-4xl", disabled: step2Form.formState.isSubmitting, children: "Continue" }), _jsxs("div", { className: "mt-3 flex w-full items-center justify-center gap-xs text-sm", children: [_jsx("span", { className: "text-[#475467] dark:text-[#94969C]", children: "Didn't receive the code?" }), _jsx("button", { type: "button", className: "font-semibold text-[#A15C07] dark:text-[#CECFD2]", disabled: cooldown.cooling, onClick: async () => {
275
+ await sendVerificationCodeMutation.mutateAsync({
276
+ channel: 'SMS',
277
+ recipient: mobileNumberParser.format(step1Form.getValues('mobileNumber')),
278
+ });
279
+ cooldown.start();
280
+ }, children: cooldown.cooling
281
+ ? `Try again in ${cooldown.countdown}s`
282
+ : 'Click to resend' })] }), _jsxs("button", { type: "button", className: "mx-auto mt-3xl flex w-fit items-center gap-1 font-semibold text-[#101828] text-sm dark:text-[#f5f5f6]", onClick: () => {
283
+ setStep(1);
284
+ step2Form.reset();
285
+ cooldown.stop();
286
+ }, children: [_jsx(ArrowLeftIcon, { className: "size-5 text-[#475467] dark:text-[#94969C]" }), "Back"] })] })] }))] }));
287
+ }
288
+ const DEVICE_TIMEZONE = Intl.DateTimeFormat().resolvedOptions().timeZone;
289
+ function DateOfBirthField(props) {
290
+ const [value, setValue] = useControllableState({
291
+ value: props.value,
292
+ defaultValue: props.defaultValue ?? null,
293
+ onChange: props.onChange,
294
+ });
295
+ // Custom input handler to automatically add slashes
296
+ const handleInput = (e) => {
297
+ const input = e.currentTarget;
298
+ const oldValue = input.value;
299
+ const oldCursorPosition = input.selectionStart ?? 0;
300
+ // Get digits only from the current input value string
301
+ const digitsOnly = input.value.replace(/\D/g, '');
302
+ let formattedValue = '';
303
+ // Format MM/DD/YYYY
304
+ if (digitsOnly.length > 0) {
305
+ formattedValue += digitsOnly.substring(0, 2);
306
+ if (digitsOnly.length > 2) {
307
+ formattedValue += `/${digitsOnly.substring(2, 4)}`;
308
+ }
309
+ if (digitsOnly.length > 4) {
310
+ formattedValue += `/${digitsOnly.substring(4, 8)}`;
311
+ }
312
+ }
313
+ formattedValue = formattedValue.substring(0, 10); // Limit length
314
+ if (formattedValue !== oldValue) {
315
+ input.value = formattedValue;
316
+ let newCursorPosition = oldCursorPosition;
317
+ // Calculate the number of slashes before the old cursor position in the old value
318
+ const oldSlashesBeforeCursor = (oldValue.substring(0, oldCursorPosition).match(/\//g) || []).length;
319
+ // Calculate the number of slashes before the new cursor position in the new formatted value
320
+ // We take the substring of the new formatted value up to where the cursor *would* be based on the old digits
321
+ const digitsBeforeOldCursor = oldValue
322
+ .substring(0, oldCursorPosition)
323
+ .replace(/\D/g, '').length;
324
+ const newSlashesBeforeCursor = (formattedValue
325
+ .substring(0, digitsBeforeOldCursor + oldSlashesBeforeCursor)
326
+ .match(/\//g) || []).length;
327
+ // Adjust newCursorPosition based on the difference in slash count
328
+ newCursorPosition += newSlashesBeforeCursor - oldSlashesBeforeCursor;
329
+ // Ensure cursor stays within bounds
330
+ newCursorPosition = Math.min(newCursorPosition, formattedValue.length);
331
+ newCursorPosition = Math.max(0, newCursorPosition);
332
+ setTimeout(() => {
333
+ input.setSelectionRange(newCursorPosition, newCursorPosition);
334
+ }, 0);
335
+ }
336
+ };
337
+ return (_jsxs(DatePicker.Root, { size: "md", variant: "outline", placeholder: "mm/dd/yyyy", lazyMount: true, unmountOnExit: true, fixedWeeks: true, selectionMode: "single", value: value ? [parseDate(value)] : [], onValueChange: (details) => {
338
+ const value = details.value.at(0)?.toDate(DEVICE_TIMEZONE);
339
+ setValue(value ?? null);
340
+ }, children: [_jsxs(DatePicker.Label, { className: "text-[#344054] dark:text-[#CECFD2]", children: ["Date of Birth", ' ', _jsx("span", { "aria-hidden": "true", className: "text-[#D92D20] text-sm dark:text-[#F97066]", children: "*" })] }), _jsxs(DatePicker.Control, { className: "border-[#D0D5DD] bg-white text-[#101828] dark:border-[#333741] dark:bg-[#0C111D] dark:text-[#F5F5F6]", children: [_jsx(DatePicker.Input, { onBlur: props.onBlur, onFocus: props.onFocus, onInput: handleInput }), _jsx(DatePicker.Trigger, { children: _jsx(CalendarIcon, {}) })] }), _jsx(DatePicker.Positioner, { children: _jsxs(DatePicker.Content, { children: [_jsx(DatePicker.View, { view: "day", children: _jsx(DatePicker.Context, { children: (api) => (_jsxs(_Fragment, { children: [_jsxs(DatePicker.ViewControl, { children: [_jsx(DatePicker.PrevTrigger, { children: _jsx(ChevronLeftIcon, {}) }), _jsx(DatePicker.ViewTrigger, { children: _jsx(DatePicker.RangeText, {}) }), _jsx(DatePicker.NextTrigger, { children: _jsx(ChevronRightIcon, {}) })] }), _jsxs(DatePicker.Table, { children: [_jsx(DatePicker.TableHead, { children: _jsx(DatePicker.TableRow, { children: api.weekDays.map((weekDay, id) => (_jsx(DatePicker.TableHeader, { children: weekDay.short.substring(0, 2) }, id))) }) }), _jsx(DatePicker.TableBody, { children: api.weeks.map((week, id) => (_jsx(DatePicker.TableRow, { children: week.map((day, id) => (_jsx(DatePicker.TableCell, { value: day, children: _jsx(DatePicker.TableCellTrigger, { children: day.day }) }, id))) }, id))) })] })] })) }) }), _jsx(DatePicker.View, { view: "month", children: _jsx(DatePicker.Context, { children: (datePicker) => (_jsxs(_Fragment, { children: [_jsxs(DatePicker.ViewControl, { children: [_jsx(DatePicker.PrevTrigger, { children: _jsx(ChevronLeftIcon, {}) }), _jsx(DatePicker.ViewTrigger, { children: _jsx(DatePicker.RangeText, {}) }), _jsx(DatePicker.NextTrigger, { children: _jsx(ChevronRightIcon, {}) })] }), _jsx(DatePicker.Table, { children: _jsx(DatePicker.TableBody, { children: datePicker
341
+ .getMonthsGrid({ columns: 4, format: 'short' })
342
+ .map((months, id) => (_jsx(DatePicker.TableRow, { children: months.map((month, id) => (_jsx(DatePicker.TableCell, { value: month.value, children: _jsx(DatePicker.TableCellTrigger, { className: "w-[4.425rem]", children: month.label }) }, id))) }, id))) }) })] })) }) }), _jsx(DatePicker.View, { view: "year", children: _jsx(DatePicker.Context, { children: (datePicker) => (_jsxs(_Fragment, { children: [_jsxs(DatePicker.ViewControl, { children: [_jsx(DatePicker.PrevTrigger, { children: _jsx(ChevronLeftIcon, {}) }), _jsx(DatePicker.ViewTrigger, { children: _jsx(DatePicker.RangeText, {}) }), _jsx(DatePicker.NextTrigger, { children: _jsx(ChevronRightIcon, {}) })] }), _jsx(DatePicker.Table, { children: _jsx(DatePicker.TableBody, { children: datePicker
343
+ .getYearsGrid({ columns: 4 })
344
+ .map((years, id) => (_jsx(DatePicker.TableRow, { children: years.map((year, id) => (_jsx(DatePicker.TableCell, { value: year.value, children: _jsx(DatePicker.TableCellTrigger, { className: "w-[4.425rem]", children: year.label }) }, id))) }, id))) }) })] })) }) })] }) })] }));
345
+ }
@@ -6,5 +6,5 @@ export declare function useTournamentsListItemData(): {
6
6
  tournamentReward: number;
7
7
  prizeAmountsByRank: number[];
8
8
  filteredGameProviders: import("../../../types").GameProviderData[];
9
- localeInfo: import("../../../utils/getLocaleInfo").LocaleInfo;
9
+ localeInfo: import("../../../utils/countries/types").LocaleInfo;
10
10
  };
@@ -0,0 +1,4 @@
1
+ export declare const SHARED_BRANCH_CODES: {
2
+ code: string;
3
+ name: string;
4
+ }[];
@@ -0,0 +1,38 @@
1
+ export const SHARED_BRANCH_CODES = [
2
+ {
3
+ code: 'BRCAL',
4
+ name: 'Bingo Republic 2nd floor Primark Center Deparo St., Caloocan City',
5
+ },
6
+ {
7
+ code: 'BRNAG',
8
+ name: 'Bingo Republic 3rd floor Robinsons Mall, Naga City, Camarines Sur',
9
+ },
10
+ {
11
+ code: 'BRANT',
12
+ name: 'Bingo Republic 2nd floor Robinsons Mall, San Vicente,Antique',
13
+ },
14
+ {
15
+ code: 'BRRQC',
16
+ name: '143 Roosevelt Ave., Brgy. Paraiso, San Francisco Del Monte District 1, Quezon City',
17
+ },
18
+ {
19
+ code: 'OT2TURBN',
20
+ name: '2nd Floor Turbina-Morales Business Center, KM. 52, National Highway, Brgy. Turbina, Calamba City',
21
+ },
22
+ {
23
+ code: 'OT2BYPAS',
24
+ name: '2nd Floor Infinity Square Building, Along the Road, Lamesa, Calamba City',
25
+ },
26
+ {
27
+ code: 'OT2STACZ',
28
+ name: 'Units GF & 49 Sunstar Mall, National Road, Brgy. Gatid, Sta. Cruz, Laguna',
29
+ },
30
+ {
31
+ code: 'OECPANG',
32
+ name: 'Xentro Mall Angono, ML Quezon Ave., Brgy. San Pedro Angono, Rizal',
33
+ },
34
+ {
35
+ code: 'OECPLIPA',
36
+ name: 'Lipa Exchange Bldg. Brgy. Mataas na Lupa Lipa City',
37
+ },
38
+ ];
Binary file
@@ -0,0 +1 @@
1
+ export declare function countryCodeParser(countryCode: string, mobileNumber: string): string;
@@ -0,0 +1,9 @@
1
+ export function countryCodeParser(countryCode, mobileNumber) {
2
+ if (mobileNumber.startsWith(countryCode)) {
3
+ return mobileNumber;
4
+ }
5
+ if (mobileNumber.startsWith(countryCode.substring(1))) {
6
+ return `+${mobileNumber}`;
7
+ }
8
+ return countryCode + mobileNumber;
9
+ }
@@ -0,0 +1,2 @@
1
+ import type { ComponentPropsWithRef } from 'react';
2
+ export declare const AlgeriaFlag: (props: ComponentPropsWithRef<"svg">) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // Source design simplified to circular variant
3
+ export const AlgeriaFlag = (props) => (_jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [_jsx("circle", { cx: "12", cy: "12", r: "12", fill: "#F0F0F0" }), _jsx("path", { d: "M0 12C0 5.3726 5.3726 0 12 0v24C5.3726 24 0 18.6274 0 12Z", fill: "#006233" }), _jsx("path", { d: "M13.95 16.8a4.8 4.8 0 1 1 0-9.6 5.55 5.55 0 1 0 0 9.6Z", fill: "#D80027" }), _jsx("path", { d: "M14.988 8.87l.842 1.158 1.359-.44-.84 1.162.843 1.158-1.36-.436-.84 1.158v-1.433l-1.358-.433 1.358-.44V8.87Z", fill: "#D80027" })] }));
@@ -0,0 +1,2 @@
1
+ import type { ComponentPropsWithRef } from 'react';
2
+ export declare const ArubaFlag: (props: ComponentPropsWithRef<"svg">) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export const ArubaFlag = (props) => (_jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [_jsx("circle", { cx: "12", cy: "12", r: "12", fill: "#338AF3" }), _jsx("path", { d: "M3 15.13h18v1.565H3v-1.565Zm0 2.609h18v1.565H3v-1.565Z", fill: "#FFDA44" }), _jsx("path", { d: "M7.636 6.545 8.5 8.5l1.955.864-1.955.864-.864 1.955-.864-1.955L4.817 9.364 6.772 8.5l.864-1.955Z", stroke: "#F0F0F0", strokeWidth: ".7", fill: "#D80027" })] }));
@@ -0,0 +1,2 @@
1
+ import type { ComponentPropsWithRef } from 'react';
2
+ export declare const AustraliaFlag: (props: ComponentPropsWithRef<"svg">) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export const AustraliaFlag = (props) => (_jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [_jsx("circle", { cx: "12", cy: "12", r: "12", fill: "#003082" }), _jsx("path", { d: "M0 0h12v12H0V0Z", fill: "#012169" }), _jsx("path", { d: "M0 0v2.4L9.6 12H12v-2.4L2.4 0H0Z", fill: "#fff" }), _jsx("path", { d: "M12 0h-2.4L0 9.6V12h2.4L12 2.4V0Z", fill: "#fff" }), _jsx("path", { d: "M4.8 0 12 7.2V4.8L7.2 0H4.8Zm-4.8 0 7.2 7.2H4.8L0 2.4V0Zm9.6 12L0 2.4V4.8L7.2 12h2.4Zm2.4 0-7.2-7.2h2.4L12 9.6V12Z", fill: "#C8102E" }), _jsx("path", { d: "M0 4.8h12v2.4H0V4.8Zm4.8-4.8h2.4v12H4.8V0Z", fill: "#C8102E" }), _jsx("path", { d: "M16.8 6.6l.3.9h.95l-.77.56.3.92-.78-.58-.78.58.3-.92-.77-.56h.95l.3-.9Zm3 3.6.25.75h.8l-.65.46.25.77-.65-.48-.65.48.25-.77-.65-.46h.8l.25-.75Zm-2.4 2.7.25.75h.8l-.65.46.25.77-.65-.48-.65.48.25-.77-.65-.46h.8l.25-.75Zm2.85-.6.25.75h.8l-.65.46.25.77-.65-.48-.65.48.25-.77-.65-.46h.8l.25-.75Zm-3.9 3.9.38 1.15h1.2l-.98.69.38 1.19-1-.74-1 .74.38-1.19-.98-.69h1.2l.38-1.15Z", fill: "#fff" })] }));
@@ -0,0 +1,2 @@
1
+ import type { ComponentPropsWithRef } from 'react';
2
+ export declare const AustriaFlag: (props: ComponentPropsWithRef<"svg">) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export const AustriaFlag = (props) => (_jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [_jsx("circle", { cx: "12", cy: "12", r: "12", fill: "#F0F0F0" }), _jsx("path", { d: "M0 6.4C1.97 2.6 6.63 0 12 0c5.37 0 10.03 2.6 12 6.4H0Z", fill: "#D80027" }), _jsx("path", { d: "M0 17.6C1.97 21.4 6.63 24 12 24c5.37 0 10.03-2.6 12-6.4H0Z", fill: "#D80027" })] }));
@@ -0,0 +1,2 @@
1
+ import type { ComponentPropsWithRef } from 'react';
2
+ export declare const BahrainFlag: (props: ComponentPropsWithRef<"svg">) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export const BahrainFlag = (props) => (_jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [_jsx("circle", { cx: "12", cy: "12", r: "12", fill: "#F0F0F0" }), _jsx("path", { d: "M12 0c4.63 0 8.66 2.58 10.8 6.4L15.6 8l7.2 1.6-7.2 1.6 7.2 1.6-7.2 1.6 7.2 1.6-7.2 1.6 7.2 1.6C20.66 21.42 16.63 24 12 24V0Z", fill: "#D80027" }), _jsx("path", { d: "M3.2 4.8 12 7.2 3.2 9.6 12 12 3.2 14.4 12 16.8 3.2 19.2", stroke: "#D80027", strokeWidth: ".01" })] }));
@@ -0,0 +1,2 @@
1
+ import type { ComponentPropsWithRef } from 'react';
2
+ export declare const BelgiumFlag: (props: ComponentPropsWithRef<"svg">) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export const BelgiumFlag = (props) => (_jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [_jsx("circle", { cx: "12", cy: "12", r: "12", fill: "#FFDA44" }), _jsx("path", { d: "M0 12c0 4.63 2.58 8.66 6.4 10.8V1.2C2.58 3.34 0 7.37 0 12Z", fill: "#000" }), _jsx("path", { d: "M24 12c0-4.63-2.58-8.66-6.4-10.8v21.6C21.42 20.66 24 16.63 24 12Z", fill: "#D80027" })] }));
@@ -0,0 +1,2 @@
1
+ import type { ComponentPropsWithRef } from 'react';
2
+ export declare const BrazilFlag: (props: ComponentPropsWithRef<"svg">) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export const BrazilFlag = (props) => (_jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [_jsx("circle", { cx: "12", cy: "12", r: "12", fill: "#009C34" }), _jsx("path", { d: "M12 4.8 19.2 12 12 19.2 4.8 12 12 4.8Z", fill: "#FFDA44" }), _jsx("circle", { cx: "12", cy: "12", r: "3.9", fill: "#002478" }), _jsx("path", { d: "M8.6 10.8c2.7 1.9 4.3 2.3 6.8 2", stroke: "#F0F0F0", strokeWidth: ".6", strokeLinecap: "round" }), _jsx("circle", { cx: "11", cy: "11", r: ".35", fill: "#F0F0F0" }), _jsx("circle", { cx: "13", cy: "13", r: ".35", fill: "#F0F0F0" })] }));
@@ -0,0 +1,2 @@
1
+ import type { ComponentPropsWithRef } from 'react';
2
+ export declare const BruneiFlag: (props: ComponentPropsWithRef<"svg">) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export const BruneiFlag = (props) => (_jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [_jsx("circle", { cx: "12", cy: "12", r: "12", fill: "#FFDA44" }), _jsx("path", { d: "M0 9.6c.23-1.05.6-2.05 1.08-3L21.6 18.72c-.78.86-1.67 1.6-2.64 2.22L0 9.6Z", fill: "#000" }), _jsx("path", { d: "M24 14.4c-.23 1.05-.6 2.05-1.08 3L2.4 5.28C3.18 4.42 4.07 3.68 5.04 3.06L24 14.4Z", fill: "#F0F0F0" }), _jsx("circle", { cx: "12", cy: "12", r: "3.6", fill: "#D80027" }), _jsx("path", { d: "M10.2 12.6h3.6M12 10.2v3.6", stroke: "#FFDA44", strokeWidth: ".8", strokeLinecap: "round" })] }));
@@ -0,0 +1,2 @@
1
+ import type { ComponentPropsWithRef } from 'react';
2
+ export declare const CambodiaFlag: (props: ComponentPropsWithRef<"svg">) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export const CambodiaFlag = (props) => (_jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [_jsx("circle", { cx: "12", cy: "12", r: "12", fill: "#D80027" }), _jsx("path", { d: "M0 9.6C1.9 4.5 6.56 1 12 1s10.1 3.5 12 8.6H0Z", fill: "#003F87" }), _jsx("path", { d: "M0 14.4c1.9 5.1 6.56 8.6 12 8.6s10.1-3.5 12-8.6H0Z", fill: "#003F87" }), _jsx("path", { d: "M8.4 15h7.2l-.6-1.2h-6l-.6 1.2Zm.9-2.4h5.4l-.6-1.2h-4.2l-.6 1.2Zm1-2.4h3.4l-.5-1h-2.4l-.5 1Z", fill: "#F0F0F0" })] }));
@@ -0,0 +1,2 @@
1
+ import type { ComponentPropsWithRef } from 'react';
2
+ export declare const CanadaFlag: (props: ComponentPropsWithRef<"svg">) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export const CanadaFlag = (props) => (_jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [_jsx("circle", { cx: "12", cy: "12", r: "12", fill: "#F0F0F0" }), _jsx("path", { d: "M0 12c0 4.63 2.58 8.66 6.4 10.8V1.2C2.58 3.34 0 7.37 0 12Zm24 0c0-4.63-2.58-8.66-6.4-10.8v21.6C21.42 20.66 24 16.63 24 12Z", fill: "#D80027" }), _jsx("path", { d: "M13.2 13.8h2.1L12 6.6l-3.3 7.2h2.1v3.6h2.4v-3.6Z", fill: "#D80027" })] }));
@@ -0,0 +1,2 @@
1
+ import type { ComponentPropsWithRef } from 'react';
2
+ export declare const CroatiaFlag: (props: ComponentPropsWithRef<"svg">) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export const CroatiaFlag = (props) => (_jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [_jsx("circle", { cx: "12", cy: "12", r: "12", fill: "#F0F0F0" }), _jsx("path", { d: "M0 8c1.97-4.8 6.63-8 12-8s10.03 3.2 12 8H0Z", fill: "#0052B4" }), _jsx("path", { d: "M0 16c1.97 4.8 6.63 8 12 8s10.03-3.2 12-8H0Z", fill: "#D80027" }), _jsx("path", { d: "M12 14.4a2.4 2.4 0 0 1-2.4-2.4V8.4h4.8v3.6A2.4 2.4 0 0 1 12 14.4Z", fill: "#F0F0F0" }), _jsx("path", { d: "M9.6 8.4h4.8v1.2H9.6V8.4Zm0 2.4h4.8v1.2H9.6v-1.2Z", fill: "#D80027" })] }));
@@ -0,0 +1,2 @@
1
+ import type { ComponentPropsWithRef } from 'react';
2
+ export declare const CyprusFlag: (props: ComponentPropsWithRef<"svg">) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export const CyprusFlag = (props) => (_jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [_jsx("circle", { cx: "12", cy: "12", r: "12", fill: "#F0F0F0" }), _jsx("path", { d: "M7.2 8.4c.6 3 3 5.4 6 6 1.2.3 2.4.3 3.6 0v-1.2c-1.8.6-5.1-.3-6.3-2.7 2.1.3 3-.3 3.9-1.2-.9-.3-1.8-.6-2.1-1.2 1.2 0 2.1-.3 2.7-.9-3.3-.3-5.4-.6-7.8-1.8Z", fill: "#D88A29" }), _jsx("path", { d: "M12 18c2.1 0 3.9-1 5.1-2.4l-.9-.9c-1 1.2-2.4 2.1-4.2 2.1-1.8 0-3.2-.9-4.2-2.1l-.9.9A6.8 6.8 0 0 0 12 18Z", fill: "#6DA544" })] }));
@@ -0,0 +1,2 @@
1
+ import type { ComponentPropsWithRef } from 'react';
2
+ export declare const EgyptFlag: (props: ComponentPropsWithRef<"svg">) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export const EgyptFlag = (props) => (_jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [_jsx("circle", { cx: "12", cy: "12", r: "12", fill: "#F0F0F0" }), _jsx("path", { d: "M0 8c1.97-4.8 6.63-8 12-8s10.03 3.2 12 8H0Z", fill: "#D80027" }), _jsx("path", { d: "M0 16c1.97 4.8 6.63 8 12 8s10.03-3.2 12-8H0Z", fill: "#000" }), _jsx("path", { d: "M12 13.8c.99 0 1.8-.81 1.8-1.8 0-.99-.81-1.8-1.8-1.8-.99 0-1.8.81-1.8 1.8 0 .99.81 1.8 1.8 1.8Z", fill: "#D8AF2D" })] }));
@@ -0,0 +1,2 @@
1
+ import type { ComponentPropsWithRef } from 'react';
2
+ export declare const FinlandFlag: (props: ComponentPropsWithRef<"svg">) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export const FinlandFlag = (props) => (_jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [_jsx("circle", { cx: "12", cy: "12", r: "12", fill: "#F0F0F0" }), _jsx("path", { d: "M5 10.4h14v3.2H5v-3.2Z", fill: "#2E52B2" }), _jsx("path", { d: "M10.4 5v14H7.2V5h3.2Z", fill: "#2E52B2" })] }));
@@ -0,0 +1,2 @@
1
+ import type { ComponentPropsWithRef } from 'react';
2
+ export declare const FranceFlag: (props: ComponentPropsWithRef<"svg">) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export const FranceFlag = (props) => (_jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [_jsx("circle", { cx: "12", cy: "12", r: "12", fill: "#F0F0F0" }), _jsx("path", { d: "M0 12c0 4.63 2.58 8.66 6.4 10.8V1.2C2.58 3.34 0 7.37 0 12Z", fill: "#2E52B2" }), _jsx("path", { d: "M24 12c0-4.63-2.58-8.66-6.4-10.8v21.6C21.42 20.66 24 16.63 24 12Z", fill: "#D80027" })] }));
@@ -0,0 +1,2 @@
1
+ import type { ComponentPropsWithRef } from 'react';
2
+ export declare const GermanyFlag: (props: ComponentPropsWithRef<"svg">) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export const GermanyFlag = (props) => (_jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [_jsx("circle", { cx: "12", cy: "12", r: "12", fill: "#000" }), _jsx("path", { d: "M0 12c0-2.1.53-4.08 1.47-5.8h21.06A11.98 11.98 0 0 1 24 12H0Z", fill: "#000" }), _jsx("path", { d: "M0 12c0 2.1.53 4.08 1.47 5.8h21.06A11.98 11.98 0 0 0 24 12H0Z", fill: "#DD0000" }), _jsx("path", { d: "M3.52 19.2A11.95 11.95 0 0 0 12 24c3.97 0 7.5-1.87 9.84-4.8H3.52Z", fill: "#FFCE00" })] }));
@@ -0,0 +1,2 @@
1
+ import type { ComponentPropsWithRef } from 'react';
2
+ export declare const GreeceFlag: (props: ComponentPropsWithRef<"svg">) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export const GreeceFlag = (props) => (_jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [_jsx("circle", { cx: "12", cy: "12", r: "12", fill: "#F0F0F0" }), _jsx("path", { d: "M0 9.6h24v1.6H0v-1.6Zm0 3.2h24v1.6H0v-1.6Zm0 3.2h24v1.6H0v-1.6Zm0 3.2h24v1.6H0v-1.6Z", fill: "#2E52B2" }), _jsx("path", { d: "M12 0c-2.9 0-5.56 1.03-7.68 2.76V12h7.68V0Z", fill: "#2E52B2" }), _jsx("path", { d: "M4.32 4.8h7.68v1.6H4.32V4.8Zm0 3.2h7.68v1.6H4.32V8Z", fill: "#F0F0F0" })] }));
@@ -0,0 +1,2 @@
1
+ import type { ComponentPropsWithRef } from 'react';
2
+ export declare const GuamFlag: (props: ComponentPropsWithRef<"svg">) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export const GuamFlag = (props) => (_jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [_jsx("circle", { cx: "12", cy: "12", r: "12", fill: "#003F87" }), _jsx("path", { d: "M12 6.4c1.98 2.38 2.7 4.4 2.7 5.6 0 1.2-.72 3.22-2.7 5.6-1.98-2.38-2.7-4.4-2.7-5.6 0-1.2.72-3.22 2.7-5.6Z", fill: "#D80027", stroke: "#FFDA44", strokeWidth: ".5" }), _jsx("path", { d: "M11.2 12.4h1.6l-.4.8h-.8l-.4-.8Zm0-1.6h1.6l-.4-.8h-.8l-.4.8Z", fill: "#6DA544" })] }));