@sikka/hawa 0.26.27 → 0.26.29

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 (364) hide show
  1. package/dist/tooltip/index.js +1 -0
  2. package/dist/tooltip/index.js.map +1 -0
  3. package/dist/tooltip/index.mjs +1 -0
  4. package/dist/tooltip/index.mjs.map +1 -0
  5. package/package.json +1 -1
  6. package/dist/Chip-H5BnuDdx.d.ts +0 -36
  7. package/dist/Chip-hr2gRBJ-.d.mts +0 -36
  8. package/dist/DropdownMenu-EUL-D3I3.d.mts +0 -95
  9. package/dist/DropdownMenu-SPisqCzV.d.ts +0 -95
  10. package/dist/Radio-K1WGpnGA.d.ts +0 -75
  11. package/dist/Radio-hsrLKNxE.d.mts +0 -75
  12. package/dist/Toast-VBd4UvlM.d.mts +0 -26
  13. package/dist/Toast-pOd4uGZz.d.ts +0 -26
  14. package/dist/accordion/index.d.mts +0 -51
  15. package/dist/accordion/index.d.ts +0 -51
  16. package/dist/accordion/index.js +0 -271
  17. package/dist/accordion/index.mjs +0 -227
  18. package/dist/alert/index.d.mts +0 -29
  19. package/dist/alert/index.d.ts +0 -29
  20. package/dist/alert/index.js +0 -442
  21. package/dist/alert/index.mjs +0 -402
  22. package/dist/appLayout/index.d.mts +0 -126
  23. package/dist/appLayout/index.d.ts +0 -126
  24. package/dist/appLayout/index.js +0 -1326
  25. package/dist/appLayout/index.mjs +0 -1286
  26. package/dist/appMenubar/index.d.mts +0 -33
  27. package/dist/appMenubar/index.d.ts +0 -33
  28. package/dist/appMenubar/index.js +0 -281
  29. package/dist/appMenubar/index.mjs +0 -224
  30. package/dist/appStores/index.d.mts +0 -8
  31. package/dist/appStores/index.d.ts +0 -8
  32. package/dist/appStores/index.js +0 -75
  33. package/dist/appStores/index.mjs +0 -38
  34. package/dist/appTabs/index.d.mts +0 -18
  35. package/dist/appTabs/index.d.ts +0 -18
  36. package/dist/appTabs/index.js +0 -92
  37. package/dist/appTabs/index.mjs +0 -50
  38. package/dist/appTopbar/index.d.mts +0 -44
  39. package/dist/appTopbar/index.d.ts +0 -44
  40. package/dist/appTopbar/index.js +0 -483
  41. package/dist/appTopbar/index.mjs +0 -441
  42. package/dist/avatar/index.d.mts +0 -16
  43. package/dist/avatar/index.d.ts +0 -16
  44. package/dist/avatar/index.js +0 -162
  45. package/dist/avatar/index.mjs +0 -122
  46. package/dist/backToTop/index.d.mts +0 -15
  47. package/dist/backToTop/index.d.ts +0 -15
  48. package/dist/backToTop/index.js +0 -398
  49. package/dist/backToTop/index.mjs +0 -358
  50. package/dist/badge/index.d.mts +0 -13
  51. package/dist/badge/index.d.ts +0 -13
  52. package/dist/badge/index.js +0 -127
  53. package/dist/badge/index.mjs +0 -84
  54. package/dist/blocks/auth/index.d.mts +0 -202
  55. package/dist/blocks/auth/index.d.ts +0 -202
  56. package/dist/blocks/auth/index.js +0 -4197
  57. package/dist/blocks/auth/index.mjs +0 -3389
  58. package/dist/blocks/feedback/index.d.mts +0 -74
  59. package/dist/blocks/feedback/index.d.ts +0 -74
  60. package/dist/blocks/feedback/index.js +0 -1544
  61. package/dist/blocks/feedback/index.mjs +0 -558
  62. package/dist/blocks/index.d.mts +0 -480
  63. package/dist/blocks/index.d.ts +0 -480
  64. package/dist/blocks/index.js +0 -6700
  65. package/dist/blocks/index.mjs +0 -2550
  66. package/dist/blocks/misc/index.d.mts +0 -90
  67. package/dist/blocks/misc/index.d.ts +0 -90
  68. package/dist/blocks/misc/index.js +0 -1186
  69. package/dist/blocks/misc/index.mjs +0 -387
  70. package/dist/blocks/pricing/index.d.mts +0 -93
  71. package/dist/blocks/pricing/index.d.ts +0 -93
  72. package/dist/blocks/pricing/index.js +0 -1528
  73. package/dist/blocks/pricing/index.mjs +0 -677
  74. package/dist/breadcrumb/index.d.mts +0 -14
  75. package/dist/breadcrumb/index.d.ts +0 -14
  76. package/dist/breadcrumb/index.js +0 -63
  77. package/dist/breadcrumb/index.mjs +0 -26
  78. package/dist/button/index.d.mts +0 -16
  79. package/dist/button/index.d.ts +0 -16
  80. package/dist/button/index.js +0 -301
  81. package/dist/button/index.mjs +0 -260
  82. package/dist/card/index.d.mts +0 -17
  83. package/dist/card/index.d.ts +0 -17
  84. package/dist/card/index.js +0 -139
  85. package/dist/card/index.mjs +0 -92
  86. package/dist/carousel/index.d.mts +0 -15
  87. package/dist/carousel/index.d.ts +0 -15
  88. package/dist/carousel/index.js +0 -193
  89. package/dist/carousel/index.mjs +0 -151
  90. package/dist/checkbox/index.d.mts +0 -20
  91. package/dist/checkbox/index.d.ts +0 -20
  92. package/dist/checkbox/index.js +0 -184
  93. package/dist/checkbox/index.mjs +0 -142
  94. package/dist/chip/index.d.mts +0 -36
  95. package/dist/chip/index.d.ts +0 -36
  96. package/dist/chip/index.js +0 -129
  97. package/dist/chip/index.mjs +0 -87
  98. package/dist/chunk-2R7F2GL7.mjs +0 -82
  99. package/dist/chunk-4EGKGSGY.mjs +0 -129
  100. package/dist/chunk-5YXZXYLH.mjs +0 -67
  101. package/dist/chunk-65TG6EVD.mjs +0 -264
  102. package/dist/chunk-D22AALLE.mjs +0 -22
  103. package/dist/chunk-D36MPDGE.mjs +0 -476
  104. package/dist/chunk-F3DQJHTG.mjs +0 -3113
  105. package/dist/chunk-FQ6WVEHW.mjs +0 -151
  106. package/dist/chunk-GVJYACGA.mjs +0 -189
  107. package/dist/chunk-JNUGOUYJ.mjs +0 -154
  108. package/dist/chunk-KMCIHW76.mjs +0 -150
  109. package/dist/chunk-MQUAGP7K.mjs +0 -1098
  110. package/dist/chunk-NMS5LCSQ.mjs +0 -195
  111. package/dist/chunk-OY66MBXP.mjs +0 -163
  112. package/dist/chunk-R4HAAT6R.mjs +0 -131
  113. package/dist/chunk-SJ2Z6ZOG.mjs +0 -442
  114. package/dist/chunk-TGZRVRLP.mjs +0 -107
  115. package/dist/chunk-TWNGV3RE.mjs +0 -10
  116. package/dist/chunk-WUHNPHD5.mjs +0 -0
  117. package/dist/chunk-ZFXKCRJC.mjs +0 -11
  118. package/dist/chunk-ZS3FB3PO.mjs +0 -12
  119. package/dist/codeBlock/index.d.mts +0 -24
  120. package/dist/codeBlock/index.d.ts +0 -24
  121. package/dist/codeBlock/index.js +0 -517
  122. package/dist/codeBlock/index.mjs +0 -432
  123. package/dist/collapsible/index.d.mts +0 -8
  124. package/dist/collapsible/index.d.ts +0 -8
  125. package/dist/collapsible/index.js +0 -49
  126. package/dist/collapsible/index.mjs +0 -12
  127. package/dist/colorPicker/index.d.mts +0 -34
  128. package/dist/colorPicker/index.d.ts +0 -34
  129. package/dist/colorPicker/index.js +0 -276
  130. package/dist/colorPicker/index.mjs +0 -170
  131. package/dist/combobox/index.d.mts +0 -41
  132. package/dist/combobox/index.d.ts +0 -41
  133. package/dist/combobox/index.js +0 -749
  134. package/dist/combobox/index.mjs +0 -295
  135. package/dist/command/index.d.mts +0 -48
  136. package/dist/command/index.d.ts +0 -48
  137. package/dist/command/index.js +0 -485
  138. package/dist/command/index.mjs +0 -22
  139. package/dist/commonTypes-2IGtJ5cq.d.mts +0 -3
  140. package/dist/commonTypes-2IGtJ5cq.d.ts +0 -3
  141. package/dist/commonTypes-2k6FnHw5.d.mts +0 -4
  142. package/dist/commonTypes-2k6FnHw5.d.ts +0 -4
  143. package/dist/commonTypes-3k5cNB1s.d.mts +0 -4
  144. package/dist/commonTypes-3k5cNB1s.d.ts +0 -4
  145. package/dist/commonTypes-CKtkuNFH.d.mts +0 -11
  146. package/dist/commonTypes-CKtkuNFH.d.ts +0 -11
  147. package/dist/commonTypes-GhKAraJw.d.mts +0 -4
  148. package/dist/commonTypes-GhKAraJw.d.ts +0 -4
  149. package/dist/commonTypes-MxCJyrHv.d.mts +0 -8
  150. package/dist/commonTypes-MxCJyrHv.d.ts +0 -8
  151. package/dist/commonTypes-PBumfOBg.d.mts +0 -3
  152. package/dist/commonTypes-PBumfOBg.d.ts +0 -3
  153. package/dist/commonTypes-WPhcN3Vr.d.mts +0 -5
  154. package/dist/commonTypes-WPhcN3Vr.d.ts +0 -5
  155. package/dist/commonTypes-_11epZYh.d.mts +0 -4
  156. package/dist/commonTypes-_11epZYh.d.ts +0 -4
  157. package/dist/commonTypes-ko_NGEoT.d.mts +0 -3
  158. package/dist/commonTypes-ko_NGEoT.d.ts +0 -3
  159. package/dist/copyrights/index.d.mts +0 -17
  160. package/dist/copyrights/index.d.ts +0 -17
  161. package/dist/copyrights/index.js +0 -45
  162. package/dist/copyrights/index.mjs +0 -8
  163. package/dist/count/index.d.mts +0 -11
  164. package/dist/count/index.d.ts +0 -11
  165. package/dist/count/index.js +0 -45
  166. package/dist/count/index.mjs +0 -8
  167. package/dist/dataTable/index.d.mts +0 -41
  168. package/dist/dataTable/index.d.ts +0 -41
  169. package/dist/dataTable/index.js +0 -1313
  170. package/dist/dataTable/index.mjs +0 -1281
  171. package/dist/destroyableCard/index.d.mts +0 -12
  172. package/dist/destroyableCard/index.d.ts +0 -12
  173. package/dist/destroyableCard/index.js +0 -203
  174. package/dist/destroyableCard/index.mjs +0 -163
  175. package/dist/dialog/index.d.mts +0 -57
  176. package/dist/dialog/index.d.ts +0 -57
  177. package/dist/dialog/index.js +0 -368
  178. package/dist/dialog/index.mjs +0 -314
  179. package/dist/docsLayout/index.d.mts +0 -37
  180. package/dist/docsLayout/index.d.ts +0 -37
  181. package/dist/docsLayout/index.js +0 -927
  182. package/dist/docsLayout/index.mjs +0 -887
  183. package/dist/docsSidebar/index.d.mts +0 -11
  184. package/dist/docsSidebar/index.d.ts +0 -11
  185. package/dist/docsSidebar/index.js +0 -111
  186. package/dist/docsSidebar/index.mjs +0 -69
  187. package/dist/dropdownMenu/index.d.mts +0 -96
  188. package/dist/dropdownMenu/index.d.ts +0 -96
  189. package/dist/dropdownMenu/index.js +0 -420
  190. package/dist/dropdownMenu/index.mjs +0 -362
  191. package/dist/elements/index.d.mts +0 -788
  192. package/dist/elements/index.d.ts +0 -788
  193. package/dist/elements/index.js +0 -7832
  194. package/dist/elements/index.mjs +0 -3415
  195. package/dist/fileDropzone/index.d.mts +0 -37
  196. package/dist/fileDropzone/index.d.ts +0 -37
  197. package/dist/fileDropzone/index.js +0 -665
  198. package/dist/fileDropzone/index.mjs +0 -625
  199. package/dist/fileUploader/index.d.mts +0 -5
  200. package/dist/fileUploader/index.d.ts +0 -5
  201. package/dist/fileUploader/index.js +0 -62
  202. package/dist/fileUploader/index.mjs +0 -25
  203. package/dist/glow/index.d.mts +0 -16
  204. package/dist/glow/index.d.ts +0 -16
  205. package/dist/glow/index.js +0 -155
  206. package/dist/glow/index.mjs +0 -117
  207. package/dist/hooks/index.d.mts +0 -108
  208. package/dist/hooks/index.d.ts +0 -108
  209. package/dist/hooks/index.js +0 -459
  210. package/dist/hooks/index.mjs +0 -255
  211. package/dist/index.d.mts +0 -1932
  212. package/dist/index.d.ts +0 -1932
  213. package/dist/index.js +0 -12123
  214. package/dist/index.mjs +0 -11908
  215. package/dist/input/index.d.mts +0 -43
  216. package/dist/input/index.d.ts +0 -43
  217. package/dist/input/index.js +0 -293
  218. package/dist/input/index.mjs +0 -158
  219. package/dist/interfaceSettings/index.d.mts +0 -18
  220. package/dist/interfaceSettings/index.d.ts +0 -18
  221. package/dist/interfaceSettings/index.js +0 -420
  222. package/dist/interfaceSettings/index.mjs +0 -283
  223. package/dist/label/index.d.mts +0 -13
  224. package/dist/label/index.d.ts +0 -13
  225. package/dist/label/index.js +0 -142
  226. package/dist/label/index.mjs +0 -102
  227. package/dist/layout/index.d.mts +0 -256
  228. package/dist/layout/index.d.ts +0 -256
  229. package/dist/layout/index.js +0 -2627
  230. package/dist/layout/index.mjs +0 -1393
  231. package/dist/loading/index.d.mts +0 -15
  232. package/dist/loading/index.d.ts +0 -15
  233. package/dist/loading/index.js +0 -225
  234. package/dist/loading/index.mjs +0 -183
  235. package/dist/logos/index.d.mts +0 -27
  236. package/dist/logos/index.d.ts +0 -27
  237. package/dist/logos/index.js +0 -244
  238. package/dist/logos/index.mjs +0 -207
  239. package/dist/navbar/index.d.mts +0 -17
  240. package/dist/navbar/index.d.ts +0 -17
  241. package/dist/navbar/index.js +0 -166
  242. package/dist/navbar/index.mjs +0 -126
  243. package/dist/navigationMenu/index.d.mts +0 -39
  244. package/dist/navigationMenu/index.d.ts +0 -39
  245. package/dist/navigationMenu/index.js +0 -221
  246. package/dist/navigationMenu/index.mjs +0 -169
  247. package/dist/pagination/index.d.mts +0 -11
  248. package/dist/pagination/index.d.ts +0 -11
  249. package/dist/pagination/index.js +0 -160
  250. package/dist/pagination/index.mjs +0 -118
  251. package/dist/passwordInput/index.d.mts +0 -13
  252. package/dist/passwordInput/index.d.ts +0 -13
  253. package/dist/passwordInput/index.js +0 -577
  254. package/dist/passwordInput/index.mjs +0 -534
  255. package/dist/phoneInput/index.d.mts +0 -23
  256. package/dist/phoneInput/index.d.ts +0 -23
  257. package/dist/phoneInput/index.js +0 -2085
  258. package/dist/phoneInput/index.mjs +0 -2045
  259. package/dist/pinInput/index.d.mts +0 -20
  260. package/dist/pinInput/index.d.ts +0 -20
  261. package/dist/pinInput/index.js +0 -131
  262. package/dist/pinInput/index.mjs +0 -89
  263. package/dist/popover/index.d.mts +0 -23
  264. package/dist/popover/index.d.ts +0 -23
  265. package/dist/popover/index.js +0 -112
  266. package/dist/popover/index.mjs +0 -68
  267. package/dist/progress/index.d.mts +0 -6
  268. package/dist/progress/index.d.ts +0 -6
  269. package/dist/progress/index.js +0 -71
  270. package/dist/progress/index.mjs +0 -29
  271. package/dist/progressCircle/index.d.mts +0 -16
  272. package/dist/progressCircle/index.d.ts +0 -16
  273. package/dist/progressCircle/index.js +0 -159
  274. package/dist/progressCircle/index.mjs +0 -117
  275. package/dist/radio/index.d.mts +0 -39
  276. package/dist/radio/index.d.ts +0 -39
  277. package/dist/radio/index.js +0 -331
  278. package/dist/radio/index.mjs +0 -291
  279. package/dist/scrollArea/index.d.mts +0 -10
  280. package/dist/scrollArea/index.d.ts +0 -10
  281. package/dist/scrollArea/index.js +0 -90
  282. package/dist/scrollArea/index.mjs +0 -47
  283. package/dist/scrollIndicator/index.d.mts +0 -9
  284. package/dist/scrollIndicator/index.d.ts +0 -9
  285. package/dist/scrollIndicator/index.js +0 -80
  286. package/dist/scrollIndicator/index.mjs +0 -43
  287. package/dist/select/index.d.mts +0 -50
  288. package/dist/select/index.d.ts +0 -50
  289. package/dist/select/index.js +0 -325
  290. package/dist/select/index.mjs +0 -285
  291. package/dist/separator/index.d.mts +0 -10
  292. package/dist/separator/index.d.ts +0 -10
  293. package/dist/separator/index.js +0 -66
  294. package/dist/separator/index.mjs +0 -24
  295. package/dist/sheet/index.d.mts +0 -30
  296. package/dist/sheet/index.d.ts +0 -30
  297. package/dist/sheet/index.js +0 -201
  298. package/dist/sheet/index.mjs +0 -150
  299. package/dist/sidebar/index.d.mts +0 -48
  300. package/dist/sidebar/index.d.ts +0 -48
  301. package/dist/sidebar/index.js +0 -341
  302. package/dist/sidebar/index.mjs +0 -298
  303. package/dist/signature/index.d.mts +0 -27
  304. package/dist/signature/index.d.ts +0 -27
  305. package/dist/signature/index.js +0 -261
  306. package/dist/signature/index.mjs +0 -219
  307. package/dist/simpleTable/index.d.mts +0 -30
  308. package/dist/simpleTable/index.d.ts +0 -30
  309. package/dist/simpleTable/index.js +0 -253
  310. package/dist/simpleTable/index.mjs +0 -217
  311. package/dist/skeleton/index.d.mts +0 -10
  312. package/dist/skeleton/index.d.ts +0 -10
  313. package/dist/skeleton/index.js +0 -75
  314. package/dist/skeleton/index.mjs +0 -33
  315. package/dist/slider/index.d.mts +0 -6
  316. package/dist/slider/index.d.ts +0 -6
  317. package/dist/slider/index.js +0 -66
  318. package/dist/slider/index.mjs +0 -24
  319. package/dist/sortButton/index.d.mts +0 -10
  320. package/dist/sortButton/index.d.ts +0 -10
  321. package/dist/sortButton/index.js +0 -336
  322. package/dist/sortButton/index.mjs +0 -42
  323. package/dist/splitButton/index.d.mts +0 -52
  324. package/dist/splitButton/index.d.ts +0 -52
  325. package/dist/splitButton/index.js +0 -692
  326. package/dist/splitButton/index.mjs +0 -400
  327. package/dist/stats/index.d.mts +0 -19
  328. package/dist/stats/index.d.ts +0 -19
  329. package/dist/stats/index.js +0 -191
  330. package/dist/stats/index.mjs +0 -154
  331. package/dist/stopPropagationWrapper/index.d.mts +0 -5
  332. package/dist/stopPropagationWrapper/index.d.ts +0 -5
  333. package/dist/stopPropagationWrapper/index.js +0 -48
  334. package/dist/stopPropagationWrapper/index.mjs +0 -11
  335. package/dist/switch/index.d.mts +0 -12
  336. package/dist/switch/index.d.ts +0 -12
  337. package/dist/switch/index.js +0 -125
  338. package/dist/switch/index.mjs +0 -83
  339. package/dist/table/index.d.mts +0 -21
  340. package/dist/table/index.d.ts +0 -21
  341. package/dist/table/index.js +0 -172
  342. package/dist/table/index.mjs +0 -123
  343. package/dist/tabs/index.d.mts +0 -33
  344. package/dist/tabs/index.d.ts +0 -33
  345. package/dist/tabs/index.js +0 -200
  346. package/dist/tabs/index.mjs +0 -157
  347. package/dist/textTypes-559CaoOV.d.mts +0 -88
  348. package/dist/textTypes-559CaoOV.d.ts +0 -88
  349. package/dist/textarea/index.d.mts +0 -27
  350. package/dist/textarea/index.d.ts +0 -27
  351. package/dist/textarea/index.js +0 -229
  352. package/dist/textarea/index.mjs +0 -189
  353. package/dist/toast/index.d.mts +0 -26
  354. package/dist/toast/index.d.ts +0 -26
  355. package/dist/toast/index.js +0 -197
  356. package/dist/toast/index.mjs +0 -19
  357. package/dist/toaster/index.d.mts +0 -9
  358. package/dist/toaster/index.d.ts +0 -9
  359. package/dist/toaster/index.js +0 -350
  360. package/dist/toaster/index.mjs +0 -181
  361. package/dist/types/index.d.mts +0 -115
  362. package/dist/types/index.d.ts +0 -115
  363. package/dist/types/index.js +0 -18
  364. package/dist/types/index.mjs +0 -0
@@ -1,4197 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
-
30
- // blocks/auth/index.ts
31
- var auth_exports = {};
32
- __export(auth_exports, {
33
- AppLanding: () => AppLanding,
34
- CheckEmail: () => CheckEmail,
35
- CodeConfirmation: () => CodeConfirmation,
36
- LoginForm: () => LoginForm,
37
- NewPasswordForm: () => NewPasswordForm,
38
- RegisterForm: () => RegisterForm,
39
- ResetPasswordForm: () => ResetPasswordForm
40
- });
41
- module.exports = __toCommonJS(auth_exports);
42
-
43
- // blocks/auth/LoginForm.tsx
44
- var import_react13 = __toESM(require("react"));
45
- var import_react_hook_form = require("react-hook-form");
46
- var import_zod = require("@hookform/resolvers/zod");
47
- var import_libphonenumber_js = require("libphonenumber-js");
48
- var z = __toESM(require("zod"));
49
-
50
- // elements/alert/Alert.tsx
51
- var import_react2 = __toESM(require("react"));
52
-
53
- // util/index.ts
54
- var import_clsx = require("clsx");
55
- var import_tailwind_merge = require("tailwind-merge");
56
- function cn(...inputs) {
57
- return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
58
- }
59
-
60
- // elements/button/Button.tsx
61
- var React2 = __toESM(require("react"));
62
- var import_class_variance_authority = require("class-variance-authority");
63
-
64
- // elements/loading/Loading.tsx
65
- var import_react = __toESM(require("react"));
66
- var Loading = ({
67
- design = "spinner",
68
- size = "sm",
69
- themeMode = "light",
70
- color,
71
- ...props
72
- }) => {
73
- let sizeStyles = {
74
- button: "hawa-h-4 hawa-w-4",
75
- xs: "hawa-h-1 hawa-w-1",
76
- sm: "hawa-h-6 hawa-w-6",
77
- normal: "hawa-h-8 hawa-w-8",
78
- lg: "hawa-h-14 hawa-w-14",
79
- xl: "hawa-h-24 hawa-w-24"
80
- };
81
- let animationStyles = {
82
- pulse: "hawa-animate-in hawa-fade-in hawa-duration-1000",
83
- bounce: "hawa-animate-bounce"
84
- };
85
- switch (design.split("-")[0]) {
86
- case "dots":
87
- return /* @__PURE__ */ import_react.default.createElement(
88
- "div",
89
- {
90
- className: cn("hawa-flex hawa-flex-row hawa-gap-2", props.className)
91
- },
92
- /* @__PURE__ */ import_react.default.createElement(
93
- "div",
94
- {
95
- className: cn(
96
- "hawa-animate-bounce hawa-rounded-full hawa-delay-100 hawa-repeat-infinite",
97
- size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size],
98
- animationStyles[design.split("-")[1]],
99
- color ? color : "hawa-bg-primary"
100
- )
101
- }
102
- ),
103
- /* @__PURE__ */ import_react.default.createElement(
104
- "div",
105
- {
106
- className: cn(
107
- "hawa-animate-bounce hawa-rounded-full hawa-delay-200 hawa-repeat-infinite",
108
- size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size],
109
- animationStyles[design.split("-")[1]],
110
- color ? color : "hawa-bg-primary"
111
- )
112
- }
113
- ),
114
- /* @__PURE__ */ import_react.default.createElement(
115
- "div",
116
- {
117
- className: cn(
118
- "hawa-animate-bounce hawa-rounded-full hawa-delay-300 hawa-repeat-infinite",
119
- size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size],
120
- animationStyles[design.split("-")[1]],
121
- color ? color : "hawa-bg-primary"
122
- )
123
- }
124
- )
125
- );
126
- case "square":
127
- return /* @__PURE__ */ import_react.default.createElement(
128
- "svg",
129
- {
130
- className: cn("squircle-container", sizeStyles[size]),
131
- viewBox: "0 0 35 35",
132
- height: "35",
133
- width: "35"
134
- },
135
- /* @__PURE__ */ import_react.default.createElement(
136
- "rect",
137
- {
138
- className: "squircle-track",
139
- x: "2.5",
140
- y: "2.5",
141
- fill: "none",
142
- strokeWidth: "5px",
143
- width: "32.5",
144
- height: "32.5"
145
- }
146
- ),
147
- /* @__PURE__ */ import_react.default.createElement(
148
- "rect",
149
- {
150
- className: "square-car",
151
- x: "2.5",
152
- y: "2.5",
153
- fill: "none",
154
- strokeWidth: "5px",
155
- width: "32.5",
156
- height: "32.5",
157
- pathLength: "100"
158
- }
159
- )
160
- );
161
- case "squircle":
162
- return /* @__PURE__ */ import_react.default.createElement(
163
- "svg",
164
- {
165
- className: cn("squircle-container", sizeStyles[size]),
166
- x: "0px",
167
- y: "0px",
168
- viewBox: "0 0 37 37",
169
- height: "37",
170
- width: "37",
171
- preserveAspectRatio: "xMidYMid meet"
172
- },
173
- /* @__PURE__ */ import_react.default.createElement(
174
- "path",
175
- {
176
- className: "squircle-track",
177
- fill: "none",
178
- strokeWidth: "5",
179
- pathLength: "100",
180
- d: "M0.37 18.5 C0.37 5.772 5.772 0.37 18.5 0.37 S36.63 5.772 36.63 18.5 S31.228 36.63 18.5 36.63 S0.37 31.228 0.37 18.5"
181
- }
182
- ),
183
- /* @__PURE__ */ import_react.default.createElement(
184
- "path",
185
- {
186
- className: "squircle-car",
187
- fill: "none",
188
- strokeWidth: "5",
189
- pathLength: "100",
190
- d: "M0.37 18.5 C0.37 5.772 5.772 0.37 18.5 0.37 S36.63 5.772 36.63 18.5 S31.228 36.63 18.5 36.63 S0.37 31.228 0.37 18.5"
191
- }
192
- )
193
- );
194
- case "progress":
195
- return /* @__PURE__ */ import_react.default.createElement("div", { className: "progress-loading" });
196
- case "orbit":
197
- return /* @__PURE__ */ import_react.default.createElement("div", { className: "orbit-container" });
198
- default:
199
- return /* @__PURE__ */ import_react.default.createElement(
200
- "svg",
201
- {
202
- className: cn("circle-container", sizeStyles[size]),
203
- viewBox: "0 0 40 40",
204
- height: "40",
205
- width: "40"
206
- },
207
- /* @__PURE__ */ import_react.default.createElement(
208
- "circle",
209
- {
210
- className: cn("circle-track", {
211
- "hawa-stroke-primary-foreground": themeMode === "dark",
212
- "hawa-stroke-primary": themeMode === "light"
213
- }),
214
- cx: "20",
215
- cy: "20",
216
- r: "17.5",
217
- pathLength: "100",
218
- strokeWidth: "5px",
219
- fill: "none"
220
- }
221
- ),
222
- /* @__PURE__ */ import_react.default.createElement(
223
- "circle",
224
- {
225
- className: cn("circle-car", {
226
- "hawa-stroke-primary-foreground": themeMode === "dark",
227
- "hawa-stroke-primary": themeMode === "light"
228
- }),
229
- cx: "20",
230
- cy: "20",
231
- r: "17.5",
232
- pathLength: "100",
233
- strokeWidth: "5px",
234
- fill: "none"
235
- }
236
- )
237
- );
238
- }
239
- };
240
-
241
- // elements/button/Button.tsx
242
- var buttonVariants = (0, import_class_variance_authority.cva)(
243
- "hawa-inline-flex hawa-items-center hawa-select-none hawa-rounded-md hawa-text-sm hawa-font-medium hawa-ring-offset-background hawa-transition-colors focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-2 disabled:hawa-pointer-events-none disabled:hawa-opacity-50",
244
- {
245
- variants: {
246
- variant: {
247
- default: "hawa-bg-primary hawa-text-primary-foreground hover:hawa-bg-primary/90",
248
- light: "hawa-bg-primary/20 hawa-text-primary hover:hawa-bg-primary/40",
249
- destructive: "hawa-bg-destructive hawa-text-destructive-foreground hover:hawa-bg-destructive/90",
250
- outline: "hawa-border hawa-border-input hawa-bg-transparent hover:hawa-bg-accent hover:hawa-text-accent-foreground",
251
- secondary: "hawa-bg-secondary hawa-text-secondary-foreground hover:hawa-bg-secondary/80",
252
- ghost: "hover:hawa-bg-accent hover:hawa-text-accent-foreground",
253
- link: "hawa-text-primary hawa-underline-offset-4 hover:hawa-underline",
254
- combobox: "hawa-bg-background hawa-border",
255
- neoBrutalism: "neo-brutalism"
256
- // "hawa-cursor-pointer hawa-transition-all hawa-uppercase hawa-font-mono dark:hawa-bg-black hawa-font-bold hawa-py-2 hawa-px-4 hawa-rounded hawa-border-2 hawa-border-primary hawa-shadow-color-primary hawa-transition-[hawa-transform_50ms, hawa-box-shadow_50ms] active:hawa-translate-x-0.5 active:hawa-translate-y-0.5 active:hawa-shadow-color-primary-active shadow-color-primary active:shadow-color-primary-active",
257
- },
258
- size: {
259
- default: "hawa-h-10 hawa-px-4 hawa-py-2",
260
- heightless: "hawa-px-4 hawa-py-4",
261
- xs: "hawa-h-fit hawa-min-h-[25px] hawa-py-1 hawa-text-[10px] hawa-px-2 ",
262
- sm: "hawa-h-9 hawa-text-[11px] hawa-rounded-md hawa-px-3",
263
- lg: "hawa-h-11 hawa-rounded-md hawa-px-8",
264
- xl: "hawa-h-14 hawa-rounded-md hawa-px-10",
265
- icon: "hawa-h-10 hawa-w-10",
266
- smallIcon: "hawa-h-7 hawa-w-7"
267
- }
268
- },
269
- defaultVariants: {
270
- variant: "default",
271
- size: "default"
272
- }
273
- }
274
- );
275
- var Button = React2.forwardRef(
276
- ({
277
- className,
278
- variant,
279
- size,
280
- asChild = false,
281
- centered = true,
282
- isLoading,
283
- children,
284
- ...props
285
- }, ref) => {
286
- const Comp = "button";
287
- const loadingColor = variant === "outline" || variant === "ghost" || variant === "neoBrutalism" ? "hawa-bg-primary" : "hawa-bg-primary-foreground";
288
- return /* @__PURE__ */ React2.createElement(
289
- Comp,
290
- {
291
- className: cn(
292
- buttonVariants({ variant, size, className }),
293
- centered && "hawa-justify-center"
294
- // "hawa-bg-red-500"
295
- ),
296
- ref,
297
- ...props
298
- },
299
- isLoading ? /* @__PURE__ */ React2.createElement(
300
- Loading,
301
- {
302
- design: size === "icon" || size === "smallIcon" ? "spinner" : "dots-pulse",
303
- themeMode: variant === "outline" ? "light" : "dark",
304
- color: loadingColor,
305
- size: size === "sm" || size === "xs" ? "xs" : "button"
306
- }
307
- ) : children
308
- );
309
- }
310
- );
311
- Button.displayName = "Button";
312
-
313
- // elements/alert/Alert.tsx
314
- var Alert = ({
315
- variant = "normal",
316
- direction = "ltr",
317
- severity = "none",
318
- duration,
319
- icon,
320
- className,
321
- ...props
322
- }) => {
323
- const alertRef = (0, import_react2.useRef)(null);
324
- const [closed, setClosed] = (0, import_react2.useState)(false);
325
- (0, import_react2.useEffect)(() => {
326
- if (duration) {
327
- const timeoutHide = setTimeout(() => {
328
- setClosed(true);
329
- }, duration);
330
- const timeoutDestroy = setTimeout(() => {
331
- setClosed(true);
332
- if (alertRef == null ? void 0 : alertRef.current) {
333
- alertRef == null ? void 0 : alertRef.current.removeChild(alertRef == null ? void 0 : alertRef.current.children[0]);
334
- }
335
- }, duration + 1e3);
336
- return () => {
337
- clearTimeout(timeoutHide);
338
- clearTimeout(timeoutDestroy);
339
- };
340
- }
341
- }, [duration]);
342
- let closeButtonStyle = {
343
- none: "",
344
- info: "",
345
- warning: "",
346
- error: "",
347
- success: "",
348
- hyper: "",
349
- oceanic: ""
350
- };
351
- let styleVariant = {
352
- none: "hawa-text-gray-700 hawa-bg-gray-100 dark:hawa-bg-gray-900 ",
353
- info: "hawa-text-info-foreground hawa-bg-info/90",
354
- warning: "hawa-text-warning-foreground hawa-bg-warning/90",
355
- error: "hawa-text-destructive-foreground hawa-bg-destructive/90",
356
- success: "hawa-text-success-foreground hawa-bg-success/90",
357
- hyper: "hawa-text-white hawa-bg-gradient-to-tl hawa-from-pink-700 hawa-via-red-500 hawa-to-yellow-600 ",
358
- oceanic: "hawa-text-white hawa-bg-gradient-to-bl hawa-from-green-500 hawa-via-blue-700 hawa-to-purple-500"
359
- };
360
- return /* @__PURE__ */ import_react2.default.createElement("div", { ref: alertRef }, /* @__PURE__ */ import_react2.default.createElement(
361
- "div",
362
- {
363
- "data-testid": "alert",
364
- "aria-label": "Alert",
365
- role: "alert",
366
- dir: direction,
367
- className: cn(
368
- "hawa-relative hawa-mb-4 hawa-flex hawa-flex-col hawa-rounded hawa-p-4 hawa-text-sm hawa-transition-all",
369
- styleVariant[severity],
370
- closed ? "hawa-opacity-0" : "hawa-opacity-100",
371
- className
372
- )
373
- },
374
- /* @__PURE__ */ import_react2.default.createElement("div", { className: "hawa-flex hawa-flex-row" }, icon && /* @__PURE__ */ import_react2.default.createElement(
375
- "div",
376
- {
377
- className: direction === "rtl" ? "hawa-pl-2 hawa-pt-1" : "hawa-pr-2 hawa-pt-1"
378
- },
379
- icon
380
- ), /* @__PURE__ */ import_react2.default.createElement("div", { className: "hawa-flex hawa-flex-col" }, /* @__PURE__ */ import_react2.default.createElement(
381
- "span",
382
- {
383
- className: cn(
384
- "hawa-font-bold",
385
- direction === "rtl" ? "hawa-ml-8" : "hawa-mr-8"
386
- )
387
- },
388
- props.title
389
- ), /* @__PURE__ */ import_react2.default.createElement(
390
- "span",
391
- {
392
- className: cn(
393
- direction === "rtl" ? "hawa-ml-8" : "hawa-mr-8",
394
- props.persistent ? "hawa-w-full" : "hawa-w-[calc(100% - 40px)]"
395
- )
396
- },
397
- props.text
398
- ), props.actions && /* @__PURE__ */ import_react2.default.createElement("div", { className: "hawa-mt-2 hawa-flex hawa-flex-row hawa-gap-2" }, props.actions.map((act, index) => /* @__PURE__ */ import_react2.default.createElement(
399
- Button,
400
- {
401
- key: index,
402
- variant: act.variant,
403
- onClick: act.onClick()
404
- },
405
- act.label
406
- ))))),
407
- !props.persistent && /* @__PURE__ */ import_react2.default.createElement(
408
- "button",
409
- {
410
- type: "button",
411
- "data-dismiss-target": "#alert-default",
412
- "aria-label": "Close",
413
- className: cn(
414
- "hawa-absolute hawa-top-2 hawa-inline-flex hawa-h-9 hawa-w-9 hawa-items-center hawa-justify-center hawa-rounded-inner hawa-p-1.5 hawa-transition-all hover:hawa-text-gray-900",
415
- closeButtonStyle[severity],
416
- direction === "rtl" ? "hawa-left-2" : "hawa-right-2"
417
- ),
418
- onClick: () => {
419
- if (props.onAlertClosed) {
420
- props.onAlertClosed();
421
- }
422
- setClosed(true);
423
- setTimeout(() => {
424
- if (alertRef == null ? void 0 : alertRef.current) {
425
- alertRef == null ? void 0 : alertRef.current.removeChild(alertRef == null ? void 0 : alertRef.current.children[0]);
426
- }
427
- }, 200);
428
- }
429
- },
430
- /* @__PURE__ */ import_react2.default.createElement("span", { className: "hawa-sr-only" }, "Close"),
431
- /* @__PURE__ */ import_react2.default.createElement(
432
- "svg",
433
- {
434
- "aria-label": "Close Icon",
435
- "aria-hidden": "true",
436
- className: "hawa-h-5 hawa-w-5",
437
- fill: "currentColor",
438
- viewBox: "0 0 20 20"
439
- },
440
- /* @__PURE__ */ import_react2.default.createElement(
441
- "path",
442
- {
443
- fillRule: "evenodd",
444
- d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",
445
- clipRule: "evenodd"
446
- }
447
- )
448
- )
449
- )
450
- ));
451
- };
452
-
453
- // elements/card/Card.tsx
454
- var React4 = __toESM(require("react"));
455
- var Card = React4.forwardRef(
456
- ({ className, variant = "default", clickable = false, ...props }, ref) => {
457
- let variantStyles = {
458
- default: cn(
459
- "hawa-rounded-lg hawa-border hawa-bg-card hawa-text-card-foreground hawa-shadow-sm",
460
- clickable && "hawa-cursor-pointer hawa-transition-all hover:hawa-drop-shadow-md dark:hover:dark-shadow"
461
- ),
462
- neoBrutalism: cn(
463
- "neo-brutalism",
464
- // "hawa-transition-all hawa-uppercase hawa-font-mono dark:hawa-bg-black hawa-font-bold hawa-py-2 hawa-px-4 hawa-rounded hawa-border-2 hawa-border-primary hawa-shadow-color-primary hawa-transition-[hawa-transform_50ms, hawa-box-shadow_50ms] transition-all uppercase font-mono dark:bg-black font-bold py-2 px-4 rounded border-2 border-primary shadow-color-primary transition-[transform_50ms, box-shadow_50ms]",
465
- clickable && "hawa-cursor-pointer active:hawa-translate-x-0.5 active:hawa-translate-y-0.5 active:hawa-shadow-color-primary-active active:translate-x-0.5 active:translate-y-0.5 active:shadow-color-primary-active"
466
- )
467
- };
468
- return /* @__PURE__ */ React4.createElement(
469
- "div",
470
- {
471
- ref,
472
- className: cn(className, variantStyles[variant]),
473
- ...props
474
- }
475
- );
476
- }
477
- );
478
- var CardHeader = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React4.createElement(
479
- "div",
480
- {
481
- ref,
482
- className: cn(
483
- "hawa-flex hawa-flex-col hawa-space-y-1.5 hawa-p-6",
484
- className
485
- ),
486
- ...props
487
- }
488
- ));
489
- var CardTitle = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React4.createElement(
490
- "h3",
491
- {
492
- ref,
493
- className: cn("hawa-text-2xl hawa-font-semibold ", className),
494
- ...props
495
- }
496
- ));
497
- var CardDescription = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React4.createElement(
498
- "p",
499
- {
500
- ref,
501
- className: cn("hawa-text-sm hawa-text-muted-foreground", className),
502
- ...props
503
- }
504
- ));
505
- var CardContent = React4.forwardRef(
506
- ({ headless, noPadding, className, ...props }, ref) => /* @__PURE__ */ React4.createElement(
507
- "div",
508
- {
509
- ref,
510
- className: cn(
511
- noPadding ? "hawa-p-0" : "hawa-p-6",
512
- headless ? "hawa-pt-6" : "hawa-pt-0",
513
- className
514
- ),
515
- ...props
516
- }
517
- )
518
- );
519
- var CardFooter = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React4.createElement(
520
- "div",
521
- {
522
- ref,
523
- className: cn("hawa-flex hawa-items-center hawa-p-6 hawa-pt-0", className),
524
- ...props
525
- }
526
- ));
527
- CardDescription.displayName = "CardDescription";
528
- CardContent.displayName = "CardContent";
529
- CardHeader.displayName = "CardHeader";
530
- CardFooter.displayName = "CardFooter";
531
- CardTitle.displayName = "CardTitle";
532
- Card.displayName = "Card";
533
-
534
- // elements/input/Input.tsx
535
- var import_react5 = __toESM(require("react"));
536
-
537
- // elements/label/Label.tsx
538
- var React6 = __toESM(require("react"));
539
-
540
- // elements/tooltip/Tooltip.tsx
541
- var import_react3 = __toESM(require("react"));
542
- var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"));
543
- var TooltipContent = import_react3.default.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ import_react3.default.createElement(
544
- TooltipPrimitive.Content,
545
- {
546
- ref,
547
- sideOffset,
548
- className: cn(
549
- "hawa-z-50 hawa-overflow-hidden hawa-rounded-md hawa-border hawa-bg-popover hawa-px-3 hawa-py-1.5 hawa-text-sm hawa-text-popover-foreground hawa-shadow-md hawa-animate-in hawa-fade-in-0 hawa-zoom-in-95 data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=closed]:hawa-zoom-out-95 data-[side=bottom]:hawa-slide-in-from-top-2 data-[side=left]:hawa-slide-in-from-right-2 data-[side=right]:hawa-slide-in-from-left-2 data-[side=top]:hawa-slide-in-from-bottom-2",
550
- className
551
- ),
552
- ...props
553
- }
554
- ));
555
- TooltipContent.displayName = TooltipPrimitive.Content.displayName;
556
- var TooltipArrow = import_react3.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ import_react3.default.createElement(TooltipPrimitive.Arrow, { ref, className: cn(className), ...props }));
557
- TooltipArrow.displayName = TooltipPrimitive.Arrow.displayName;
558
- var Tooltip = ({
559
- side,
560
- open,
561
- content,
562
- children,
563
- defaultOpen,
564
- onOpenChange,
565
- triggerProps,
566
- contentProps,
567
- providerProps,
568
- delayDuration = 300,
569
- ...props
570
- }) => {
571
- return /* @__PURE__ */ import_react3.default.createElement(
572
- TooltipPrimitive.TooltipProvider,
573
- {
574
- delayDuration,
575
- ...providerProps
576
- },
577
- /* @__PURE__ */ import_react3.default.createElement(
578
- TooltipPrimitive.Root,
579
- {
580
- open,
581
- defaultOpen,
582
- onOpenChange,
583
- ...props
584
- },
585
- /* @__PURE__ */ import_react3.default.createElement(TooltipPrimitive.Trigger, { ...triggerProps }, children),
586
- /* @__PURE__ */ import_react3.default.createElement(TooltipContent, { side, align: "center", ...contentProps }, content)
587
- )
588
- );
589
- };
590
-
591
- // elements/label/Label.tsx
592
- var Label = React6.forwardRef(({ className, hint, hintSide, required, children, ...props }, ref) => /* @__PURE__ */ React6.createElement("div", { className: "hawa-flex hawa-flex-row hawa-items-center hawa-gap-1 hawa-transition-all" }, /* @__PURE__ */ React6.createElement(
593
- "label",
594
- {
595
- ref,
596
- className: cn(
597
- "hawa-text-sm hawa-font-medium hawa-leading-none peer-disabled:hawa-cursor-not-allowed peer-disabled:hawa-opacity-70",
598
- className
599
- ),
600
- ...props
601
- },
602
- children,
603
- required && /* @__PURE__ */ React6.createElement("span", { className: "hawa-mx-0.5 hawa-text-red-500" }, "*")
604
- ), hint && /* @__PURE__ */ React6.createElement(
605
- Tooltip,
606
- {
607
- content: hint,
608
- side: hintSide,
609
- triggerProps: {
610
- tabIndex: -1,
611
- onClick: (event) => event.preventDefault()
612
- }
613
- },
614
- /* @__PURE__ */ React6.createElement("div", null, /* @__PURE__ */ React6.createElement(
615
- "svg",
616
- {
617
- xmlns: "http://www.w3.org/2000/svg",
618
- className: "hawa-h-[14px] hawa-w-[14px] hawa-cursor-help",
619
- viewBox: "0 0 24 24",
620
- fill: "none",
621
- stroke: "currentColor",
622
- strokeWidth: "2",
623
- strokeLinecap: "round",
624
- strokeLinejoin: "round"
625
- },
626
- /* @__PURE__ */ React6.createElement("circle", { cx: "12", cy: "12", r: "10" }),
627
- /* @__PURE__ */ React6.createElement("path", { d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" }),
628
- /* @__PURE__ */ React6.createElement("path", { d: "M12 17h.01" })
629
- ))
630
- )));
631
- Label.displayName = "Label";
632
-
633
- // elements/skeleton/Skeleton.tsx
634
- var import_react4 = __toESM(require("react"));
635
- function Skeleton({
636
- className,
637
- content,
638
- animation = "pulse",
639
- ...props
640
- }) {
641
- const animationStyles = {
642
- none: "hawa-rounded hawa-bg-muted",
643
- pulse: "hawa-animate-pulse hawa-rounded hawa-bg-muted",
644
- shimmer: "hawa-space-y-5 hawa-rounded hawa-bg-muted hawa-p-4 hawa-relative before:hawa-absolute before:hawa-inset-0 before:hawa--translate-x-full before:hawa-animate-[shimmer_2s_infinite] before:hawa-bg-gradient-to-r before:hawa-from-transparent before:hawa-via-gray-300/40 dark:before:hawa-via-white/10 before:hawa-to-transparent hawa-isolate hawa-overflow-hidden before:hawa-border-t before:hawa-border-rose-100/10"
645
- };
646
- return /* @__PURE__ */ import_react4.default.createElement(
647
- "div",
648
- {
649
- className: cn(
650
- animationStyles[animation],
651
- content && "hawa-flex hawa-flex-col hawa-items-center hawa-justify-center",
652
- className
653
- ),
654
- ...props
655
- },
656
- content && content
657
- );
658
- }
659
-
660
- // elements/input/Input.tsx
661
- var Input = (0, import_react5.forwardRef)(
662
- ({
663
- margin = "none",
664
- width = "full",
665
- preview = false,
666
- forceHideHelperText = false,
667
- labelProps,
668
- placeholder,
669
- showCount,
670
- inputProps,
671
- countPosition = "bottom",
672
- ...props
673
- }, ref) => {
674
- var _a;
675
- let marginStyles = {
676
- none: "hawa-mb-0",
677
- normal: "hawa-mb-3",
678
- large: "hawa-mb-5"
679
- };
680
- let widthStyles = {
681
- small: "hawa-w-full hawa-max-w-2xs",
682
- normal: "hawa-w-1/2",
683
- full: "hawa-w-full",
684
- auto: ""
685
- };
686
- let defaultStyle = "hawa-flex hawa-max-h-fit hawa-h-fit hawa-relative hawa-flex-col hawa-justify-center hawa-gap-0";
687
- let defaultInputStyle = "hawa-block hawa-w-full hawa-rounded hawa-border hawa-transition-all hawa-bg-background hawa-p-3 hawa-text-sm ";
688
- return /* @__PURE__ */ import_react5.default.createElement(
689
- "div",
690
- {
691
- className: cn(
692
- defaultStyle,
693
- marginStyles[margin],
694
- widthStyles[width],
695
- props.containerClassName,
696
- "hawa-w-full hawa-gap-2"
697
- )
698
- },
699
- props.label && /* @__PURE__ */ import_react5.default.createElement(Label, { ...labelProps }, props.label),
700
- props.isLoading ? /* @__PURE__ */ import_react5.default.createElement("div", { className: "hawa-pb-2" }, /* @__PURE__ */ import_react5.default.createElement(Skeleton, { className: "hawa-h-[40px] hawa-w-full" })) : /* @__PURE__ */ import_react5.default.createElement(import_react5.default.Fragment, null, !props.hideSeparator && /* @__PURE__ */ import_react5.default.createElement(
701
- "div",
702
- {
703
- className: cn(
704
- "hawa-absolute hawa-top-[22px] hawa-h-[0.8px] hawa-w-full hawa-bg-gray-200 hawa-transition-all dark:hawa-bg-gray-800",
705
- preview ? "hawa-opacity-100" : "hawa-opacity-0"
706
- )
707
- }
708
- ), /* @__PURE__ */ import_react5.default.createElement(import_react5.default.Fragment, null, /* @__PURE__ */ import_react5.default.createElement("div", { className: "hawa-relative" }, props.startIcon && /* @__PURE__ */ import_react5.default.createElement("div", { className: "hawa-absolute hawa-start-3 hawa-top-1/2 hawa--translate-y-1/2" }, props.startIcon), props.endIcon && /* @__PURE__ */ import_react5.default.createElement(
709
- "div",
710
- {
711
- className: cn(
712
- "hawa-absolute hawa-end-3 hawa-top-1/2 hawa--translate-y-1/2",
713
- (_a = props.endIconProps) == null ? void 0 : _a.className
714
- )
715
- },
716
- props.endIcon
717
- ), /* @__PURE__ */ import_react5.default.createElement(
718
- "input",
719
- {
720
- required: true,
721
- dir: props.dir,
722
- type: props.type,
723
- value: props.value,
724
- onChange: props.onChange,
725
- autoComplete: props.autoComplete,
726
- defaultValue: props.defaultValue,
727
- placeholder,
728
- disabled: props.disabled || preview,
729
- style: { height: 40 },
730
- ...inputProps,
731
- className: cn(
732
- defaultInputStyle,
733
- " focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-0 dark:hawa-text-white",
734
- {
735
- "hawa-pe-9": props.endIcon,
736
- "hawa-ps-9": props.startIcon,
737
- "hawa-pe-[60px]": countPosition === "center"
738
- },
739
- preview && "hawa-border-transparent hawa-bg-transparent hawa-px-0",
740
- inputProps == null ? void 0 : inputProps.className
741
- )
742
- }
743
- )), !forceHideHelperText && /* @__PURE__ */ import_react5.default.createElement(
744
- "p",
745
- {
746
- className: cn(
747
- "hawa-my-0 hawa-text-start hawa-text-xs hawa-text-helper-color hawa-transition-all",
748
- props.helperText ? "hawa-h-4 hawa-opacity-100" : "hawa-h-0 hawa-opacity-0"
749
- )
750
- },
751
- props.helperText
752
- ), !props.disabled && forceHideHelperText && /* @__PURE__ */ import_react5.default.createElement(
753
- "div",
754
- {
755
- className: cn(
756
- "hawa-absolute hawa-end-0 hawa-top-[47px] hawa-z-20 hawa-translate-y-1/2 hawa-rounded hawa-bg-background hawa-text-start hawa-text-xs hawa-text-helper-color hawa-drop-shadow-md hawa-transition-all",
757
- props.helperText ? "hawa-border hawa-p-1" : "hawa-border-none hawa-p-0"
758
- )
759
- },
760
- props.helperText
761
- ), showCount && /* @__PURE__ */ import_react5.default.createElement(
762
- "div",
763
- {
764
- className: cn(
765
- "hawa-absolute hawa-translate-y-1/2 hawa-text-start hawa-text-xs hawa-transition-all",
766
- {
767
- "hawa-end-0 hawa-top-[62px]": countPosition === "bottom",
768
- "hawa-bottom-[62px] hawa-end-0": countPosition === "top",
769
- "hawa-end-2": countPosition === "center"
770
- }
771
- )
772
- },
773
- props.value ? String(props.value).length : 0,
774
- "/",
775
- props.maxLength
776
- )))
777
- );
778
- }
779
- );
780
-
781
- // elements/phoneInput/PhoneInput.tsx
782
- var import_react7 = __toESM(require("react"));
783
-
784
- // countries.ts
785
- var countries = [
786
- {
787
- country_label: "Saudi Arabia",
788
- code: "SA",
789
- unicode: "🇸🇦",
790
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/SA.svg",
791
- label: "+966"
792
- },
793
- {
794
- country_label: "United Arab Emirates",
795
- code: "AE",
796
- unicode: "🇦🇪",
797
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AE.svg",
798
- label: "+971"
799
- },
800
- {
801
- country_label: "Bahrain",
802
- code: "BH",
803
- unicode: "🇧🇭",
804
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BH.svg",
805
- label: "+973"
806
- },
807
- {
808
- country_label: "Kuwait",
809
- code: "KW",
810
- unicode: "🇰🇼",
811
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KW.svg",
812
- label: "+965"
813
- },
814
- {
815
- country_label: "Qatar",
816
- code: "QA",
817
- unicode: "🇶🇦",
818
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/QA.svg",
819
- label: "+974"
820
- },
821
- {
822
- country_label: "Oman",
823
- code: "OM",
824
- unicode: "🇴🇲",
825
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/OM.svg",
826
- label: "+968"
827
- },
828
- {
829
- country_label: "Andorra",
830
- value: "Andorra",
831
- code: "AD",
832
- unicode: "🇦🇩",
833
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AD.svg",
834
- label: "+376"
835
- },
836
- {
837
- country_label: "Afghanistan",
838
- code: "AF",
839
- unicode: "🇦🇫",
840
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AF.svg",
841
- label: "+93"
842
- },
843
- {
844
- country_label: "Antigua & Barbuda",
845
- code: "AG",
846
- unicode: "🇦🇬",
847
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AG.svg",
848
- label: "+1268"
849
- },
850
- {
851
- country_label: "Anguilla",
852
- code: "AI",
853
- unicode: "🇦🇮",
854
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AI.svg",
855
- label: "+1264"
856
- },
857
- {
858
- country_label: "Albania",
859
- code: "AL",
860
- unicode: "🇦🇱",
861
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AL.svg",
862
- label: "+355"
863
- },
864
- {
865
- country_label: "Armenia",
866
- code: "AM",
867
- unicode: "🇦🇲",
868
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AM.svg",
869
- label: "+374"
870
- },
871
- {
872
- country_label: "Angola",
873
- code: "AO",
874
- unicode: "🇦🇴",
875
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AO.svg",
876
- label: "+244"
877
- },
878
- {
879
- country_label: "Antarctica",
880
- code: "AQ",
881
- unicode: "🇦🇶",
882
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AQ.svg",
883
- label: "+672"
884
- },
885
- {
886
- country_label: "Argentina",
887
- code: "AR",
888
- unicode: "🇦🇷",
889
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AR.svg",
890
- label: "+54"
891
- },
892
- {
893
- country_label: "American Samoa",
894
- code: "AS",
895
- unicode: "🇦🇸",
896
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AS.svg",
897
- label: "+1684"
898
- },
899
- {
900
- country_label: "Austria",
901
- code: "AT",
902
- unicode: "🇦🇹",
903
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AT.svg",
904
- label: "+43"
905
- },
906
- {
907
- country_label: "Australia",
908
- code: "AU",
909
- unicode: "🇦🇺",
910
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AU.svg",
911
- label: "+61"
912
- },
913
- {
914
- country_label: "Aruba",
915
- code: "AW",
916
- unicode: "🇦🇼",
917
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AW.svg",
918
- label: "+297"
919
- },
920
- {
921
- country_label: "\xC5land Islands",
922
- code: "AX",
923
- unicode: "🇦🇽",
924
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AX.svg",
925
- label: "+358"
926
- },
927
- {
928
- country_label: "Azerbaijan",
929
- code: "AZ",
930
- unicode: "🇦🇿",
931
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AZ.svg",
932
- label: "+994"
933
- },
934
- {
935
- country_label: "Bosnia & Herzegovina",
936
- code: "BA",
937
- unicode: "🇧🇦",
938
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BA.svg",
939
- label: "+387"
940
- },
941
- {
942
- country_label: "Barbados",
943
- code: "BB",
944
- unicode: "🇧🇧",
945
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BB.svg",
946
- label: "+1246"
947
- },
948
- {
949
- country_label: "Bangladesh",
950
- code: "BD",
951
- unicode: "🇧🇩",
952
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BD.svg",
953
- label: "+880"
954
- },
955
- {
956
- country_label: "Belgium",
957
- code: "BE",
958
- unicode: "🇧🇪",
959
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BE.svg",
960
- label: "+32"
961
- },
962
- {
963
- country_label: "Burkina Faso",
964
- code: "BF",
965
- unicode: "🇧🇫",
966
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BF.svg",
967
- label: "+226"
968
- },
969
- {
970
- country_label: "Bulgaria",
971
- code: "BG",
972
- unicode: "🇧🇬",
973
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BG.svg",
974
- label: "+359"
975
- },
976
- {
977
- country_label: "Burundi",
978
- code: "BI",
979
- unicode: "🇧🇮",
980
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BI.svg",
981
- label: "+257"
982
- },
983
- {
984
- country_label: "Benin",
985
- code: "BJ",
986
- unicode: "🇧🇯",
987
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BJ.svg",
988
- label: "+229"
989
- },
990
- {
991
- country_label: "St. Barth\xE9lemy",
992
- code: "BL",
993
- unicode: "🇧🇱",
994
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BL.svg",
995
- label: "+590"
996
- },
997
- {
998
- country_label: "Bermuda",
999
- code: "BM",
1000
- unicode: "🇧🇲",
1001
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BM.svg",
1002
- label: "+1441"
1003
- },
1004
- {
1005
- country_label: "Brunei",
1006
- code: "BN",
1007
- unicode: "🇧🇳",
1008
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BN.svg",
1009
- label: "+673"
1010
- },
1011
- {
1012
- country_label: "Bolivia",
1013
- code: "BO",
1014
- unicode: "🇧🇴",
1015
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BO.svg",
1016
- label: "+591"
1017
- },
1018
- {
1019
- country_label: "Brazil",
1020
- code: "BR",
1021
- unicode: "🇧🇷",
1022
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BR.svg",
1023
- label: "+55"
1024
- },
1025
- {
1026
- country_label: "Bahamas",
1027
- code: "BS",
1028
- unicode: "🇧🇸",
1029
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BS.svg",
1030
- label: "+1242"
1031
- },
1032
- {
1033
- country_label: "Bhutan",
1034
- code: "BT",
1035
- unicode: "🇧🇹",
1036
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BT.svg",
1037
- label: "+975"
1038
- },
1039
- {
1040
- country_label: "Botswana",
1041
- code: "BW",
1042
- unicode: "🇧🇼",
1043
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BW.svg",
1044
- label: "+267"
1045
- },
1046
- {
1047
- country_label: "Belarus",
1048
- code: "BY",
1049
- unicode: "🇧🇾",
1050
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BY.svg",
1051
- label: "+375"
1052
- },
1053
- {
1054
- country_label: "Belize",
1055
- code: "BZ",
1056
- unicode: "🇧🇿",
1057
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BZ.svg",
1058
- label: "+501"
1059
- },
1060
- {
1061
- country_label: "Canada",
1062
- code: "CA",
1063
- unicode: "🇨🇦",
1064
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CA.svg",
1065
- label: "+1"
1066
- },
1067
- {
1068
- country_label: "Cocos (Keeling) Islands",
1069
- code: "CC",
1070
- unicode: "🇨🇨",
1071
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CC.svg",
1072
- label: "+61"
1073
- },
1074
- {
1075
- country_label: "Congo - Kinshasa",
1076
- code: "CD",
1077
- unicode: "🇨🇩",
1078
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CD.svg",
1079
- label: "+243"
1080
- },
1081
- {
1082
- country_label: "Central African Republic",
1083
- code: "CF",
1084
- unicode: "🇨🇫",
1085
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CF.svg",
1086
- label: "+236"
1087
- },
1088
- {
1089
- country_label: "Congo - Brazzaville",
1090
- code: "CG",
1091
- unicode: "🇨🇬",
1092
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CG.svg",
1093
- label: "+242"
1094
- },
1095
- {
1096
- country_label: "Switzerland",
1097
- code: "CH",
1098
- unicode: "🇨🇭",
1099
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CH.svg",
1100
- label: "+41"
1101
- },
1102
- {
1103
- country_label: "C\xF4te d\u2019Ivoire",
1104
- code: "CI",
1105
- unicode: "🇨🇮",
1106
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CI.svg",
1107
- label: "+225"
1108
- },
1109
- {
1110
- country_label: "Cook Islands",
1111
- code: "CK",
1112
- unicode: "🇨🇰",
1113
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CK.svg",
1114
- label: "+682"
1115
- },
1116
- {
1117
- country_label: "Chile",
1118
- code: "CL",
1119
- unicode: "🇨🇱",
1120
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CL.svg",
1121
- label: "+56"
1122
- },
1123
- {
1124
- country_label: "Cameroon",
1125
- code: "CM",
1126
- unicode: "🇨🇲",
1127
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CM.svg",
1128
- label: "+237"
1129
- },
1130
- {
1131
- country_label: "China",
1132
- code: "CN",
1133
- unicode: "🇨🇳",
1134
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CN.svg",
1135
- label: "+86"
1136
- },
1137
- {
1138
- country_label: "Colombia",
1139
- code: "CO",
1140
- unicode: "🇨🇴",
1141
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CO.svg",
1142
- label: "+57"
1143
- },
1144
- {
1145
- country_label: "Costa Rica",
1146
- code: "CR",
1147
- unicode: "🇨🇷",
1148
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CR.svg",
1149
- label: "+506"
1150
- },
1151
- {
1152
- country_label: "Cuba",
1153
- code: "CU",
1154
- unicode: "🇨🇺",
1155
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CU.svg",
1156
- label: "+53"
1157
- },
1158
- {
1159
- country_label: "Cape Verde",
1160
- code: "CV",
1161
- unicode: "🇨🇻",
1162
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CV.svg",
1163
- label: "+238"
1164
- },
1165
- {
1166
- country_label: "Christmas Island",
1167
- code: "CX",
1168
- unicode: "🇨🇽",
1169
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CX.svg",
1170
- label: "+61"
1171
- },
1172
- {
1173
- country_label: "Cyprus",
1174
- code: "CY",
1175
- unicode: "🇨🇾",
1176
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CY.svg",
1177
- label: "+357"
1178
- },
1179
- {
1180
- country_label: "Czechia",
1181
- code: "CZ",
1182
- unicode: "🇨🇿",
1183
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CZ.svg",
1184
- label: "+420"
1185
- },
1186
- {
1187
- country_label: "Germany",
1188
- code: "DE",
1189
- unicode: "🇩🇪",
1190
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/DE.svg",
1191
- label: "+49"
1192
- },
1193
- {
1194
- country_label: "Djibouti",
1195
- code: "DJ",
1196
- unicode: "🇩🇯",
1197
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/DJ.svg",
1198
- label: "+253"
1199
- },
1200
- {
1201
- country_label: "Denmark",
1202
- code: "DK",
1203
- unicode: "🇩🇰",
1204
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/DK.svg",
1205
- label: "+45"
1206
- },
1207
- {
1208
- country_label: "Dominica",
1209
- code: "DM",
1210
- unicode: "🇩🇲",
1211
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/DM.svg",
1212
- label: "+1767"
1213
- },
1214
- {
1215
- country_label: "Dominican Republic",
1216
- code: "DO",
1217
- unicode: "🇩🇴",
1218
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/DO.svg",
1219
- label: "+1849"
1220
- },
1221
- {
1222
- country_label: "Algeria",
1223
- code: "DZ",
1224
- unicode: "🇩🇿",
1225
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/DZ.svg",
1226
- label: "+213"
1227
- },
1228
- {
1229
- country_label: "Ecuador",
1230
- code: "EC",
1231
- unicode: "🇪🇨",
1232
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/EC.svg",
1233
- label: "+593"
1234
- },
1235
- {
1236
- country_label: "Estonia",
1237
- code: "EE",
1238
- unicode: "🇪🇪",
1239
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/EE.svg",
1240
- label: "+372"
1241
- },
1242
- {
1243
- country_label: "Egypt",
1244
- code: "EG",
1245
- unicode: "🇪🇬",
1246
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/EG.svg",
1247
- label: "+20"
1248
- },
1249
- {
1250
- country_label: "Eritrea",
1251
- code: "ER",
1252
- unicode: "🇪🇷",
1253
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/ER.svg",
1254
- label: "+291"
1255
- },
1256
- {
1257
- country_label: "Spain",
1258
- code: "ES",
1259
- unicode: "🇪🇸",
1260
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/ES.svg",
1261
- label: "+34"
1262
- },
1263
- {
1264
- country_label: "Ethiopia",
1265
- code: "ET",
1266
- unicode: "🇪🇹",
1267
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/ET.svg",
1268
- label: "+251"
1269
- },
1270
- {
1271
- country_label: "Finland",
1272
- code: "FI",
1273
- unicode: "🇫🇮",
1274
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/FI.svg",
1275
- label: "+358"
1276
- },
1277
- {
1278
- country_label: "Fiji",
1279
- code: "FJ",
1280
- unicode: "🇫🇯",
1281
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/FJ.svg",
1282
- label: "+679"
1283
- },
1284
- {
1285
- country_label: "Falkland Islands",
1286
- code: "FK",
1287
- unicode: "🇫🇰",
1288
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/FK.svg",
1289
- label: "+500"
1290
- },
1291
- {
1292
- country_label: "Micronesia",
1293
- code: "FM",
1294
- unicode: "🇫🇲",
1295
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/FM.svg",
1296
- label: "+691"
1297
- },
1298
- {
1299
- country_label: "Faroe Islands",
1300
- code: "FO",
1301
- unicode: "🇫🇴",
1302
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/FO.svg",
1303
- label: "+298"
1304
- },
1305
- {
1306
- country_label: "France",
1307
- code: "FR",
1308
- unicode: "🇫🇷",
1309
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/FR.svg",
1310
- label: "+33"
1311
- },
1312
- {
1313
- country_label: "Gabon",
1314
- code: "GA",
1315
- unicode: "🇬🇦",
1316
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GA.svg",
1317
- label: "+241"
1318
- },
1319
- {
1320
- country_label: "United Kingdom",
1321
- code: "GB",
1322
- unicode: "🇬🇧",
1323
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GB.svg",
1324
- label: "+44"
1325
- },
1326
- {
1327
- country_label: "Grenada",
1328
- code: "GD",
1329
- unicode: "🇬🇩",
1330
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GD.svg",
1331
- label: "+1473"
1332
- },
1333
- {
1334
- country_label: "Georgia",
1335
- code: "GE",
1336
- unicode: "🇬🇪",
1337
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GE.svg",
1338
- label: "+995"
1339
- },
1340
- {
1341
- country_label: "French Guiana",
1342
- code: "GF",
1343
- unicode: "🇬🇫",
1344
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GF.svg",
1345
- label: "+594"
1346
- },
1347
- {
1348
- country_label: "Guernsey",
1349
- code: "GG",
1350
- unicode: "🇬🇬",
1351
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GG.svg",
1352
- label: "+44"
1353
- },
1354
- {
1355
- country_label: "Ghana",
1356
- code: "GH",
1357
- unicode: "🇬🇭",
1358
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GH.svg",
1359
- label: "+233"
1360
- },
1361
- {
1362
- country_label: "Gibraltar",
1363
- code: "GI",
1364
- unicode: "🇬🇮",
1365
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GI.svg",
1366
- label: "+350"
1367
- },
1368
- {
1369
- country_label: "Greenland",
1370
- code: "GL",
1371
- unicode: "🇬🇱",
1372
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GL.svg",
1373
- label: "+299"
1374
- },
1375
- {
1376
- country_label: "Gambia",
1377
- code: "GM",
1378
- unicode: "🇬🇲",
1379
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GM.svg",
1380
- label: "+220"
1381
- },
1382
- {
1383
- country_label: "Guinea",
1384
- code: "GN",
1385
- unicode: "🇬🇳",
1386
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GN.svg",
1387
- label: "+224"
1388
- },
1389
- {
1390
- country_label: "Guadeloupe",
1391
- code: "GP",
1392
- unicode: "🇬🇵",
1393
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GP.svg",
1394
- label: "+590"
1395
- },
1396
- {
1397
- country_label: "Equatorial Guinea",
1398
- code: "GQ",
1399
- unicode: "🇬🇶",
1400
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GQ.svg",
1401
- label: "+240"
1402
- },
1403
- {
1404
- country_label: "Greece",
1405
- code: "GR",
1406
- unicode: "🇬🇷",
1407
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GR.svg",
1408
- label: "+30"
1409
- },
1410
- {
1411
- country_label: "South Georgia & South Sandwich Islands",
1412
- code: "GS",
1413
- unicode: "🇬🇸",
1414
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GS.svg",
1415
- label: "+500"
1416
- },
1417
- {
1418
- country_label: "Guatemala",
1419
- code: "GT",
1420
- unicode: "🇬🇹",
1421
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GT.svg",
1422
- label: "+502"
1423
- },
1424
- {
1425
- country_label: "Guam",
1426
- code: "GU",
1427
- unicode: "🇬🇺",
1428
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GU.svg",
1429
- label: "+1671"
1430
- },
1431
- {
1432
- country_label: "Guinea-Bissau",
1433
- code: "GW",
1434
- unicode: "🇬🇼",
1435
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GW.svg",
1436
- label: "+245"
1437
- },
1438
- {
1439
- country_label: "Guyana",
1440
- code: "GY",
1441
- unicode: "🇬🇾",
1442
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GY.svg",
1443
- label: "+595"
1444
- },
1445
- {
1446
- country_label: "Hong Kong SAR China",
1447
- code: "HK",
1448
- unicode: "🇭🇰",
1449
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/HK.svg",
1450
- label: "+852"
1451
- },
1452
- {
1453
- country_label: "Honduras",
1454
- code: "HN",
1455
- unicode: "🇭🇳",
1456
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/HN.svg",
1457
- label: "+504"
1458
- },
1459
- {
1460
- country_label: "Croatia",
1461
- code: "HR",
1462
- unicode: "🇭🇷",
1463
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/HR.svg",
1464
- label: "+385"
1465
- },
1466
- {
1467
- country_label: "Haiti",
1468
- code: "HT",
1469
- unicode: "🇭🇹",
1470
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/HT.svg",
1471
- label: "+509"
1472
- },
1473
- {
1474
- country_label: "Hungary",
1475
- code: "HU",
1476
- unicode: "🇭🇺",
1477
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/HU.svg",
1478
- label: "+36"
1479
- },
1480
- {
1481
- country_label: "Indonesia",
1482
- code: "ID",
1483
- unicode: "🇮🇩",
1484
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/ID.svg",
1485
- label: "+62"
1486
- },
1487
- {
1488
- country_label: "Ireland",
1489
- code: "IE",
1490
- unicode: "🇮🇪",
1491
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/IE.svg",
1492
- label: "+353"
1493
- },
1494
- {
1495
- country_label: "Israel",
1496
- code: "IL",
1497
- unicode: "🇮🇱",
1498
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/IL.svg",
1499
- label: "+972"
1500
- },
1501
- {
1502
- country_label: "Isle of Man",
1503
- code: "IM",
1504
- unicode: "🇮🇲",
1505
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/IM.svg",
1506
- label: "+44"
1507
- },
1508
- {
1509
- country_label: "India",
1510
- code: "IN",
1511
- unicode: "🇮🇳",
1512
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/IN.svg",
1513
- label: "+91"
1514
- },
1515
- {
1516
- country_label: "British Indian Ocean Territory",
1517
- code: "IO",
1518
- unicode: "🇮🇴",
1519
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/IO.svg",
1520
- label: "+246"
1521
- },
1522
- {
1523
- country_label: "Iraq",
1524
- code: "IQ",
1525
- unicode: "🇮🇶",
1526
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/IQ.svg",
1527
- label: "+964"
1528
- },
1529
- {
1530
- country_label: "Iran",
1531
- code: "IR",
1532
- unicode: "🇮🇷",
1533
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/IR.svg",
1534
- label: "+98"
1535
- },
1536
- {
1537
- country_label: "Iceland",
1538
- code: "IS",
1539
- unicode: "🇮🇸",
1540
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/IS.svg",
1541
- label: "+354"
1542
- },
1543
- {
1544
- country_label: "Italy",
1545
- code: "IT",
1546
- unicode: "🇮🇹",
1547
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/IT.svg",
1548
- label: "+39"
1549
- },
1550
- {
1551
- country_label: "Jersey",
1552
- code: "JE",
1553
- unicode: "🇯🇪",
1554
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/JE.svg",
1555
- label: "+44"
1556
- },
1557
- {
1558
- country_label: "Jamaica",
1559
- code: "JM",
1560
- unicode: "🇯🇲",
1561
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/JM.svg",
1562
- label: "+1876"
1563
- },
1564
- {
1565
- country_label: "Jordan",
1566
- code: "JO",
1567
- unicode: "🇯🇴",
1568
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/JO.svg",
1569
- label: "+962"
1570
- },
1571
- {
1572
- country_label: "Japan",
1573
- code: "JP",
1574
- unicode: "🇯🇵",
1575
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/JP.svg",
1576
- label: "+81"
1577
- },
1578
- {
1579
- country_label: "Kenya",
1580
- code: "KE",
1581
- unicode: "🇰🇪",
1582
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KE.svg",
1583
- label: "+254"
1584
- },
1585
- {
1586
- country_label: "Kyrgyzstan",
1587
- code: "KG",
1588
- unicode: "🇰🇬",
1589
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KG.svg",
1590
- label: "+996"
1591
- },
1592
- {
1593
- country_label: "Cambodia",
1594
- code: "KH",
1595
- unicode: "🇰🇭",
1596
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KH.svg",
1597
- label: "+855"
1598
- },
1599
- {
1600
- country_label: "Kiribati",
1601
- code: "KI",
1602
- unicode: "🇰🇮",
1603
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KI.svg",
1604
- label: "+686"
1605
- },
1606
- {
1607
- country_label: "Comoros",
1608
- code: "KM",
1609
- unicode: "🇰🇲",
1610
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KM.svg",
1611
- label: "+269"
1612
- },
1613
- {
1614
- country_label: "St. Kitts & Nevis",
1615
- code: "KN",
1616
- unicode: "🇰🇳",
1617
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KN.svg",
1618
- label: "+1869"
1619
- },
1620
- {
1621
- country_label: "North Korea",
1622
- code: "KP",
1623
- unicode: "🇰🇵",
1624
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KP.svg",
1625
- label: "+850"
1626
- },
1627
- {
1628
- country_label: "South Korea",
1629
- code: "KR",
1630
- unicode: "🇰🇷",
1631
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KR.svg",
1632
- label: "+82"
1633
- },
1634
- {
1635
- country_label: "Cayman Islands",
1636
- code: "KY",
1637
- unicode: "🇰🇾",
1638
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KY.svg",
1639
- label: "+ 345"
1640
- },
1641
- {
1642
- country_label: "Kazakhstan",
1643
- code: "KZ",
1644
- unicode: "🇰🇿",
1645
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KZ.svg",
1646
- label: "+77"
1647
- },
1648
- {
1649
- country_label: "Laos",
1650
- code: "LA",
1651
- unicode: "🇱🇦",
1652
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LA.svg",
1653
- label: "+856"
1654
- },
1655
- {
1656
- country_label: "Lebanon",
1657
- code: "LB",
1658
- unicode: "🇱🇧",
1659
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LB.svg",
1660
- label: "+961"
1661
- },
1662
- {
1663
- country_label: "St. Lucia",
1664
- code: "LC",
1665
- unicode: "🇱🇨",
1666
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LC.svg",
1667
- label: "+1758"
1668
- },
1669
- {
1670
- country_label: "Liechtenstein",
1671
- code: "LI",
1672
- unicode: "🇱🇮",
1673
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LI.svg",
1674
- label: "+423"
1675
- },
1676
- {
1677
- country_label: "Sri Lanka",
1678
- code: "LK",
1679
- unicode: "🇱🇰",
1680
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LK.svg",
1681
- label: "+94"
1682
- },
1683
- {
1684
- country_label: "Liberia",
1685
- code: "LR",
1686
- unicode: "🇱🇷",
1687
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LR.svg",
1688
- label: "+231"
1689
- },
1690
- {
1691
- country_label: "Lesotho",
1692
- code: "LS",
1693
- unicode: "🇱🇸",
1694
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LS.svg",
1695
- label: "+266"
1696
- },
1697
- {
1698
- country_label: "Lithuania",
1699
- code: "LT",
1700
- unicode: "🇱🇹",
1701
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LT.svg",
1702
- label: "+370"
1703
- },
1704
- {
1705
- country_label: "Luxembourg",
1706
- code: "LU",
1707
- unicode: "🇱🇺",
1708
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LU.svg",
1709
- label: "+352"
1710
- },
1711
- {
1712
- country_label: "Latvia",
1713
- code: "LV",
1714
- unicode: "🇱🇻",
1715
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LV.svg",
1716
- label: "+371"
1717
- },
1718
- {
1719
- country_label: "Libya",
1720
- code: "LY",
1721
- unicode: "🇱🇾",
1722
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LY.svg",
1723
- label: "+218"
1724
- },
1725
- {
1726
- country_label: "Morocco",
1727
- code: "MA",
1728
- unicode: "🇲🇦",
1729
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MA.svg",
1730
- label: "+212"
1731
- },
1732
- {
1733
- country_label: "Monaco",
1734
- code: "MC",
1735
- unicode: "🇲🇨",
1736
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MC.svg",
1737
- label: "+377"
1738
- },
1739
- {
1740
- country_label: "Moldova",
1741
- code: "MD",
1742
- unicode: "🇲🇩",
1743
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MD.svg",
1744
- label: "+373"
1745
- },
1746
- {
1747
- country_label: "Montenegro",
1748
- code: "ME",
1749
- unicode: "🇲🇪",
1750
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/ME.svg",
1751
- label: "+382"
1752
- },
1753
- {
1754
- country_label: "St. Martin",
1755
- code: "MF",
1756
- unicode: "🇲🇫",
1757
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MF.svg",
1758
- label: "+590"
1759
- },
1760
- {
1761
- country_label: "Madagascar",
1762
- code: "MG",
1763
- unicode: "🇲🇬",
1764
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MG.svg",
1765
- label: "+261"
1766
- },
1767
- {
1768
- country_label: "Marshall Islands",
1769
- code: "MH",
1770
- unicode: "🇲🇭",
1771
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MH.svg",
1772
- label: "+692"
1773
- },
1774
- {
1775
- country_label: "North Macedonia",
1776
- code: "MK",
1777
- unicode: "🇲🇰",
1778
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MK.svg",
1779
- label: "+389"
1780
- },
1781
- {
1782
- country_label: "Mali",
1783
- code: "ML",
1784
- unicode: "🇲🇱",
1785
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/ML.svg",
1786
- label: "+223"
1787
- },
1788
- {
1789
- country_label: "Myanmar (Burma)",
1790
- code: "MM",
1791
- unicode: "🇲🇲",
1792
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MM.svg",
1793
- label: "+95"
1794
- },
1795
- {
1796
- country_label: "Mongolia",
1797
- code: "MN",
1798
- unicode: "🇲🇳",
1799
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MN.svg",
1800
- label: "+976"
1801
- },
1802
- {
1803
- country_label: "Macao SAR China",
1804
- code: "MO",
1805
- unicode: "🇲🇴",
1806
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MO.svg",
1807
- label: "+853"
1808
- },
1809
- {
1810
- country_label: "Northern Mariana Islands",
1811
- code: "MP",
1812
- unicode: "🇲🇵",
1813
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MP.svg",
1814
- label: "+1670"
1815
- },
1816
- {
1817
- country_label: "Martinique",
1818
- code: "MQ",
1819
- unicode: "🇲🇶",
1820
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MQ.svg",
1821
- label: "+596"
1822
- },
1823
- {
1824
- country_label: "Mauritania",
1825
- code: "MR",
1826
- unicode: "🇲🇷",
1827
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MR.svg",
1828
- label: "+222"
1829
- },
1830
- {
1831
- country_label: "Montserrat",
1832
- code: "MS",
1833
- unicode: "🇲🇸",
1834
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MS.svg",
1835
- label: "+1664"
1836
- },
1837
- {
1838
- country_label: "Malta",
1839
- code: "MT",
1840
- unicode: "🇲🇹",
1841
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MT.svg",
1842
- label: "+356"
1843
- },
1844
- {
1845
- country_label: "Mauritius",
1846
- code: "MU",
1847
- unicode: "🇲🇺",
1848
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MU.svg",
1849
- label: "+230"
1850
- },
1851
- {
1852
- country_label: "Maldives",
1853
- code: "MV",
1854
- unicode: "🇲🇻",
1855
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MV.svg",
1856
- label: "+960"
1857
- },
1858
- {
1859
- country_label: "Malawi",
1860
- code: "MW",
1861
- unicode: "🇲🇼",
1862
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MW.svg",
1863
- label: "+265"
1864
- },
1865
- {
1866
- country_label: "Mexico",
1867
- code: "MX",
1868
- unicode: "🇲🇽",
1869
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MX.svg",
1870
- label: "+52"
1871
- },
1872
- {
1873
- country_label: "Malaysia",
1874
- code: "MY",
1875
- unicode: "🇲🇾",
1876
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MY.svg",
1877
- label: "+60"
1878
- },
1879
- {
1880
- country_label: "Mozambique",
1881
- code: "MZ",
1882
- unicode: "🇲🇿",
1883
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MZ.svg",
1884
- label: "+258"
1885
- },
1886
- {
1887
- country_label: "Namibia",
1888
- code: "NA",
1889
- unicode: "🇳🇦",
1890
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/NA.svg",
1891
- label: "+264"
1892
- },
1893
- {
1894
- country_label: "New Caledonia",
1895
- code: "NC",
1896
- unicode: "🇳🇨",
1897
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/NC.svg",
1898
- label: "+687"
1899
- },
1900
- {
1901
- country_label: "Niger",
1902
- code: "NE",
1903
- unicode: "🇳🇪",
1904
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/NE.svg",
1905
- label: "+227"
1906
- },
1907
- {
1908
- country_label: "Norfolk Island",
1909
- code: "NF",
1910
- unicode: "🇳🇫",
1911
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/NF.svg",
1912
- label: "+672"
1913
- },
1914
- {
1915
- country_label: "Nigeria",
1916
- code: "NG",
1917
- unicode: "🇳🇬",
1918
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/NG.svg",
1919
- label: "+234"
1920
- },
1921
- {
1922
- country_label: "Nicaragua",
1923
- code: "NI",
1924
- unicode: "🇳🇮",
1925
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/NI.svg",
1926
- label: "+505"
1927
- },
1928
- {
1929
- country_label: "Netherlands",
1930
- code: "NL",
1931
- unicode: "🇳🇱",
1932
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/NL.svg",
1933
- label: "+31"
1934
- },
1935
- {
1936
- country_label: "Norway",
1937
- code: "NO",
1938
- unicode: "🇳🇴",
1939
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/NO.svg",
1940
- label: "+47"
1941
- },
1942
- {
1943
- country_label: "Nepal",
1944
- code: "NP",
1945
- unicode: "🇳🇵",
1946
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/NP.svg",
1947
- label: "+977"
1948
- },
1949
- {
1950
- country_label: "Nauru",
1951
- code: "NR",
1952
- unicode: "🇳🇷",
1953
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/NR.svg",
1954
- label: "+674"
1955
- },
1956
- {
1957
- country_label: "Niue",
1958
- code: "NU",
1959
- unicode: "🇳🇺",
1960
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/NU.svg",
1961
- label: "+683"
1962
- },
1963
- {
1964
- country_label: "New Zealand",
1965
- code: "NZ",
1966
- unicode: "🇳🇿",
1967
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/NZ.svg",
1968
- label: "+64"
1969
- },
1970
- {
1971
- country_label: "Panama",
1972
- code: "PA",
1973
- unicode: "🇵🇦",
1974
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/PA.svg",
1975
- label: "+507"
1976
- },
1977
- {
1978
- country_label: "Peru",
1979
- code: "PE",
1980
- unicode: "🇵🇪",
1981
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/PE.svg",
1982
- label: "+51"
1983
- },
1984
- {
1985
- country_label: "French Polynesia",
1986
- code: "PF",
1987
- unicode: "🇵🇫",
1988
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/PF.svg",
1989
- label: "+689"
1990
- },
1991
- {
1992
- country_label: "Papua New Guinea",
1993
- code: "PG",
1994
- unicode: "🇵🇬",
1995
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/PG.svg",
1996
- label: "+675"
1997
- },
1998
- {
1999
- country_label: "Philippines",
2000
- code: "PH",
2001
- unicode: "🇵🇭",
2002
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/PH.svg",
2003
- label: "+63"
2004
- },
2005
- {
2006
- country_label: "Pakistan",
2007
- code: "PK",
2008
- unicode: "🇵🇰",
2009
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/PK.svg",
2010
- label: "+92"
2011
- },
2012
- {
2013
- country_label: "Poland",
2014
- code: "PL",
2015
- unicode: "🇵🇱",
2016
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/PL.svg",
2017
- label: "+48"
2018
- },
2019
- {
2020
- country_label: "St. Pierre & Miquelon",
2021
- code: "PM",
2022
- unicode: "🇵🇲",
2023
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/PM.svg",
2024
- label: "+508"
2025
- },
2026
- {
2027
- country_label: "Pitcairn Islands",
2028
- code: "PN",
2029
- unicode: "🇵🇳",
2030
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/PN.svg",
2031
- label: "+872"
2032
- },
2033
- {
2034
- country_label: "Puerto Rico",
2035
- code: "PR",
2036
- unicode: "🇵🇷",
2037
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/PR.svg",
2038
- label: "+1939"
2039
- },
2040
- {
2041
- country_label: "Palestinian Territories",
2042
- code: "PS",
2043
- unicode: "🇵🇸",
2044
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/PS.svg",
2045
- label: "+970"
2046
- },
2047
- {
2048
- country_label: "Portugal",
2049
- code: "PT",
2050
- unicode: "🇵🇹",
2051
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/PT.svg",
2052
- label: "+351"
2053
- },
2054
- {
2055
- country_label: "Palau",
2056
- code: "PW",
2057
- unicode: "🇵🇼",
2058
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/PW.svg",
2059
- label: "+680"
2060
- },
2061
- {
2062
- country_label: "Paraguay",
2063
- code: "PY",
2064
- unicode: "🇵🇾",
2065
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/PY.svg",
2066
- label: "+595"
2067
- },
2068
- {
2069
- country_label: "R\xE9union",
2070
- code: "RE",
2071
- unicode: "🇷🇪",
2072
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/RE.svg",
2073
- label: "+262"
2074
- },
2075
- {
2076
- country_label: "Romania",
2077
- code: "RO",
2078
- unicode: "🇷🇴",
2079
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/RO.svg",
2080
- label: "+40"
2081
- },
2082
- {
2083
- country_label: "Serbia",
2084
- code: "RS",
2085
- unicode: "🇷🇸",
2086
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/RS.svg",
2087
- label: "+381"
2088
- },
2089
- {
2090
- country_label: "Russia",
2091
- code: "RU",
2092
- unicode: "🇷🇺",
2093
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/RU.svg",
2094
- label: "+7"
2095
- },
2096
- {
2097
- country_label: "Rwanda",
2098
- code: "RW",
2099
- unicode: "🇷🇼",
2100
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/RW.svg",
2101
- label: "+250"
2102
- },
2103
- {
2104
- country_label: "Solomon Islands",
2105
- code: "SB",
2106
- unicode: "🇸🇧",
2107
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/SB.svg",
2108
- label: "+677"
2109
- },
2110
- {
2111
- country_label: "Seychelles",
2112
- code: "SC",
2113
- unicode: "🇸🇨",
2114
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/SC.svg",
2115
- label: "+248"
2116
- },
2117
- {
2118
- country_label: "Sudan",
2119
- code: "SD",
2120
- unicode: "🇸🇩",
2121
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/SD.svg",
2122
- label: "+249"
2123
- },
2124
- {
2125
- country_label: "Sweden",
2126
- code: "SE",
2127
- unicode: "🇸🇪",
2128
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/SE.svg",
2129
- label: "+46"
2130
- },
2131
- {
2132
- country_label: "Singapore",
2133
- code: "SG",
2134
- unicode: "🇸🇬",
2135
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/SG.svg",
2136
- label: "+65"
2137
- },
2138
- {
2139
- country_label: "St. Helena",
2140
- code: "SH",
2141
- unicode: "🇸🇭",
2142
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/SH.svg",
2143
- label: "+290"
2144
- },
2145
- {
2146
- country_label: "Slovenia",
2147
- code: "SI",
2148
- unicode: "🇸🇮",
2149
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/SI.svg",
2150
- label: "+386"
2151
- },
2152
- {
2153
- country_label: "Svalbard & Jan Mayen",
2154
- code: "SJ",
2155
- unicode: "🇸🇯",
2156
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/SJ.svg",
2157
- label: "+47"
2158
- },
2159
- {
2160
- country_label: "Slovakia",
2161
- code: "SK",
2162
- unicode: "🇸🇰",
2163
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/SK.svg",
2164
- label: "+421"
2165
- },
2166
- {
2167
- country_label: "Sierra Leone",
2168
- code: "SL",
2169
- unicode: "🇸🇱",
2170
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/SL.svg",
2171
- label: "+232"
2172
- },
2173
- {
2174
- country_label: "San Marino",
2175
- code: "SM",
2176
- unicode: "🇸🇲",
2177
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/SM.svg",
2178
- label: "+378"
2179
- },
2180
- {
2181
- country_label: "Senegal",
2182
- code: "SN",
2183
- unicode: "🇸🇳",
2184
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/SN.svg",
2185
- label: "+221"
2186
- },
2187
- {
2188
- country_label: "Somalia",
2189
- code: "SO",
2190
- unicode: "🇸🇴",
2191
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/SO.svg",
2192
- label: "+252"
2193
- },
2194
- {
2195
- country_label: "Suriname",
2196
- code: "SR",
2197
- unicode: "🇸🇷",
2198
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/SR.svg",
2199
- label: "+597"
2200
- },
2201
- {
2202
- country_label: "South Sudan",
2203
- code: "SS",
2204
- unicode: "🇸🇸",
2205
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/SS.svg",
2206
- label: "+211"
2207
- },
2208
- {
2209
- country_label: "S\xE3o Tom\xE9 & Pr\xEDncipe",
2210
- code: "ST",
2211
- unicode: "🇸🇹",
2212
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/ST.svg",
2213
- label: "+239"
2214
- },
2215
- {
2216
- country_label: "El Salvador",
2217
- code: "SV",
2218
- unicode: "🇸🇻",
2219
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/SV.svg",
2220
- label: "+503"
2221
- },
2222
- {
2223
- country_label: "Syria",
2224
- code: "SY",
2225
- unicode: "🇸🇾",
2226
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/SY.svg",
2227
- label: "+963"
2228
- },
2229
- {
2230
- country_label: "Eswatini",
2231
- code: "SZ",
2232
- unicode: "🇸🇿",
2233
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/SZ.svg",
2234
- label: "+268"
2235
- },
2236
- {
2237
- country_label: "Turks & Caicos Islands",
2238
- code: "TC",
2239
- unicode: "🇹🇨",
2240
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/TC.svg",
2241
- label: "+1649"
2242
- },
2243
- {
2244
- country_label: "Chad",
2245
- code: "TD",
2246
- unicode: "🇹🇩",
2247
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/TD.svg",
2248
- label: "+235"
2249
- },
2250
- {
2251
- country_label: "Togo",
2252
- code: "TG",
2253
- unicode: "🇹🇬",
2254
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/TG.svg",
2255
- label: "+228"
2256
- },
2257
- {
2258
- country_label: "Thailand",
2259
- code: "TH",
2260
- unicode: "🇹🇭",
2261
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/TH.svg",
2262
- label: "+66"
2263
- },
2264
- {
2265
- country_label: "Tajikistan",
2266
- code: "TJ",
2267
- unicode: "🇹🇯",
2268
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/TJ.svg",
2269
- label: "+992"
2270
- },
2271
- {
2272
- country_label: "Tokelau",
2273
- code: "TK",
2274
- unicode: "🇹🇰",
2275
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/TK.svg",
2276
- label: "+690"
2277
- },
2278
- {
2279
- country_label: "Timor-Leste",
2280
- code: "TL",
2281
- unicode: "🇹🇱",
2282
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/TL.svg",
2283
- label: "+670"
2284
- },
2285
- {
2286
- country_label: "Turkmenistan",
2287
- code: "TM",
2288
- unicode: "🇹🇲",
2289
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/TM.svg",
2290
- label: "+993"
2291
- },
2292
- {
2293
- country_label: "Tunisia",
2294
- code: "TN",
2295
- unicode: "🇹🇳",
2296
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/TN.svg",
2297
- label: "+216"
2298
- },
2299
- {
2300
- country_label: "Tonga",
2301
- code: "TO",
2302
- unicode: "🇹🇴",
2303
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/TO.svg",
2304
- label: "+676"
2305
- },
2306
- {
2307
- country_label: "Turkey",
2308
- code: "TR",
2309
- unicode: "🇹🇷",
2310
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/TR.svg",
2311
- label: "+90"
2312
- },
2313
- {
2314
- country_label: "Trinidad & Tobago",
2315
- code: "TT",
2316
- unicode: "🇹🇹",
2317
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/TT.svg",
2318
- label: "+1868"
2319
- },
2320
- {
2321
- country_label: "Tuvalu",
2322
- code: "TV",
2323
- unicode: "🇹🇻",
2324
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/TV.svg",
2325
- label: "+688"
2326
- },
2327
- {
2328
- country_label: "Taiwan",
2329
- code: "TW",
2330
- unicode: "🇹🇼",
2331
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/TW.svg",
2332
- label: "+886"
2333
- },
2334
- {
2335
- country_label: "Tanzania",
2336
- code: "TZ",
2337
- unicode: "🇹🇿",
2338
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/TZ.svg",
2339
- label: "+255"
2340
- },
2341
- {
2342
- country_label: "Ukraine",
2343
- code: "UA",
2344
- unicode: "🇺🇦",
2345
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/UA.svg",
2346
- label: "+380"
2347
- },
2348
- {
2349
- country_label: "Uganda",
2350
- code: "UG",
2351
- unicode: "🇺🇬",
2352
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/UG.svg",
2353
- label: "+256"
2354
- },
2355
- {
2356
- country_label: "United States",
2357
- code: "US",
2358
- unicode: "🇺🇸",
2359
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/US.svg",
2360
- label: "+1"
2361
- },
2362
- {
2363
- country_label: "Uruguay",
2364
- code: "UY",
2365
- unicode: "🇺🇾",
2366
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/UY.svg",
2367
- label: "+598"
2368
- },
2369
- {
2370
- country_label: "Uzbekistan",
2371
- code: "UZ",
2372
- unicode: "🇺🇿",
2373
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/UZ.svg",
2374
- label: "+998"
2375
- },
2376
- {
2377
- country_label: "Vatican City",
2378
- code: "VA",
2379
- unicode: "🇻🇦",
2380
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/VA.svg",
2381
- label: "+379"
2382
- },
2383
- {
2384
- country_label: "St. Vincent & Grenadines",
2385
- code: "VC",
2386
- unicode: "🇻🇨",
2387
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/VC.svg",
2388
- label: "+1784"
2389
- },
2390
- {
2391
- country_label: "Venezuela",
2392
- code: "VE",
2393
- unicode: "🇻🇪",
2394
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/VE.svg",
2395
- label: "+58"
2396
- },
2397
- {
2398
- country_label: "British Virgin Islands",
2399
- code: "VG",
2400
- unicode: "🇻🇬",
2401
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/VG.svg",
2402
- label: "+1284"
2403
- },
2404
- {
2405
- country_label: "U.S. Virgin Islands",
2406
- code: "VI",
2407
- unicode: "🇻🇮",
2408
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/VI.svg",
2409
- label: "+1340"
2410
- },
2411
- {
2412
- country_label: "Vietnam",
2413
- code: "VN",
2414
- unicode: "🇻🇳",
2415
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/VN.svg",
2416
- label: "+84"
2417
- },
2418
- {
2419
- country_label: "Vanuatu",
2420
- code: "VU",
2421
- unicode: "🇻🇺",
2422
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/VU.svg",
2423
- label: "+678"
2424
- },
2425
- {
2426
- country_label: "Wallis & Futuna",
2427
- code: "WF",
2428
- unicode: "🇼🇫",
2429
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/WF.svg",
2430
- label: "+681"
2431
- },
2432
- {
2433
- country_label: "Samoa",
2434
- code: "WS",
2435
- unicode: "🇼🇸",
2436
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/WS.svg",
2437
- label: "+685"
2438
- },
2439
- {
2440
- country_label: "Yemen",
2441
- code: "YE",
2442
- unicode: "🇾🇪",
2443
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/YE.svg",
2444
- label: "+967"
2445
- },
2446
- {
2447
- country_label: "Mayotte",
2448
- code: "YT",
2449
- unicode: "🇾🇹",
2450
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/YT.svg",
2451
- label: "+262"
2452
- },
2453
- {
2454
- country_label: "South Africa",
2455
- code: "ZA",
2456
- unicode: "🇿🇦",
2457
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/ZA.svg",
2458
- label: "+27"
2459
- },
2460
- {
2461
- country_label: "Zambia",
2462
- code: "ZM",
2463
- unicode: "🇿🇲",
2464
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/ZM.svg",
2465
- label: "+260"
2466
- },
2467
- {
2468
- country_label: "Zimbabwe",
2469
- code: "ZW",
2470
- unicode: "🇿🇼",
2471
- image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/ZW.svg",
2472
- label: "+263"
2473
- }
2474
- ];
2475
- var countries_default = countries;
2476
-
2477
- // elements/select/Select.tsx
2478
- var import_react6 = __toESM(require("react"));
2479
- var import_react_select = __toESM(require("react-select"));
2480
- var import_creatable = __toESM(require("react-select/creatable"));
2481
- var import_clsx2 = __toESM(require("clsx"));
2482
- var Select = ({
2483
- labelProps,
2484
- labelKey = "label",
2485
- ...props
2486
- }) => {
2487
- const NoOption = () => {
2488
- var _a, _b;
2489
- return /* @__PURE__ */ import_react6.default.createElement("div", null, (_b = (_a = props.texts) == null ? void 0 : _a.noOptions) != null ? _b : "No Items Found");
2490
- };
2491
- const Control = ({ children, innerProps, innerRef }) => {
2492
- return /* @__PURE__ */ import_react6.default.createElement(
2493
- "div",
2494
- {
2495
- ref: innerRef,
2496
- className: (0, import_clsx2.default)(
2497
- "hawa-flex hawa-w-full hawa-rounded hawa-border hawa-bg-background hawa-p-2 hawa-text-sm hawa-text-gray-900 focus:hawa-border-blue-500 focus:hawa-ring-blue-500 dark:focus:hawa-ring-blue-500"
2498
- ),
2499
- ...innerProps
2500
- },
2501
- children
2502
- );
2503
- };
2504
- const Option = ({ children, innerProps, innerRef }) => {
2505
- return /* @__PURE__ */ import_react6.default.createElement(
2506
- "div",
2507
- {
2508
- ref: innerRef,
2509
- className: cn(
2510
- "hawa-flex hawa-cursor-pointer hawa-select-none hawa-flex-row hawa-items-center hawa-justify-between hawa-rounded-inner hawa-p-1 hawa-px-2 hawa-transition-all hover:hawa-bg-primary hover:hawa-text-primary-foreground"
2511
- ),
2512
- ...innerProps
2513
- },
2514
- children
2515
- );
2516
- };
2517
- const Menu = ({
2518
- cx,
2519
- children,
2520
- getStyles,
2521
- innerProps,
2522
- innerRef,
2523
- ...menuProps
2524
- }) => {
2525
- const menuOpen = menuProps.selectProps.menuIsOpen;
2526
- return /* @__PURE__ */ import_react6.default.createElement(
2527
- "div",
2528
- {
2529
- className: cn(
2530
- "dark:dark-shadow hawa-absolute hawa-z-10 -hawa-mx-1 hawa-mt-1 hawa-flex hawa-flex-col hawa-justify-start hawa-rounded hawa-border hawa-bg-background hawa-shadow-md",
2531
- props.phoneCode ? "hawa-p-1.5" : "hawa-w-full hawa-p-1.5",
2532
- menuOpen && "hawa-animate-in hawa-fade-in-0 hawa-zoom-in-95 "
2533
- ),
2534
- ref: innerRef,
2535
- ...innerProps
2536
- },
2537
- children
2538
- );
2539
- };
2540
- return /* @__PURE__ */ import_react6.default.createElement(
2541
- "div",
2542
- {
2543
- className: cn(
2544
- "hawa-flex hawa-flex-col hawa-gap-2",
2545
- props.width === "fit" ? "hawa-w-fit" : "hawa-w-full"
2546
- )
2547
- },
2548
- props.label && /* @__PURE__ */ import_react6.default.createElement(Label, { ...labelProps }, props.label),
2549
- props.isLoading ? /* @__PURE__ */ import_react6.default.createElement(Skeleton, { className: "hawa-h-[40px] hawa-w-full" }) : !props.isCreatable ? (
2550
- // TODO: enable keyboard to go to the next item in the list
2551
- /* @__PURE__ */ import_react6.default.createElement(
2552
- import_react_select.default,
2553
- {
2554
- noOptionsMessage: NoOption,
2555
- classNames: {
2556
- control: () => cn(
2557
- props.phoneCode && "hawa-rounded-r-none",
2558
- props.controlClassNames
2559
- ),
2560
- container: () => cn(
2561
- "hawa-rounded",
2562
- props.phoneCode && "hawa-w-fit hawa-min-w-[65px] hawa-text-right hawa-w-[100px] hawa-p-0 hawa-rounded-r-none hawa-h-[40px] ",
2563
- "hawa-block hawa-w-full hawa-rounded hawa-border hawa-transition-all hawa-bg-background hawa-p-0 hawa-px-1 hawa-text-sm",
2564
- props.disabled ? "hawa-cursor-not-allowed" : "hawa-cursor-pointer"
2565
- ),
2566
- placeholder: () => "hawa-text-muted-foreground hawa-cursor-pointer hawa-px-1",
2567
- valueContainer: () => "hawa-text-foreground hawa-px-1 ",
2568
- singleValue: () => "hawa-text-foreground",
2569
- indicatorsContainer: () => cn(
2570
- "hawa-cursor-pointer hawa-text-muted-foreground",
2571
- props.hideIndicator ? "hawa-invisible" : "hawa-px-1"
2572
- )
2573
- },
2574
- unstyled: true,
2575
- autoFocus: true,
2576
- components: props.hideIndicator ? { Option, Menu, IndicatorsContainer: () => null } : { Option, Menu },
2577
- onChange: (newValue, action) => props.onChange(newValue, action),
2578
- options: props.options,
2579
- getOptionLabel: props.getOptionLabel,
2580
- defaultValue: props.defaultValue,
2581
- placeholder: props.placeholder,
2582
- isDisabled: props.disabled,
2583
- isClearable: props.isClearable,
2584
- isMulti: props.isMulti,
2585
- isSearchable: props.isSearchable
2586
- }
2587
- )
2588
- ) : /* @__PURE__ */ import_react6.default.createElement(
2589
- import_creatable.default,
2590
- {
2591
- formatCreateLabel: (inputValue) => {
2592
- var _a, _b;
2593
- return `${(_b = (_a = props.texts) == null ? void 0 : _a.createLabel) != null ? _b : "Create"} "${inputValue}"`;
2594
- },
2595
- classNames: {
2596
- container: () => cn(
2597
- "hawa-rounded",
2598
- props.disabled ? "hawa-cursor-not-allowed" : "hawa-cursor-pointer"
2599
- ),
2600
- placeholder: () => "hawa-px-2 hawa-text-muted-foreground",
2601
- input: () => "hawa-text-primary hawa-px-2",
2602
- valueContainer: () => "hawa-text-white dark:hawa-text-muted-foreground",
2603
- singleValue: () => "hawa-text-black dark:hawa-text-white hawa-px-2",
2604
- indicatorsContainer: () => " hawa-px-2 hawa-cursor-pointer hawa-text-muted-foreground"
2605
- },
2606
- unstyled: true,
2607
- options: props.options,
2608
- isClearable: props.isClearable,
2609
- isMulti: props.isMulti,
2610
- isSearchable: props.isSearchable,
2611
- placeholder: props.placeholder,
2612
- onCreateOption: props.handleCreateOption,
2613
- onChange: (newValue, action) => props.onChange(newValue, action),
2614
- components: { Control, Option, Menu },
2615
- onInputChange: (newValue, action) => props.onInputChange(newValue, action)
2616
- }
2617
- ),
2618
- !props.hideHelperText && /* @__PURE__ */ import_react6.default.createElement(
2619
- "p",
2620
- {
2621
- className: cn(
2622
- "hawa-my-0 hawa-text-start hawa-text-xs hawa-text-helper-color hawa-transition-all",
2623
- props.helperText ? "hawa-h-4 hawa-opacity-100" : "hawa-h-0 hawa-opacity-0"
2624
- )
2625
- },
2626
- props.helperText
2627
- )
2628
- );
2629
- };
2630
-
2631
- // elements/phoneInput/PhoneInput.tsx
2632
- var PhoneInput = ({ labelProps, ...props }) => {
2633
- const [phoneNumber, setPhoneNumber] = (0, import_react7.useState)("");
2634
- const [countryCode, setCountryCode] = (0, import_react7.useState)(props.preferredCountry);
2635
- const inputRef = (0, import_react7.useRef)(null);
2636
- (0, import_react7.useEffect)(() => {
2637
- var _a;
2638
- if (inputRef.current) {
2639
- (_a = inputRef.current) == null ? void 0 : _a.focus();
2640
- }
2641
- }, []);
2642
- const handleInputChange = (e) => {
2643
- const validChars = /^[0-9-()]+$/;
2644
- const input = e.target.value;
2645
- if (input === "" || validChars.test(input)) {
2646
- setPhoneNumber(input);
2647
- }
2648
- if (props.handleChange) {
2649
- props.handleChange(`${countryCode == null ? void 0 : countryCode.label}-${e.target.value}`);
2650
- } else {
2651
- console.log("handleChange prop was not provided in <PhoneInput/>");
2652
- }
2653
- };
2654
- return /* @__PURE__ */ import_react7.default.createElement("div", { className: "hawa-flex hawa-h-fit hawa-w-full hawa-flex-col hawa-gap-2" }, props.label && /* @__PURE__ */ import_react7.default.createElement(Label, { ...labelProps }, props.label), /* @__PURE__ */ import_react7.default.createElement("div", { dir: "ltr", className: "hawa-flex hawa-w-full hawa-flex-row" }, /* @__PURE__ */ import_react7.default.createElement(
2655
- Select,
2656
- {
2657
- width: "fit",
2658
- hideHelperText: true,
2659
- phoneCode: true,
2660
- hideIndicator: true,
2661
- placeholder: "Code",
2662
- options: countries_default,
2663
- isMulti: false,
2664
- isSearchable: true,
2665
- isClearable: false,
2666
- defaultValue: props.preferredCountry,
2667
- value: countryCode == null ? void 0 : countryCode.label,
2668
- onChange: setCountryCode
2669
- }
2670
- ), /* @__PURE__ */ import_react7.default.createElement("div", { className: "hawa-relative hawa-flex hawa-h-fit hawa-w-full hawa-flex-col hawa-justify-center hawa-gap-0" }, /* @__PURE__ */ import_react7.default.createElement(
2671
- "input",
2672
- {
2673
- ref: inputRef,
2674
- id: "phone-number",
2675
- className: cn(
2676
- "hawa-block hawa-h-[40px] hawa-w-full hawa-rounded hawa-rounded-l-none hawa-border hawa-border-l-0 hawa-border-l-transparent hawa-bg-background hawa-p-2 hawa-text-sm hawa-transition-all"
2677
- ),
2678
- onChange: handleInputChange,
2679
- value: phoneNumber,
2680
- type: "tel",
2681
- placeholder: "531045453"
2682
- }
2683
- ))), /* @__PURE__ */ import_react7.default.createElement(
2684
- "p",
2685
- {
2686
- className: cn(
2687
- "hawa-my-0 hawa-text-start hawa-text-xs hawa-text-helper-color hawa-transition-all",
2688
- props.helperText ? "hawa-h-4 hawa-opacity-100" : "hawa-h-0 hawa-opacity-0"
2689
- )
2690
- },
2691
- props.helperText
2692
- ));
2693
- };
2694
-
2695
- // icons/Emojis.tsx
2696
- var import_react8 = __toESM(require("react"));
2697
-
2698
- // icons/InputIcons.tsx
2699
- var import_react9 = __toESM(require("react"));
2700
- var EyeIcon = (props) => /* @__PURE__ */ import_react9.default.createElement("div", { className: cn("hawa-h-5 hawa-w-5", props.className) }, /* @__PURE__ */ import_react9.default.createElement(
2701
- "svg",
2702
- {
2703
- xmlns: "http://www.w3.org/2000/svg",
2704
- viewBox: "0 0 24 24",
2705
- fill: "none",
2706
- stroke: "currentColor",
2707
- strokeWidth: "2",
2708
- strokeLinecap: "round",
2709
- strokeLinejoin: "round"
2710
- },
2711
- /* @__PURE__ */ import_react9.default.createElement("path", { d: "M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z" }),
2712
- /* @__PURE__ */ import_react9.default.createElement("circle", { cx: "12", cy: "12", r: "3" })
2713
- ));
2714
- var HiddenEyeIcon = (props) => /* @__PURE__ */ import_react9.default.createElement("div", { className: cn("hawa-h-5 hawa-w-5", props.className) }, /* @__PURE__ */ import_react9.default.createElement(
2715
- "svg",
2716
- {
2717
- xmlns: "http://www.w3.org/2000/svg",
2718
- viewBox: "0 0 24 24",
2719
- fill: "none",
2720
- stroke: "currentColor",
2721
- strokeWidth: "2",
2722
- strokeLinecap: "round",
2723
- strokeLinejoin: "round"
2724
- },
2725
- /* @__PURE__ */ import_react9.default.createElement("path", { d: "M9.88 9.88a3 3 0 1 0 4.24 4.24" }),
2726
- /* @__PURE__ */ import_react9.default.createElement("path", { d: "M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68" }),
2727
- /* @__PURE__ */ import_react9.default.createElement("path", { d: "M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61" }),
2728
- /* @__PURE__ */ import_react9.default.createElement("line", { x1: "2", x2: "22", y1: "2", y2: "22" })
2729
- ));
2730
-
2731
- // icons/CommonIcons.tsx
2732
- var import_react10 = __toESM(require("react"));
2733
-
2734
- // blocks/auth/AuthButtons.tsx
2735
- var import_react12 = __toESM(require("react"));
2736
-
2737
- // elements/logos/Logos.tsx
2738
- var import_react11 = __toESM(require("react"));
2739
- var Logos = {
2740
- hawa: (props) => /* @__PURE__ */ import_react11.default.createElement(
2741
- "svg",
2742
- {
2743
- xmlns: "http://www.w3.org/2000/svg",
2744
- xmlSpace: "preserve",
2745
- viewBox: "0 0 765 765",
2746
- ...props
2747
- },
2748
- /* @__PURE__ */ import_react11.default.createElement(
2749
- "path",
2750
- {
2751
- d: "M382.5 0C171.6 0 0 171.6 0 382.5V765h382.5C593.4 765 765 593.4 765 382.5S593.4 0 382.5 0zM281.6 305.7c98 0 177.7 79.7 177.7 177.7 0 98-79.7 177.7-177.7 177.7s-177.7-79.7-177.7-177.7c0-98 79.7-177.7 177.7-177.7zm246 314.5c23.2-41.6 35.6-88.7 35.6-136.7 0-155.3-126.3-281.6-281.6-281.6-48 0-95.1 12.4-136.8 35.6C194.9 156 285 104 382.5 104c153.6 0 278.6 125 278.6 278.6 0 97.3-52 187.5-133.5 237.6z",
2752
- fill: "currentColor"
2753
- }
2754
- )
2755
- ),
2756
- sikka: (props) => /* @__PURE__ */ import_react11.default.createElement(
2757
- "svg",
2758
- {
2759
- xmlns: "http://www.w3.org/2000/svg",
2760
- xmlnsXlink: "http://www.w3.org/1999/xlink",
2761
- xmlSpace: "preserve",
2762
- viewBox: "0 0 916.5 765",
2763
- fill: "currentColor",
2764
- ...props
2765
- },
2766
- /* @__PURE__ */ import_react11.default.createElement("defs", null, /* @__PURE__ */ import_react11.default.createElement("path", { id: "a", d: "M0 0h916.5v765H0z" })),
2767
- /* @__PURE__ */ import_react11.default.createElement("clipPath", { id: "b" }, /* @__PURE__ */ import_react11.default.createElement("use", { xlinkHref: "#a", overflow: "visible" })),
2768
- /* @__PURE__ */ import_react11.default.createElement("g", { clipPath: "url(#b)" }, /* @__PURE__ */ import_react11.default.createElement("defs", null, /* @__PURE__ */ import_react11.default.createElement("path", { id: "c", d: "M0 0h916.5v765H0z" })), /* @__PURE__ */ import_react11.default.createElement("clipPath", { id: "d" }, /* @__PURE__ */ import_react11.default.createElement("use", { xlinkHref: "#c", overflow: "visible" })), /* @__PURE__ */ import_react11.default.createElement("g", { clipPath: "url(#d)" }, /* @__PURE__ */ import_react11.default.createElement("path", { d: "M458.3 0h-31.9c-14.6 0-26.5 11.9-26.5 26.3v313.3L136.6 17.1C126 3.9 120.7 0 106.1 0H9.7C.5 0 0 7.9 0 17.1 0 21 1.3 26.3 4 29l288.7 353.6L4 736.1c-2.7 2.7-4 7.9-4 11.8 0 9.2.4 17.1 9.7 17.1h96.4c14.6 0 19.9-3.9 30.5-17.1l263.3-322.5v313.3c0 14.4 11.9 26.3 26.5 26.3h31.9M458.3 765h31.9c14.6 0 26.5-11.8 26.5-26.3V425.5L780 748c10.7 13.2 15.9 17.1 30.5 17.1h96.4c9.2 0 9.7-7.9 9.7-17.1 0-3.9-1.3-9.2-4-11.8L623.8 382.5 912.5 28.9c2.7-2.7 4-7.9 4-11.9 0-9.2-.5-17.1-9.7-17.1h-96.4c-14.6 0-19.9 3.9-30.5 17.1L516.7 339.5V26.3c0-14.4-11.9-26.3-26.5-26.3h-31.9" })))
2769
- ),
2770
- mail: (props) => /* @__PURE__ */ import_react11.default.createElement(
2771
- "svg",
2772
- {
2773
- stroke: "currentColor",
2774
- fill: "none",
2775
- strokeWidth: "2",
2776
- viewBox: "0 0 24 24",
2777
- strokeLinecap: "round",
2778
- strokeLinejoin: "round",
2779
- xmlns: "http://www.w3.org/2000/svg",
2780
- ...props
2781
- },
2782
- /* @__PURE__ */ import_react11.default.createElement("path", { d: "M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z" }),
2783
- /* @__PURE__ */ import_react11.default.createElement("polyline", { points: "22,6 12,13 2,6" })
2784
- ),
2785
- phone: (props) => /* @__PURE__ */ import_react11.default.createElement(
2786
- "svg",
2787
- {
2788
- stroke: "currentColor",
2789
- fill: "none",
2790
- strokeWidth: "2",
2791
- viewBox: "0 0 24 24",
2792
- "aria-hidden": "true",
2793
- xmlns: "http://www.w3.org/2000/svg",
2794
- ...props
2795
- },
2796
- /* @__PURE__ */ import_react11.default.createElement(
2797
- "path",
2798
- {
2799
- strokeLinecap: "round",
2800
- strokeLinejoin: "round",
2801
- d: "M10.5 1.5H8.25A2.25 2.25 0 006 3.75v16.5a2.25 2.25 0 002.25 2.25h7.5A2.25 2.25 0 0018 20.25V3.75a2.25 2.25 0 00-2.25-2.25H13.5m-3 0V3h3V1.5m-3 0h3m-3 18.75h3"
2802
- }
2803
- )
2804
- ),
2805
- twitter: (props) => /* @__PURE__ */ import_react11.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ import_react11.default.createElement(
2806
- "path",
2807
- {
2808
- fill: "currentColor",
2809
- d: "M21.543 7.104c.015.211.015.423.015.636 0 6.507-4.954 14.01-14.01 14.01v-.003A13.94 13.94 0 0 1 0 19.539a9.88 9.88 0 0 0 7.287-2.041 4.93 4.93 0 0 1-4.6-3.42 4.916 4.916 0 0 0 2.223-.084A4.926 4.926 0 0 1 .96 9.167v-.062a4.887 4.887 0 0 0 2.235.616A4.928 4.928 0 0 1 1.67 3.148a13.98 13.98 0 0 0 10.15 5.144 4.929 4.929 0 0 1 8.39-4.49 9.868 9.868 0 0 0 3.128-1.196 4.941 4.941 0 0 1-2.165 2.724A9.828 9.828 0 0 0 24 4.555a10.019 10.019 0 0 1-2.457 2.549z"
2810
- }
2811
- )),
2812
- instagram: (props) => /* @__PURE__ */ import_react11.default.createElement(
2813
- "svg",
2814
- {
2815
- xmlns: "http://www.w3.org/2000/svg",
2816
- fill: "currentColor",
2817
- viewBox: "0 0 16 16",
2818
- ...props
2819
- },
2820
- /* @__PURE__ */ import_react11.default.createElement("path", { d: "M8 0C5.829 0 5.556.01 4.703.048 3.85.088 3.269.222 2.76.42a3.917 3.917 0 0 0-1.417.923A3.927 3.927 0 0 0 .42 2.76C.222 3.268.087 3.85.048 4.7.01 5.555 0 5.827 0 8.001c0 2.172.01 2.444.048 3.297.04.852.174 1.433.372 1.942.205.526.478.972.923 1.417.444.445.89.719 1.416.923.51.198 1.09.333 1.942.372C5.555 15.99 5.827 16 8 16s2.444-.01 3.298-.048c.851-.04 1.434-.174 1.943-.372a3.916 3.916 0 0 0 1.416-.923c.445-.445.718-.891.923-1.417.197-.509.332-1.09.372-1.942C15.99 10.445 16 10.173 16 8s-.01-2.445-.048-3.299c-.04-.851-.175-1.433-.372-1.941a3.926 3.926 0 0 0-.923-1.417A3.911 3.911 0 0 0 13.24.42c-.51-.198-1.092-.333-1.943-.372C10.443.01 10.172 0 7.998 0h.003zm-.717 1.442h.718c2.136 0 2.389.007 3.232.046.78.035 1.204.166 1.486.275.373.145.64.319.92.599.28.28.453.546.598.92.11.281.24.705.275 1.485.039.843.047 1.096.047 3.231s-.008 2.389-.047 3.232c-.035.78-.166 1.203-.275 1.485a2.47 2.47 0 0 1-.599.919c-.28.28-.546.453-.92.598-.28.11-.704.24-1.485.276-.843.038-1.096.047-3.232.047s-2.39-.009-3.233-.047c-.78-.036-1.203-.166-1.485-.276a2.478 2.478 0 0 1-.92-.598 2.48 2.48 0 0 1-.6-.92c-.109-.281-.24-.705-.275-1.485-.038-.843-.046-1.096-.046-3.233 0-2.136.008-2.388.046-3.231.036-.78.166-1.204.276-1.486.145-.373.319-.64.599-.92.28-.28.546-.453.92-.598.282-.11.705-.24 1.485-.276.738-.034 1.024-.044 2.515-.045v.002zm4.988 1.328a.96.96 0 1 0 0 1.92.96.96 0 0 0 0-1.92zm-4.27 1.122a4.109 4.109 0 1 0 0 8.217 4.109 4.109 0 0 0 0-8.217zm0 1.441a2.667 2.667 0 1 1 0 5.334 2.667 2.667 0 0 1 0-5.334z" })
2821
- ),
2822
- microsoft: (props) => /* @__PURE__ */ import_react11.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", ...props }, /* @__PURE__ */ import_react11.default.createElement(
2823
- "path",
2824
- {
2825
- fill: "currentColor",
2826
- d: "M7.462 0H0v7.19h7.462V0zM16 0H8.538v7.19H16V0zM7.462 8.211H0V16h7.462V8.211zm8.538 0H8.538V16H16V8.211z"
2827
- }
2828
- )),
2829
- github: (props) => /* @__PURE__ */ import_react11.default.createElement(
2830
- "svg",
2831
- {
2832
- xmlns: "http://www.w3.org/2000/svg",
2833
- viewBox: "0 0 438.549 438.549",
2834
- ...props
2835
- },
2836
- /* @__PURE__ */ import_react11.default.createElement(
2837
- "path",
2838
- {
2839
- fill: "currentColor",
2840
- d: "M409.132 114.573c-19.608-33.596-46.205-60.194-79.798-79.8-33.598-19.607-70.277-29.408-110.063-29.408-39.781 0-76.472 9.804-110.063 29.408-33.596 19.605-60.192 46.204-79.8 79.8C9.803 148.168 0 184.854 0 224.63c0 47.78 13.94 90.745 41.827 128.906 27.884 38.164 63.906 64.572 108.063 79.227 5.14.954 8.945.283 11.419-1.996 2.475-2.282 3.711-5.14 3.711-8.562 0-.571-.049-5.708-.144-15.417a2549.81 2549.81 0 01-.144-25.406l-6.567 1.136c-4.187.767-9.469 1.092-15.846 1-6.374-.089-12.991-.757-19.842-1.999-6.854-1.231-13.229-4.086-19.13-8.559-5.898-4.473-10.085-10.328-12.56-17.556l-2.855-6.57c-1.903-4.374-4.899-9.233-8.992-14.559-4.093-5.331-8.232-8.945-12.419-10.848l-1.999-1.431c-1.332-.951-2.568-2.098-3.711-3.429-1.142-1.331-1.997-2.663-2.568-3.997-.572-1.335-.098-2.43 1.427-3.289 1.525-.859 4.281-1.276 8.28-1.276l5.708.853c3.807.763 8.516 3.042 14.133 6.851 5.614 3.806 10.229 8.754 13.846 14.842 4.38 7.806 9.657 13.754 15.846 17.847 6.184 4.093 12.419 6.136 18.699 6.136 6.28 0 11.704-.476 16.274-1.423 4.565-.952 8.848-2.383 12.847-4.285 1.713-12.758 6.377-22.559 13.988-29.41-10.848-1.14-20.601-2.857-29.264-5.14-8.658-2.286-17.605-5.996-26.835-11.14-9.235-5.137-16.896-11.516-22.985-19.126-6.09-7.614-11.088-17.61-14.987-29.979-3.901-12.374-5.852-26.648-5.852-42.826 0-23.035 7.52-42.637 22.557-58.817-7.044-17.318-6.379-36.732 1.997-58.24 5.52-1.715 13.706-.428 24.554 3.853 10.85 4.283 18.794 7.952 23.84 10.994 5.046 3.041 9.089 5.618 12.135 7.708 17.705-4.947 35.976-7.421 54.818-7.421s37.117 2.474 54.823 7.421l10.849-6.849c7.419-4.57 16.18-8.758 26.262-12.565 10.088-3.805 17.802-4.853 23.134-3.138 8.562 21.509 9.325 40.922 2.279 58.24 15.036 16.18 22.559 35.787 22.559 58.817 0 16.178-1.958 30.497-5.853 42.966-3.9 12.471-8.941 22.457-15.125 29.979-6.191 7.521-13.901 13.85-23.131 18.986-9.232 5.14-18.182 8.85-26.84 11.136-8.662 2.286-18.415 4.004-29.263 5.146 9.894 8.562 14.842 22.077 14.842 40.539v60.237c0 3.422 1.19 6.279 3.572 8.562 2.379 2.279 6.136 2.95 11.276 1.995 44.163-14.653 80.185-41.062 108.068-79.226 27.88-38.161 41.825-81.126 41.825-128.906-.01-39.771-9.818-76.454-29.414-110.049z"
2841
- }
2842
- )
2843
- ),
2844
- radix: (props) => /* @__PURE__ */ import_react11.default.createElement("svg", { viewBox: "0 0 25 25", fill: "none", ...props }, /* @__PURE__ */ import_react11.default.createElement(
2845
- "path",
2846
- {
2847
- d: "M12 25C7.58173 25 4 21.4183 4 17C4 12.5817 7.58173 9 12 9V25Z",
2848
- fill: "currentcolor"
2849
- }
2850
- ), /* @__PURE__ */ import_react11.default.createElement("path", { d: "M12 0H4V8H12V0Z", fill: "currentcolor" }), /* @__PURE__ */ import_react11.default.createElement(
2851
- "path",
2852
- {
2853
- d: "M17 8C19.2091 8 21 6.20914 21 4C21 1.79086 19.2091 0 17 0C14.7909 0 13 1.79086 13 4C13 6.20914 14.7909 8 17 8Z",
2854
- fill: "currentcolor"
2855
- }
2856
- )),
2857
- aria: (props) => /* @__PURE__ */ import_react11.default.createElement("svg", { role: "img", viewBox: "0 0 24 24", fill: "currentColor", ...props }, /* @__PURE__ */ import_react11.default.createElement("path", { d: "M13.966 22.624l-1.69-4.281H8.122l3.892-9.144 5.662 13.425zM8.884 1.376H0v21.248zm15.116 0h-8.884L24 22.624Z" })),
2858
- npm: (props) => /* @__PURE__ */ import_react11.default.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ import_react11.default.createElement(
2859
- "path",
2860
- {
2861
- d: "M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z",
2862
- fill: "currentColor"
2863
- }
2864
- )),
2865
- yarn: (props) => /* @__PURE__ */ import_react11.default.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ import_react11.default.createElement(
2866
- "path",
2867
- {
2868
- d: "M12 0C5.375 0 0 5.375 0 12s5.375 12 12 12 12-5.375 12-12S18.625 0 12 0zm.768 4.105c.183 0 .363.053.525.157.125.083.287.185.755 1.154.31-.088.468-.042.551-.019.204.056.366.19.463.375.477.917.542 2.553.334 3.605-.241 1.232-.755 2.029-1.131 2.576.324.329.778.899 1.117 1.825.278.774.31 1.478.273 2.015a5.51 5.51 0 0 0 .602-.329c.593-.366 1.487-.917 2.553-.931.714-.009 1.269.445 1.353 1.103a1.23 1.23 0 0 1-.945 1.362c-.649.158-.95.278-1.821.843-1.232.797-2.539 1.242-3.012 1.39a1.686 1.686 0 0 1-.704.343c-.737.181-3.266.315-3.466.315h-.046c-.783 0-1.214-.241-1.45-.491-.658.329-1.51.19-2.122-.134a1.078 1.078 0 0 1-.58-1.153 1.243 1.243 0 0 1-.153-.195c-.162-.25-.528-.936-.454-1.946.056-.723.556-1.367.88-1.71a5.522 5.522 0 0 1 .408-2.256c.306-.727.885-1.348 1.32-1.737-.32-.537-.644-1.367-.329-2.21.227-.602.412-.936.82-1.08h-.005c.199-.074.389-.153.486-.259a3.418 3.418 0 0 1 2.298-1.103c.037-.093.079-.185.125-.283.31-.658.639-1.029 1.024-1.168a.94.94 0 0 1 .328-.06zm.006.7c-.507.016-1.001 1.519-1.001 1.519s-1.27-.204-2.266.871c-.199.218-.468.334-.746.44-.079.028-.176.023-.417.672-.371.991.625 2.094.625 2.094s-1.186.839-1.626 1.881c-.486 1.144-.338 2.261-.338 2.261s-.843.732-.899 1.487c-.051.663.139 1.2.343 1.515.227.343.51.176.51.176s-.561.653-.037.931c.477.25 1.283.394 1.71-.037.31-.31.371-1.001.486-1.283.028-.065.12.111.209.199.097.093.264.195.264.195s-.755.324-.445 1.066c.102.246.468.403 1.066.398.222-.005 2.664-.139 3.313-.296.375-.088.505-.283.505-.283s1.566-.431 2.998-1.357c.917-.598 1.293-.76 2.034-.936.612-.148.57-1.098-.241-1.084-.839.009-1.575.44-2.196.825-1.163.718-1.742.672-1.742.672l-.018-.032c-.079-.13.371-1.293-.134-2.678-.547-1.515-1.413-1.881-1.344-1.997.297-.5 1.038-1.297 1.334-2.78.176-.899.13-2.377-.269-3.151-.074-.144-.732.241-.732.241s-.616-1.371-.788-1.483a.271.271 0 0 0-.157-.046z",
2869
- fill: "currentColor"
2870
- }
2871
- )),
2872
- pnpm: (props) => /* @__PURE__ */ import_react11.default.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ import_react11.default.createElement(
2873
- "path",
2874
- {
2875
- d: "M0 0v7.5h7.5V0zm8.25 0v7.5h7.498V0zm8.25 0v7.5H24V0zM8.25 8.25v7.5h7.498v-7.5zm8.25 0v7.5H24v-7.5zM0 16.5V24h7.5v-7.5zm8.25 0V24h7.498v-7.5zm8.25 0V24H24v-7.5z",
2876
- fill: "currentColor"
2877
- }
2878
- )),
2879
- react: (props) => /* @__PURE__ */ import_react11.default.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ import_react11.default.createElement(
2880
- "path",
2881
- {
2882
- d: "M14.23 12.004a2.236 2.236 0 0 1-2.235 2.236 2.236 2.236 0 0 1-2.236-2.236 2.236 2.236 0 0 1 2.235-2.236 2.236 2.236 0 0 1 2.236 2.236zm2.648-10.69c-1.346 0-3.107.96-4.888 2.622-1.78-1.653-3.542-2.602-4.887-2.602-.41 0-.783.093-1.106.278-1.375.793-1.683 3.264-.973 6.365C1.98 8.917 0 10.42 0 12.004c0 1.59 1.99 3.097 5.043 4.03-.704 3.113-.39 5.588.988 6.38.32.187.69.275 1.102.275 1.345 0 3.107-.96 4.888-2.624 1.78 1.654 3.542 2.603 4.887 2.603.41 0 .783-.09 1.106-.275 1.374-.792 1.683-3.263.973-6.365C22.02 15.096 24 13.59 24 12.004c0-1.59-1.99-3.097-5.043-4.032.704-3.11.39-5.587-.988-6.38-.318-.184-.688-.277-1.092-.278zm-.005 1.09v.006c.225 0 .406.044.558.127.666.382.955 1.835.73 3.704-.054.46-.142.945-.25 1.44-.96-.236-2.006-.417-3.107-.534-.66-.905-1.345-1.727-2.035-2.447 1.592-1.48 3.087-2.292 4.105-2.295zm-9.77.02c1.012 0 2.514.808 4.11 2.28-.686.72-1.37 1.537-2.02 2.442-1.107.117-2.154.298-3.113.538-.112-.49-.195-.964-.254-1.42-.23-1.868.054-3.32.714-3.707.19-.09.4-.127.563-.132zm4.882 3.05c.455.468.91.992 1.36 1.564-.44-.02-.89-.034-1.345-.034-.46 0-.915.01-1.36.034.44-.572.895-1.096 1.345-1.565zM12 8.1c.74 0 1.477.034 2.202.093.406.582.802 1.203 1.183 1.86.372.64.71 1.29 1.018 1.946-.308.655-.646 1.31-1.013 1.95-.38.66-.773 1.288-1.18 1.87-.728.063-1.466.098-2.21.098-.74 0-1.477-.035-2.202-.093-.406-.582-.802-1.204-1.183-1.86-.372-.64-.71-1.29-1.018-1.946.303-.657.646-1.313 1.013-1.954.38-.66.773-1.286 1.18-1.868.728-.064 1.466-.098 2.21-.098zm-3.635.254c-.24.377-.48.763-.704 1.16-.225.39-.435.782-.635 1.174-.265-.656-.49-1.31-.676-1.947.64-.15 1.315-.283 2.015-.386zm7.26 0c.695.103 1.365.23 2.006.387-.18.632-.405 1.282-.66 1.933-.2-.39-.41-.783-.64-1.174-.225-.392-.465-.774-.705-1.146zm3.063.675c.484.15.944.317 1.375.498 1.732.74 2.852 1.708 2.852 2.476-.005.768-1.125 1.74-2.857 2.475-.42.18-.88.342-1.355.493-.28-.958-.646-1.956-1.1-2.98.45-1.017.81-2.01 1.085-2.964zm-13.395.004c.278.96.645 1.957 1.1 2.98-.45 1.017-.812 2.01-1.086 2.964-.484-.15-.944-.318-1.37-.5-1.732-.737-2.852-1.706-2.852-2.474 0-.768 1.12-1.742 2.852-2.476.42-.18.88-.342 1.356-.494zm11.678 4.28c.265.657.49 1.312.676 1.948-.64.157-1.316.29-2.016.39.24-.375.48-.762.705-1.158.225-.39.435-.788.636-1.18zm-9.945.02c.2.392.41.783.64 1.175.23.39.465.772.705 1.143-.695-.102-1.365-.23-2.006-.386.18-.63.406-1.282.66-1.933zM17.92 16.32c.112.493.2.968.254 1.423.23 1.868-.054 3.32-.714 3.708-.147.09-.338.128-.563.128-1.012 0-2.514-.807-4.11-2.28.686-.72 1.37-1.536 2.02-2.44 1.107-.118 2.154-.3 3.113-.54zm-11.83.01c.96.234 2.006.415 3.107.532.66.905 1.345 1.727 2.035 2.446-1.595 1.483-3.092 2.295-4.11 2.295-.22-.005-.406-.05-.553-.132-.666-.38-.955-1.834-.73-3.703.054-.46.142-.944.25-1.438zm4.56.64c.44.02.89.034 1.345.034.46 0 .915-.01 1.36-.034-.44.572-.895 1.095-1.345 1.565-.455-.47-.91-.993-1.36-1.565z",
2883
- fill: "currentColor"
2884
- }
2885
- )),
2886
- tailwind: (props) => /* @__PURE__ */ import_react11.default.createElement("svg", { viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ import_react11.default.createElement(
2887
- "path",
2888
- {
2889
- d: "M12.001,4.8c-3.2,0-5.2,1.6-6,4.8c1.2-1.6,2.6-2.2,4.2-1.8c0.913,0.228,1.565,0.89,2.288,1.624 C13.666,10.618,15.027,12,18.001,12c3.2,0,5.2-1.6,6-4.8c-1.2,1.6-2.6,2.2-4.2,1.8c-0.913-0.228-1.565-0.89-2.288-1.624 C16.337,6.182,14.976,4.8,12.001,4.8z M6.001,12c-3.2,0-5.2,1.6-6,4.8c1.2-1.6,2.6-2.2,4.2-1.8c0.913,0.228,1.565,0.89,2.288,1.624 c1.177,1.194,2.538,2.576,5.512,2.576c3.2,0,5.2-1.6,6-4.8c-1.2,1.6-2.6,2.2-4.2,1.8c-0.913-0.228-1.565-0.89-2.288-1.624 C10.337,13.382,8.976,12,6.001,12z",
2890
- fill: "currentColor"
2891
- }
2892
- )),
2893
- google: (props) => /* @__PURE__ */ import_react11.default.createElement("svg", { role: "img", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ import_react11.default.createElement(
2894
- "path",
2895
- {
2896
- fill: "currentColor",
2897
- d: "M12.48 10.92v3.28h7.84c-.24 1.84-.853 3.187-1.787 4.133-1.147 1.147-2.933 2.4-6.053 2.4-4.827 0-8.6-3.893-8.6-8.72s3.773-8.72 8.6-8.72c2.6 0 4.507 1.027 5.907 2.347l2.307-2.307C18.747 1.44 16.133 0 12.48 0 5.867 0 .307 5.387.307 12s5.56 12 12.173 12c3.573 0 6.267-1.173 8.373-3.36 2.16-2.16 2.84-5.213 2.84-7.667 0-.76-.053-1.467-.173-2.053H12.48z"
2898
- }
2899
- )),
2900
- apple: (props) => /* @__PURE__ */ import_react11.default.createElement("svg", { role: "img", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ import_react11.default.createElement(
2901
- "path",
2902
- {
2903
- d: "M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701",
2904
- fill: "currentColor"
2905
- }
2906
- )),
2907
- paypal: (props) => /* @__PURE__ */ import_react11.default.createElement("svg", { role: "img", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ import_react11.default.createElement(
2908
- "path",
2909
- {
2910
- d: "M7.076 21.337H2.47a.641.641 0 0 1-.633-.74L4.944.901C5.026.382 5.474 0 5.998 0h7.46c2.57 0 4.578.543 5.69 1.81 1.01 1.15 1.304 2.42 1.012 4.287-.023.143-.047.288-.077.437-.983 5.05-4.349 6.797-8.647 6.797h-2.19c-.524 0-.968.382-1.05.9l-1.12 7.106zm14.146-14.42a3.35 3.35 0 0 0-.607-.541c-.013.076-.026.175-.041.254-.93 4.778-4.005 7.201-9.138 7.201h-2.19a.563.563 0 0 0-.556.479l-1.187 7.527h-.506l-.24 1.516a.56.56 0 0 0 .554.647h3.882c.46 0 .85-.334.922-.788.06-.26.76-4.852.816-5.09a.932.932 0 0 1 .923-.788h.58c3.76 0 6.705-1.528 7.565-5.946.36-1.847.174-3.388-.777-4.471z",
2911
- fill: "currentColor"
2912
- }
2913
- )),
2914
- spinner: (props) => /* @__PURE__ */ import_react11.default.createElement(
2915
- "svg",
2916
- {
2917
- xmlns: "http://www.w3.org/2000/svg",
2918
- width: "24",
2919
- height: "24",
2920
- viewBox: "0 0 24 24",
2921
- fill: "none",
2922
- stroke: "currentColor",
2923
- strokeWidth: "2",
2924
- strokeLinecap: "round",
2925
- strokeLinejoin: "round",
2926
- ...props
2927
- },
2928
- /* @__PURE__ */ import_react11.default.createElement("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" })
2929
- ),
2930
- whatsapp: (props) => /* @__PURE__ */ import_react11.default.createElement(
2931
- "svg",
2932
- {
2933
- xmlns: "http://www.w3.org/2000/svg",
2934
- viewBox: "0 0 24 24",
2935
- fill: "currentColor",
2936
- ...props
2937
- },
2938
- /* @__PURE__ */ import_react11.default.createElement("path", { d: "M.057 24l1.687-6.163c-1.041-1.804-1.588-3.849-1.587-5.946.003-6.556 5.338-11.891 11.893-11.891 3.181.001 6.167 1.24 8.413 3.488 2.245 2.248 3.481 5.236 3.48 8.414-.003 6.557-5.338 11.892-11.893 11.892-1.99-.001-3.951-.5-5.688-1.448l-6.305 1.654zm6.597-3.807c1.676.995 3.276 1.591 5.392 1.592 5.448 0 9.886-4.434 9.889-9.885.002-5.462-4.415-9.89-9.881-9.892-5.452 0-9.887 4.434-9.889 9.884-.001 2.225.651 3.891 1.746 5.634l-.999 3.648 3.742-.981zm11.387-5.464c-.074-.124-.272-.198-.57-.347-.297-.149-1.758-.868-2.031-.967-.272-.099-.47-.149-.669.149-.198.297-.768.967-.941 1.165-.173.198-.347.223-.644.074-.297-.149-1.255-.462-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.297-.347.446-.521.151-.172.2-.296.3-.495.099-.198.05-.372-.025-.521-.075-.148-.669-1.611-.916-2.206-.242-.579-.487-.501-.669-.51l-.57-.01c-.198 0-.52.074-.792.372s-1.04 1.016-1.04 2.479 1.065 2.876 1.213 3.074c.149.198 2.095 3.2 5.076 4.487.709.306 1.263.489 1.694.626.712.226 1.36.194 1.872.118.571-.085 1.758-.719 2.006-1.413.248-.695.248-1.29.173-1.414z" })
2939
- )
2940
- };
2941
-
2942
- // blocks/auth/AuthButtons.tsx
2943
- var AuthButtons = (props) => {
2944
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
2945
- return /* @__PURE__ */ import_react12.default.createElement("div", { className: "hawa-flex hawa-flex-col hawa-gap-4" }, props.viaGoogle && /* @__PURE__ */ import_react12.default.createElement(
2946
- Button,
2947
- {
2948
- disabled: props.isGoogleLoading,
2949
- className: "hawa-flex hawa-flex-row hawa-items-center hawa-gap-2",
2950
- variant: "outline",
2951
- onClick: props.handleGoogle
2952
- },
2953
- props.isGoogleLoading ? /* @__PURE__ */ import_react12.default.createElement(Loading, { size: "button" }) : /* @__PURE__ */ import_react12.default.createElement(Logos.google, { className: "hawa-icon" }),
2954
- (_b = (_a = props.texts) == null ? void 0 : _a.continueWithGoogle) != null ? _b : "Continue With Google"
2955
- ), props.viaGithub && /* @__PURE__ */ import_react12.default.createElement(
2956
- Button,
2957
- {
2958
- disabled: props.isGithubLoading,
2959
- className: "hawa-flex hawa-flex-row hawa-items-center hawa-gap-2",
2960
- variant: "outline",
2961
- onClick: props.handleGithub
2962
- },
2963
- props.isGithubLoading ? /* @__PURE__ */ import_react12.default.createElement(Loading, { size: "button" }) : /* @__PURE__ */ import_react12.default.createElement(Logos.github, { className: "hawa-icon" }),
2964
- (_d = (_c = props.texts) == null ? void 0 : _c.continueWithGithub) != null ? _d : "Continue With Github"
2965
- ), props.viaTwitter && /* @__PURE__ */ import_react12.default.createElement(
2966
- Button,
2967
- {
2968
- disabled: props.isTwitterLoading,
2969
- className: "hawa-flex hawa-flex-row hawa-items-center hawa-gap-2",
2970
- variant: "outline",
2971
- onClick: props.handleTwitter
2972
- },
2973
- props.isTwitterLoading ? /* @__PURE__ */ import_react12.default.createElement(Loading, { size: "button" }) : /* @__PURE__ */ import_react12.default.createElement(Logos.twitter, { className: "hawa-icon" }),
2974
- (_f = (_e = props.texts) == null ? void 0 : _e.continueWithTwitter) != null ? _f : "Continue With Twitter"
2975
- ), props.viaApple && /* @__PURE__ */ import_react12.default.createElement(
2976
- Button,
2977
- {
2978
- disabled: props.isAppleLoading,
2979
- className: "hawa-flex hawa-flex-row hawa-items-center hawa-gap-2",
2980
- variant: "outline",
2981
- onClick: props.handleApple
2982
- },
2983
- props.isAppleLoading ? /* @__PURE__ */ import_react12.default.createElement(Loading, { size: "button" }) : /* @__PURE__ */ import_react12.default.createElement(Logos.apple, { className: "hawa-icon" }),
2984
- (_h = (_g = props.texts) == null ? void 0 : _g.continueWithApple) != null ? _h : "Continue With Apple"
2985
- ), props.viaMicrosoft && /* @__PURE__ */ import_react12.default.createElement(
2986
- Button,
2987
- {
2988
- disabled: props.isMicrosoftLoading,
2989
- className: "hawa-flex hawa-flex-row hawa-items-center hawa-gap-2",
2990
- variant: "outline",
2991
- onClick: props.handleMicrosoft
2992
- },
2993
- props.isMicrosoftLoading ? /* @__PURE__ */ import_react12.default.createElement(Loading, { size: "button" }) : /* @__PURE__ */ import_react12.default.createElement(Logos.microsoft, { className: "hawa-icon" }),
2994
- (_j = (_i = props.texts) == null ? void 0 : _i.continueWithMicrosoft) != null ? _j : "Continue With Microsoft"
2995
- ), props.viaEmail && /* @__PURE__ */ import_react12.default.createElement(
2996
- Button,
2997
- {
2998
- disabled: props.isEmailLoading,
2999
- className: "hawa-flex hawa-flex-row hawa-items-center hawa-gap-2",
3000
- variant: "outline",
3001
- onClick: props.handleEmail
3002
- },
3003
- props.isEmailLoading ? /* @__PURE__ */ import_react12.default.createElement(Loading, { size: "button" }) : /* @__PURE__ */ import_react12.default.createElement(Logos.mail, { className: "hawa-icon" }),
3004
- (_l = (_k = props.texts) == null ? void 0 : _k.continueWithEmail) != null ? _l : "Continue With Email"
3005
- ), props.viaPhone && /* @__PURE__ */ import_react12.default.createElement(
3006
- Button,
3007
- {
3008
- disabled: props.isPhoneLoading,
3009
- className: "hawa-flex hawa-flex-row hawa-items-center hawa-gap-2",
3010
- variant: "outline",
3011
- onClick: props.handlePhone
3012
- },
3013
- props.isPhoneLoading ? /* @__PURE__ */ import_react12.default.createElement(Loading, { size: "button" }) : /* @__PURE__ */ import_react12.default.createElement(Logos.phone, { className: "hawa-icon" }),
3014
- (_n = (_m = props.texts) == null ? void 0 : _m.continueWithPhone) != null ? _n : "Continue With Phone"
3015
- ));
3016
- };
3017
-
3018
- // blocks/auth/LoginForm.tsx
3019
- var LoginForm = ({
3020
- loginType,
3021
- texts,
3022
- passwordLength = 8,
3023
- ...props
3024
- }) => {
3025
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
3026
- const [passwordVisible, setPasswordVisible] = (0, import_react13.useState)(false);
3027
- const thirdPartyAuthTexts = {
3028
- continueWithGoogle: texts == null ? void 0 : texts.continueWithGoogle,
3029
- continueWithTwitter: texts == null ? void 0 : texts.continueWithTwitter,
3030
- continueWithApple: texts == null ? void 0 : texts.continueWithApple,
3031
- continueWithMicrosoft: texts == null ? void 0 : texts.continueWithMicrosoft,
3032
- continueWithGithub: texts == null ? void 0 : texts.continueWithGithub,
3033
- continueWithEmail: texts == null ? void 0 : texts.continueWithEmail,
3034
- continueWithPhone: texts == null ? void 0 : texts.continueWithPhone
3035
- };
3036
- let formSchema;
3037
- if (loginType === "email") {
3038
- formSchema = z.object({
3039
- email: z.string({ required_error: (_a = texts == null ? void 0 : texts.email) == null ? void 0 : _a.required }).min(1, { message: (_b = texts == null ? void 0 : texts.email) == null ? void 0 : _b.required }).email({ message: (_c = texts == null ? void 0 : texts.email) == null ? void 0 : _c.invalid }),
3040
- password: z.string({ required_error: (_d = texts == null ? void 0 : texts.password) == null ? void 0 : _d.required }).min(1, { message: (_e = texts == null ? void 0 : texts.password) == null ? void 0 : _e.required }).min(passwordLength, { message: (_f = texts == null ? void 0 : texts.password) == null ? void 0 : _f.tooShort })
3041
- });
3042
- } else if (loginType === "username") {
3043
- formSchema = z.object({
3044
- username: z.string({ required_error: (_g = texts == null ? void 0 : texts.username) == null ? void 0 : _g.required }).min(2, { message: (_h = texts == null ? void 0 : texts.username) == null ? void 0 : _h.tooShort }).refine(
3045
- (value) => {
3046
- const isValid = /^[a-zA-Z][a-zA-Z0-9_-]{2,14}$/.test(value);
3047
- return isValid;
3048
- },
3049
- { message: (_i = texts == null ? void 0 : texts.username) == null ? void 0 : _i.invalid }
3050
- ),
3051
- password: z.string({ required_error: (_j = texts == null ? void 0 : texts.password) == null ? void 0 : _j.required }).min(1, { message: (_k = texts == null ? void 0 : texts.password) == null ? void 0 : _k.required }).min(passwordLength, { message: (_l = texts == null ? void 0 : texts.password) == null ? void 0 : _l.tooShort })
3052
- });
3053
- } else if (loginType === "phone") {
3054
- formSchema = z.object({
3055
- phone: z.string({ required_error: (_m = texts == null ? void 0 : texts.phone) == null ? void 0 : _m.required }).refine(
3056
- (value) => {
3057
- let phoneNumber = (0, import_libphonenumber_js.parsePhoneNumber)(value);
3058
- return phoneNumber.isValid();
3059
- },
3060
- { message: (_n = texts == null ? void 0 : texts.phone) == null ? void 0 : _n.invalid }
3061
- )
3062
- });
3063
- } else if (loginType === "link") {
3064
- formSchema = z.object({
3065
- email: z.string({ required_error: (_o = texts == null ? void 0 : texts.email) == null ? void 0 : _o.required }).min(1, { message: (_p = texts == null ? void 0 : texts.email) == null ? void 0 : _p.required }).email({ message: (_q = texts == null ? void 0 : texts.email) == null ? void 0 : _q.invalid })
3066
- });
3067
- } else {
3068
- formSchema = z.object({});
3069
- }
3070
- const { handleSubmit, control, formState } = (0, import_react_hook_form.useForm)({
3071
- resolver: (0, import_zod.zodResolver)(formSchema)
3072
- });
3073
- const renderFields = () => {
3074
- switch (loginType) {
3075
- case "email":
3076
- return /* @__PURE__ */ import_react13.default.createElement(import_react13.default.Fragment, null, /* @__PURE__ */ import_react13.default.createElement(
3077
- import_react_hook_form.Controller,
3078
- {
3079
- control,
3080
- name: "email",
3081
- render: ({ field }) => {
3082
- var _a2, _b2, _c2;
3083
- return /* @__PURE__ */ import_react13.default.createElement(
3084
- Input,
3085
- {
3086
- inputProps: {
3087
- className: props.direction === "rtl" ? "hawa-text-right" : "hawa-text-left"
3088
- },
3089
- dir: "ltr",
3090
- width: "full",
3091
- autoComplete: "email",
3092
- label: (_a2 = texts == null ? void 0 : texts.email) == null ? void 0 : _a2.label,
3093
- helperText: (_b2 = formState.errors.email) == null ? void 0 : _b2.message,
3094
- placeholder: ((_c2 = texts == null ? void 0 : texts.email) == null ? void 0 : _c2.placeholder) || "contact@sikka.io",
3095
- ...field
3096
- }
3097
- );
3098
- }
3099
- }
3100
- ), /* @__PURE__ */ import_react13.default.createElement("div", null, /* @__PURE__ */ import_react13.default.createElement(
3101
- import_react_hook_form.Controller,
3102
- {
3103
- control,
3104
- name: "password",
3105
- render: ({ field }) => {
3106
- var _a2, _b2, _c2;
3107
- return /* @__PURE__ */ import_react13.default.createElement(
3108
- Input,
3109
- {
3110
- width: "full",
3111
- autoComplete: "current-password",
3112
- type: passwordVisible ? "text" : "password",
3113
- label: ((_a2 = texts == null ? void 0 : texts.password) == null ? void 0 : _a2.label) || "Password",
3114
- endIcon: /* @__PURE__ */ import_react13.default.createElement(
3115
- "div",
3116
- {
3117
- className: "hawa-cursor-pointer",
3118
- onClick: () => setPasswordVisible(!passwordVisible)
3119
- },
3120
- passwordVisible ? /* @__PURE__ */ import_react13.default.createElement(EyeIcon, { className: "hawa-text-gray-500" }) : /* @__PURE__ */ import_react13.default.createElement(HiddenEyeIcon, { className: "hawa-text-gray-500" })
3121
- ),
3122
- placeholder: ((_b2 = texts == null ? void 0 : texts.password) == null ? void 0 : _b2.placeholder) || "Enter your password",
3123
- helperText: (_c2 = formState.errors.password) == null ? void 0 : _c2.message,
3124
- ...field
3125
- }
3126
- );
3127
- }
3128
- }
3129
- ), !props.withoutResetPassword && /* @__PURE__ */ import_react13.default.createElement(
3130
- "div",
3131
- {
3132
- onClick: props.onForgotPassword,
3133
- className: "hawa-mb-3 hawa-mt-2 hawa-w-fit hawa-cursor-pointer hawa-select-none hawa-text-xs dark:hawa-text-gray-300"
3134
- },
3135
- (texts == null ? void 0 : texts.forgotPassword) || "Forgot Password?"
3136
- )));
3137
- case "username":
3138
- return /* @__PURE__ */ import_react13.default.createElement(import_react13.default.Fragment, null, /* @__PURE__ */ import_react13.default.createElement(
3139
- import_react_hook_form.Controller,
3140
- {
3141
- control,
3142
- name: "username",
3143
- render: ({ field }) => {
3144
- var _a2, _b2, _c2;
3145
- return /* @__PURE__ */ import_react13.default.createElement(
3146
- Input,
3147
- {
3148
- width: "full",
3149
- autoComplete: "username",
3150
- label: ((_a2 = texts == null ? void 0 : texts.username) == null ? void 0 : _a2.label) || "Username",
3151
- helperText: (_b2 = formState.errors.username) == null ? void 0 : _b2.message,
3152
- placeholder: ((_c2 = texts == null ? void 0 : texts.username) == null ? void 0 : _c2.placeholder) || "sikka_sa",
3153
- ...field
3154
- }
3155
- );
3156
- }
3157
- }
3158
- ), /* @__PURE__ */ import_react13.default.createElement("div", null, /* @__PURE__ */ import_react13.default.createElement(
3159
- import_react_hook_form.Controller,
3160
- {
3161
- control,
3162
- name: "password",
3163
- render: ({ field }) => {
3164
- var _a2, _b2, _c2;
3165
- return /* @__PURE__ */ import_react13.default.createElement(
3166
- Input,
3167
- {
3168
- width: "full",
3169
- autoComplete: "current-password",
3170
- type: passwordVisible ? "text" : "password",
3171
- label: (_a2 = texts == null ? void 0 : texts.password) == null ? void 0 : _a2.label,
3172
- endIcon: /* @__PURE__ */ import_react13.default.createElement(
3173
- "div",
3174
- {
3175
- className: "hawa-cursor-pointer",
3176
- onClick: () => setPasswordVisible(!passwordVisible)
3177
- },
3178
- passwordVisible ? /* @__PURE__ */ import_react13.default.createElement(EyeIcon, { className: "hawa-text-gray-500" }) : /* @__PURE__ */ import_react13.default.createElement(HiddenEyeIcon, { className: "hawa-text-gray-500" })
3179
- ),
3180
- placeholder: ((_b2 = texts == null ? void 0 : texts.password) == null ? void 0 : _b2.placeholder) || "Enter your password",
3181
- helperText: (_c2 = formState.errors.password) == null ? void 0 : _c2.message,
3182
- ...field
3183
- }
3184
- );
3185
- }
3186
- }
3187
- ), !props.withoutResetPassword && /* @__PURE__ */ import_react13.default.createElement(
3188
- "div",
3189
- {
3190
- onClick: props.onForgotPassword,
3191
- className: "hawa-mb-3 hawa-mt-2 hawa-w-fit hawa-cursor-pointer hawa-select-none hawa-text-xs dark:hawa-text-gray-300"
3192
- },
3193
- (texts == null ? void 0 : texts.forgotPassword) || "Forgot Password?"
3194
- )));
3195
- case "phone":
3196
- return /* @__PURE__ */ import_react13.default.createElement(import_react13.default.Fragment, null, /* @__PURE__ */ import_react13.default.createElement(
3197
- import_react_hook_form.Controller,
3198
- {
3199
- control,
3200
- name: "phone",
3201
- render: ({ field }) => {
3202
- var _a2, _b2;
3203
- return /* @__PURE__ */ import_react13.default.createElement(
3204
- PhoneInput,
3205
- {
3206
- label: (_a2 = texts == null ? void 0 : texts.phone) == null ? void 0 : _a2.label,
3207
- helperText: (_b2 = formState.errors.phone) == null ? void 0 : _b2.message,
3208
- preferredCountry: { label: "+966" },
3209
- handleChange: (e) => field.onChange((0, import_libphonenumber_js.parsePhoneNumber)(e).number)
3210
- }
3211
- );
3212
- }
3213
- }
3214
- ));
3215
- case "link":
3216
- return /* @__PURE__ */ import_react13.default.createElement(import_react13.default.Fragment, null, /* @__PURE__ */ import_react13.default.createElement(
3217
- import_react_hook_form.Controller,
3218
- {
3219
- control,
3220
- name: "email",
3221
- render: ({ field }) => {
3222
- var _a2, _b2, _c2;
3223
- return /* @__PURE__ */ import_react13.default.createElement(
3224
- Input,
3225
- {
3226
- width: "full",
3227
- autoComplete: "email",
3228
- label: ((_a2 = texts == null ? void 0 : texts.email) == null ? void 0 : _a2.label) || "Email",
3229
- helperText: (_b2 = formState.errors.email) == null ? void 0 : _b2.message,
3230
- placeholder: ((_c2 = texts == null ? void 0 : texts.email) == null ? void 0 : _c2.placeholder) || "contact@sikka.io",
3231
- ...field
3232
- }
3233
- );
3234
- }
3235
- }
3236
- ));
3237
- default:
3238
- break;
3239
- }
3240
- };
3241
- return /* @__PURE__ */ import_react13.default.createElement("div", { className: "hawa-flex hawa-flex-col hawa-gap-4" }, /* @__PURE__ */ import_react13.default.createElement(Card, { dir: props.direction }, /* @__PURE__ */ import_react13.default.createElement(CardContent, { headless: true }, props.showError && /* @__PURE__ */ import_react13.default.createElement(
3242
- Alert,
3243
- {
3244
- direction: props.direction,
3245
- title: props.errorTitle,
3246
- text: props.errorText,
3247
- severity: "error"
3248
- }
3249
- ), /* @__PURE__ */ import_react13.default.createElement(
3250
- "form",
3251
- {
3252
- noValidate: true,
3253
- className: "hawa-flex hawa-flex-col hawa-gap-4",
3254
- onSubmit: handleSubmit((e) => {
3255
- if (props.onLogin) {
3256
- return props.onLogin(e);
3257
- } else {
3258
- console.log("Form is submitted but onLogin prop is missing");
3259
- }
3260
- })
3261
- },
3262
- renderFields(),
3263
- /* @__PURE__ */ import_react13.default.createElement(
3264
- Button,
3265
- {
3266
- className: "hawa-mt-0 hawa-w-full",
3267
- type: "submit",
3268
- isLoading: props.isLoading,
3269
- disabled: props.isLoading
3270
- },
3271
- (texts == null ? void 0 : texts.loginText) || "Login"
3272
- ),
3273
- props.additionalButtons,
3274
- props.allowRegister && /* @__PURE__ */ import_react13.default.createElement("div", { className: "hawa-select-none hawa-p-3 hawa-text-center hawa-text-sm hawa-font-normal dark:hawa-text-gray-300" }, (texts == null ? void 0 : texts.newUserText) || "New user?", " ", /* @__PURE__ */ import_react13.default.createElement(
3275
- "span",
3276
- {
3277
- onClick: props.onRouteToRegister,
3278
- className: "clickable-link"
3279
- },
3280
- (texts == null ? void 0 : texts.createAccount) || "Create Account"
3281
- ))
3282
- )), props.viaGithub || props.viaGoogle || props.viaTwitter ? /* @__PURE__ */ import_react13.default.createElement(
3283
- CardFooter,
3284
- {
3285
- className: cn(
3286
- props.logosOnly ? "hawa-flex hawa-flex-row hawa-justify-center hawa-gap-2" : "hawa-grid hawa-grid-cols-1 hawa-gap-2"
3287
- )
3288
- },
3289
- /* @__PURE__ */ import_react13.default.createElement(
3290
- AuthButtons,
3291
- {
3292
- texts: thirdPartyAuthTexts,
3293
- viaGoogle: props.viaGoogle,
3294
- viaGithub: props.viaGithub,
3295
- viaTwitter: props.viaTwitter,
3296
- isGoogleLoading: props.isGoogleLoading,
3297
- isGithubLoading: props.isGithubLoading,
3298
- isTwitterLoading: props.isTwitterLoading,
3299
- handleGoogle: props.onGoogleLogin,
3300
- handleGithub: props.onGithubLogin,
3301
- handleTwitter: props.onTwitterLogin
3302
- }
3303
- )
3304
- ) : null));
3305
- };
3306
-
3307
- // blocks/auth/RegisterForm.tsx
3308
- var import_react15 = __toESM(require("react"));
3309
- var import_react_hook_form2 = require("react-hook-form");
3310
- var import_zod2 = require("@hookform/resolvers/zod");
3311
- var z2 = __toESM(require("zod"));
3312
-
3313
- // elements/checkbox/Checkbox.tsx
3314
- var React17 = __toESM(require("react"));
3315
- var CheckboxPrimitive = __toESM(require("@radix-ui/react-checkbox"));
3316
- var Checkbox = ({
3317
- id,
3318
- label,
3319
- sublabel,
3320
- helperText,
3321
- disabled,
3322
- size = "default",
3323
- radius = "inherit",
3324
- ...props
3325
- }) => {
3326
- let labelLineHeightStyles = {
3327
- xs: sublabel || helperText ? 0.5 : 0.1,
3328
- sm: 0.6,
3329
- default: 1,
3330
- md: 0.8,
3331
- lg: 0.9,
3332
- xl: 1
3333
- };
3334
- return /* @__PURE__ */ React17.createElement(
3335
- "div",
3336
- {
3337
- className: cn(
3338
- "hawa-flex hawa-gap-2",
3339
- size === "default" ? "hawa-items-top" : "hawa-items-center"
3340
- )
3341
- },
3342
- /* @__PURE__ */ React17.createElement(
3343
- CheckboxElement,
3344
- {
3345
- ...props,
3346
- size,
3347
- radius,
3348
- disabled,
3349
- id
3350
- }
3351
- ),
3352
- (label || helperText) && /* @__PURE__ */ React17.createElement("div", { className: "hawa-grid hawa-gap-1.5" }, label && /* @__PURE__ */ React17.createElement(
3353
- "label",
3354
- {
3355
- htmlFor: id,
3356
- className: cn(
3357
- "hawa-w-fit hawa-select-none hawa-pt-0.5 hawa-text-sm hawa-font-medium",
3358
- disabled ? "hawa-cursor-not-allowed hawa-text-muted-foreground hawa-opacity-70 " : "hawa-cursor-pointer"
3359
- ),
3360
- style: {
3361
- // lineHeight: labelLineHeightStyles[size]
3362
- lineHeight: 1
3363
- }
3364
- },
3365
- label
3366
- ), sublabel && /* @__PURE__ */ React17.createElement(
3367
- "label",
3368
- {
3369
- htmlFor: id,
3370
- className: cn(
3371
- "hawa-w-fit hawa-select-none hawa-text-sm hawa-text-muted-foreground",
3372
- disabled ? "hawa-cursor-not-allowed hawa-text-muted-foreground hawa-opacity-70" : "hawa-cursor-pointer"
3373
- )
3374
- },
3375
- sublabel
3376
- ), helperText && !disabled && /* @__PURE__ */ React17.createElement(
3377
- "label",
3378
- {
3379
- htmlFor: id,
3380
- className: cn(
3381
- "hawa-w-fit hawa-select-none hawa-text-xs hawa-text-helper-color",
3382
- disabled && "hawa-cursor-not-allowed hawa-opacity-70"
3383
- )
3384
- },
3385
- helperText
3386
- ))
3387
- );
3388
- };
3389
- var CheckboxElement = React17.forwardRef(({ radius = "inherit", size = "default", className, ...props }, ref) => {
3390
- let checkboxRadius = {
3391
- none: "hawa-rounded-none",
3392
- inherit: "hawa-rounded-sm",
3393
- full: "hawa-rounded-full"
3394
- };
3395
- let checkboxSizes = {
3396
- xs: "hawa-w-3 hawa-h-3",
3397
- sm: "hawa-w-6 hawa-h-6",
3398
- default: "hawa-icon",
3399
- md: "hawa-w-8 hawa-h-8",
3400
- lg: "hawa-w-10 hawa-h-10",
3401
- xl: "hawa-w-12 hawa-h-12"
3402
- };
3403
- let checkboxIndicatorSizes = {
3404
- xs: "0.5em",
3405
- default: "0.60em",
3406
- sm: "0.75em",
3407
- md: "0.875em",
3408
- lg: "1em",
3409
- xl: "1.25em"
3410
- };
3411
- return /* @__PURE__ */ React17.createElement(
3412
- CheckboxPrimitive.Root,
3413
- {
3414
- ref,
3415
- className: cn(
3416
- "hawa-peer hawa-shrink-0 hawa-border hawa-border-primary hawa-ring-offset-background focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-2 disabled:hawa-cursor-not-allowed disabled:hawa-opacity-50 data-[state=checked]:hawa-bg-primary data-[state=checked]:hawa-text-primary-foreground",
3417
- checkboxSizes[size],
3418
- checkboxRadius[radius],
3419
- className
3420
- ),
3421
- ...props
3422
- },
3423
- /* @__PURE__ */ React17.createElement(
3424
- CheckboxPrimitive.Indicator,
3425
- {
3426
- className: cn(
3427
- "hawa-flex hawa-items-center hawa-justify-center hawa-text-current"
3428
- )
3429
- },
3430
- /* @__PURE__ */ React17.createElement(
3431
- "svg",
3432
- {
3433
- "aria-label": "Check Mark",
3434
- stroke: "currentColor",
3435
- fill: "currentColor",
3436
- strokeWidth: "0",
3437
- viewBox: "0 0 512 512",
3438
- height: checkboxIndicatorSizes[size],
3439
- width: checkboxIndicatorSizes[size]
3440
- },
3441
- /* @__PURE__ */ React17.createElement("path", { d: "M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z" })
3442
- ),
3443
- " "
3444
- )
3445
- );
3446
- });
3447
- CheckboxElement.displayName = CheckboxPrimitive.Root.displayName;
3448
-
3449
- // elements/stopPropagationWrapper/StopPropagationWrapper.tsx
3450
- var import_react14 = __toESM(require("react"));
3451
- var StopPropagationWrapper = (props) => {
3452
- const handleClick = (e) => {
3453
- e.stopPropagation();
3454
- };
3455
- return /* @__PURE__ */ import_react14.default.createElement("div", { onClick: handleClick }, props.children);
3456
- };
3457
-
3458
- // blocks/auth/RegisterForm.tsx
3459
- var RegisterForm = ({
3460
- texts,
3461
- registerFields = ["email"],
3462
- ...props
3463
- }) => {
3464
- var _a, _b, _c, _d, _e, _f;
3465
- const [passwordVisible, setPasswordVisible] = (0, import_react15.useState)(false);
3466
- const thirdPartyAuthTexts = {
3467
- continueWithGoogle: texts == null ? void 0 : texts.continueWithGoogle,
3468
- continueWithTwitter: texts == null ? void 0 : texts.continueWithTwitter,
3469
- continueWithApple: texts == null ? void 0 : texts.continueWithApple,
3470
- continueWithMicrosoft: texts == null ? void 0 : texts.continueWithMicrosoft,
3471
- continueWithGithub: texts == null ? void 0 : texts.continueWithGithub,
3472
- continueWithEmail: texts == null ? void 0 : texts.continueWithEmail,
3473
- continueWithPhone: texts == null ? void 0 : texts.continueWithPhone
3474
- };
3475
- const methods = (0, import_react_hook_form2.useForm)();
3476
- let fieldSchemas = {};
3477
- registerFields.forEach((field) => {
3478
- var _a2, _b2, _c2, _d2, _e2, _f2;
3479
- switch (field) {
3480
- case "fullname":
3481
- fieldSchemas["fullName"] = z2.string().optional();
3482
- break;
3483
- case "email":
3484
- fieldSchemas["email"] = z2.string({ required_error: (_a2 = texts == null ? void 0 : texts.email) == null ? void 0 : _a2.required }).email({ message: (_b2 = texts == null ? void 0 : texts.email) == null ? void 0 : _b2.invalid }).min(1, { message: (_c2 = texts == null ? void 0 : texts.email) == null ? void 0 : _c2.required });
3485
- break;
3486
- case "username":
3487
- fieldSchemas["username"] = z2.string({ required_error: (_d2 = texts == null ? void 0 : texts.username) == null ? void 0 : _d2.required }).min(1, { message: (_e2 = texts == null ? void 0 : texts.username) == null ? void 0 : _e2.required }).refine(
3488
- (value) => {
3489
- const isValid = /^[a-zA-Z][a-zA-Z0-9_-]{2,14}$/.test(value);
3490
- return isValid;
3491
- },
3492
- { message: (_f2 = texts == null ? void 0 : texts.username) == null ? void 0 : _f2.invalid }
3493
- );
3494
- break;
3495
- }
3496
- });
3497
- const formSchema = z2.object({
3498
- ...fieldSchemas,
3499
- password: z2.string({ required_error: (_a = texts == null ? void 0 : texts.password) == null ? void 0 : _a.required }).min(5, { message: (_b = texts == null ? void 0 : texts.password) == null ? void 0 : _b.tooShort }).refine((value) => value !== "", {
3500
- message: (_c = texts == null ? void 0 : texts.password) == null ? void 0 : _c.required
3501
- }),
3502
- confirm_password: z2.string({ required_error: (_d = texts == null ? void 0 : texts.confirm) == null ? void 0 : _d.required }).refine((value) => value !== "", {
3503
- message: (_e = texts == null ? void 0 : texts.password) == null ? void 0 : _e.required
3504
- }),
3505
- refCode: z2.string().optional(),
3506
- reference: z2.string().optional(),
3507
- terms_accepted: z2.boolean({ required_error: texts == null ? void 0 : texts.termsRequired }).refine((value) => value, { message: texts == null ? void 0 : texts.termsRequired }),
3508
- newsletter_accepted: z2.boolean().optional()
3509
- }).refine((data) => data.password === data.confirm_password, {
3510
- message: (_f = texts == null ? void 0 : texts.confirm) == null ? void 0 : _f.dontMatch,
3511
- path: ["confirm_password"]
3512
- });
3513
- const { handleSubmit, control, formState } = (0, import_react_hook_form2.useForm)({
3514
- resolver: (0, import_zod2.zodResolver)(formSchema)
3515
- });
3516
- return /* @__PURE__ */ import_react15.default.createElement("div", { className: "hawa-flex hawa-flex-col hawa-gap-4" }, /* @__PURE__ */ import_react15.default.createElement(Card, { dir: props.direction }, /* @__PURE__ */ import_react15.default.createElement(CardContent, { headless: true }, /* @__PURE__ */ import_react15.default.createElement("div", null, props.showError && /* @__PURE__ */ import_react15.default.createElement(
3517
- Alert,
3518
- {
3519
- title: props.errorTitle,
3520
- text: props.errorText,
3521
- severity: "error"
3522
- }
3523
- ), /* @__PURE__ */ import_react15.default.createElement(import_react_hook_form2.FormProvider, { ...methods }, /* @__PURE__ */ import_react15.default.createElement(
3524
- "form",
3525
- {
3526
- noValidate: true,
3527
- onSubmit: handleSubmit((e) => {
3528
- if (props.onRegister) {
3529
- return props.onRegister(e);
3530
- } else {
3531
- console.log(
3532
- "Form is submitted but onRegister prop is missing"
3533
- );
3534
- }
3535
- }),
3536
- className: "hawa-flex hawa-flex-col hawa-gap-4"
3537
- },
3538
- /* @__PURE__ */ import_react15.default.createElement("div", { className: "hawa-flex hawa-flex-col hawa-gap-4" }, registerFields.map((fld, i) => {
3539
- if (fld === "fullname") {
3540
- return /* @__PURE__ */ import_react15.default.createElement(
3541
- import_react_hook_form2.Controller,
3542
- {
3543
- key: i,
3544
- control,
3545
- name: "fullName",
3546
- render: ({ field }) => {
3547
- var _a2, _b2, _c2;
3548
- return /* @__PURE__ */ import_react15.default.createElement(
3549
- Input,
3550
- {
3551
- width: "full",
3552
- label: (_a2 = texts == null ? void 0 : texts.fullName) == null ? void 0 : _a2.label,
3553
- placeholder: (_b2 = texts == null ? void 0 : texts.fullName) == null ? void 0 : _b2.placeholder,
3554
- helperText: (_c2 = formState.errors.fullName) == null ? void 0 : _c2.message,
3555
- ...field
3556
- }
3557
- );
3558
- }
3559
- }
3560
- );
3561
- }
3562
- if (fld === "email") {
3563
- return /* @__PURE__ */ import_react15.default.createElement(
3564
- import_react_hook_form2.Controller,
3565
- {
3566
- key: i,
3567
- control,
3568
- name: "email",
3569
- render: ({ field }) => {
3570
- var _a2, _b2, _c2;
3571
- return /* @__PURE__ */ import_react15.default.createElement(
3572
- Input,
3573
- {
3574
- dir: "ltr",
3575
- inputProps: {
3576
- className: props.direction === "rtl" ? "hawa-text-right" : "hawa-text-left"
3577
- },
3578
- width: "full",
3579
- autoComplete: "email",
3580
- label: (_a2 = texts == null ? void 0 : texts.email) == null ? void 0 : _a2.label,
3581
- helperText: (_b2 = formState.errors.email) == null ? void 0 : _b2.message,
3582
- placeholder: ((_c2 = texts == null ? void 0 : texts.email) == null ? void 0 : _c2.placeholder) || "Enter your email",
3583
- ...field
3584
- }
3585
- );
3586
- }
3587
- }
3588
- );
3589
- }
3590
- if (fld === "username") {
3591
- return /* @__PURE__ */ import_react15.default.createElement(
3592
- import_react_hook_form2.Controller,
3593
- {
3594
- key: i,
3595
- control,
3596
- name: "username",
3597
- render: ({ field }) => {
3598
- var _a2, _b2, _c2;
3599
- return /* @__PURE__ */ import_react15.default.createElement(
3600
- Input,
3601
- {
3602
- width: "full",
3603
- autoComplete: "username",
3604
- label: (_a2 = texts == null ? void 0 : texts.username) == null ? void 0 : _a2.label,
3605
- helperText: (_b2 = formState.errors.username) == null ? void 0 : _b2.message,
3606
- placeholder: (_c2 = texts == null ? void 0 : texts.username) == null ? void 0 : _c2.placeholder,
3607
- ...field
3608
- }
3609
- );
3610
- }
3611
- }
3612
- );
3613
- }
3614
- })),
3615
- /* @__PURE__ */ import_react15.default.createElement(
3616
- import_react_hook_form2.Controller,
3617
- {
3618
- control,
3619
- name: "password",
3620
- render: ({ field }) => {
3621
- var _a2, _b2, _c2;
3622
- return /* @__PURE__ */ import_react15.default.createElement(
3623
- Input,
3624
- {
3625
- width: "full",
3626
- type: passwordVisible ? "text" : "password",
3627
- endIcon: /* @__PURE__ */ import_react15.default.createElement(
3628
- "div",
3629
- {
3630
- className: "hawa-cursor-pointer",
3631
- onClick: () => setPasswordVisible(!passwordVisible)
3632
- },
3633
- passwordVisible ? /* @__PURE__ */ import_react15.default.createElement(EyeIcon, { className: "hawa-text-gray-500" }) : /* @__PURE__ */ import_react15.default.createElement(HiddenEyeIcon, { className: "hawa-text-gray-500" }),
3634
- " "
3635
- ),
3636
- autoComplete: "new-password",
3637
- label: (_a2 = texts == null ? void 0 : texts.password) == null ? void 0 : _a2.label,
3638
- placeholder: (_b2 = texts == null ? void 0 : texts.password) == null ? void 0 : _b2.placeholder,
3639
- helperText: (_c2 = formState.errors.password) == null ? void 0 : _c2.message,
3640
- ...field
3641
- }
3642
- );
3643
- }
3644
- }
3645
- ),
3646
- /* @__PURE__ */ import_react15.default.createElement(
3647
- import_react_hook_form2.Controller,
3648
- {
3649
- control,
3650
- name: "confirm_password",
3651
- render: ({ field }) => {
3652
- var _a2, _b2, _c2;
3653
- return /* @__PURE__ */ import_react15.default.createElement(
3654
- Input,
3655
- {
3656
- width: "full",
3657
- type: "password",
3658
- autoComplete: "new-password",
3659
- label: (_a2 = texts == null ? void 0 : texts.confirm) == null ? void 0 : _a2.label,
3660
- placeholder: (_b2 = texts == null ? void 0 : texts.confirm) == null ? void 0 : _b2.placeholder,
3661
- helperText: (_c2 = formState.errors.confirm_password) == null ? void 0 : _c2.message,
3662
- ...field
3663
- }
3664
- );
3665
- }
3666
- }
3667
- ),
3668
- props.additionalInputs,
3669
- props.showRefCode && /* @__PURE__ */ import_react15.default.createElement(
3670
- import_react_hook_form2.Controller,
3671
- {
3672
- control,
3673
- name: "refCode",
3674
- render: ({ field }) => {
3675
- var _a2;
3676
- return /* @__PURE__ */ import_react15.default.createElement(
3677
- Input,
3678
- {
3679
- width: "full",
3680
- label: texts == null ? void 0 : texts.refCode,
3681
- placeholder: (texts == null ? void 0 : texts.refCodePlaceholder) || "Enter the referral code",
3682
- helperText: (_a2 = formState.errors.refCode) == null ? void 0 : _a2.message,
3683
- ...field
3684
- }
3685
- );
3686
- }
3687
- }
3688
- ),
3689
- props.showUserSource && /* @__PURE__ */ import_react15.default.createElement(
3690
- import_react_hook_form2.Controller,
3691
- {
3692
- control,
3693
- name: "reference",
3694
- render: ({ field }) => {
3695
- var _a2, _b2;
3696
- return /* @__PURE__ */ import_react15.default.createElement(
3697
- Select,
3698
- {
3699
- label: ((_a2 = texts == null ? void 0 : texts.userReference) == null ? void 0 : _a2.label) || "How did you learn about us?",
3700
- placeholder: (_b2 = texts == null ? void 0 : texts.userReference) == null ? void 0 : _b2.placeholder,
3701
- isCreatable: false,
3702
- isMulti: false,
3703
- isSearchable: false,
3704
- isClearable: false,
3705
- options: props.userReferenceOptions,
3706
- onChange: (e) => {
3707
- field.onChange(e.value);
3708
- }
3709
- }
3710
- );
3711
- }
3712
- }
3713
- ),
3714
- /* @__PURE__ */ import_react15.default.createElement("div", { className: "hawa-flex hawa-flex-col hawa-gap-3" }, props.showTermsOption && /* @__PURE__ */ import_react15.default.createElement(
3715
- import_react_hook_form2.Controller,
3716
- {
3717
- control,
3718
- name: "terms_accepted",
3719
- render: ({ field }) => {
3720
- var _a2, _b2;
3721
- return /* @__PURE__ */ import_react15.default.createElement(
3722
- Checkbox,
3723
- {
3724
- id: "terms_accepted",
3725
- helperText: (_b2 = (_a2 = formState.errors.terms_accepted) == null ? void 0 : _a2.message) == null ? void 0 : _b2.toString(),
3726
- onCheckedChange: (e) => field.onChange(e),
3727
- label: /* @__PURE__ */ import_react15.default.createElement("div", { className: "hawa-flex hawa-flex-row hawa-gap-0.5" }, /* @__PURE__ */ import_react15.default.createElement("span", null, texts == null ? void 0 : texts.iAcceptText), " ", /* @__PURE__ */ import_react15.default.createElement(StopPropagationWrapper, null, /* @__PURE__ */ import_react15.default.createElement(
3728
- "a",
3729
- {
3730
- onClick: props.onRouteToTOS,
3731
- className: "clickable-link"
3732
- },
3733
- texts == null ? void 0 : texts.termsText
3734
- )))
3735
- }
3736
- );
3737
- }
3738
- }
3739
- ), props.showNewsletterOption && /* @__PURE__ */ import_react15.default.createElement(
3740
- import_react_hook_form2.Controller,
3741
- {
3742
- control,
3743
- name: "newsletter_accepted",
3744
- render: ({ field }) => /* @__PURE__ */ import_react15.default.createElement(
3745
- Checkbox,
3746
- {
3747
- id: "newsletter_accepted",
3748
- label: texts == null ? void 0 : texts.subscribeToNewsletter,
3749
- onCheckedChange: field.onChange
3750
- }
3751
- )
3752
- }
3753
- )),
3754
- /* @__PURE__ */ import_react15.default.createElement(
3755
- Button,
3756
- {
3757
- className: "hawa-mt-4 hawa-w-full",
3758
- type: "submit",
3759
- isLoading: props.isLoading,
3760
- disabled: props.isLoading
3761
- },
3762
- (texts == null ? void 0 : texts.registerText) || "Register"
3763
- ),
3764
- props.additionalButtons
3765
- )), /* @__PURE__ */ import_react15.default.createElement("div", { className: "hawa-flex hawa-flex-row hawa-items-center hawa-justify-center hawa-gap-1 hawa-p-3 hawa-text-center hawa-text-sm hawa-font-normal dark:hawa-text-white" }, /* @__PURE__ */ import_react15.default.createElement("span", null, texts == null ? void 0 : texts.existingUserText), /* @__PURE__ */ import_react15.default.createElement("span", { onClick: props.onRouteToLogin, className: "clickable-link" }, (texts == null ? void 0 : texts.loginText) || "Login")))), props.viaGithub || props.viaGoogle || props.viaTwitter ? /* @__PURE__ */ import_react15.default.createElement(
3766
- CardFooter,
3767
- {
3768
- className: cn(
3769
- props.logosOnly ? "hawa-flex hawa-flex-row hawa-justify-center hawa-gap-2" : "hawa-grid hawa-grid-cols-1 hawa-gap-2"
3770
- )
3771
- },
3772
- /* @__PURE__ */ import_react15.default.createElement(
3773
- AuthButtons,
3774
- {
3775
- texts: thirdPartyAuthTexts,
3776
- viaGoogle: props.viaGoogle,
3777
- viaGithub: props.viaGithub,
3778
- viaTwitter: props.viaTwitter,
3779
- isGoogleLoading: props.isGoogleLoading,
3780
- isGithubLoading: props.isGithubLoading,
3781
- isTwitterLoading: props.isTwitterLoading,
3782
- handleGoogle: props.onGoogleRegister,
3783
- handleGithub: props.onGithubRegister,
3784
- handleTwitter: props.onTwitterRegister
3785
- }
3786
- )
3787
- ) : null));
3788
- };
3789
-
3790
- // blocks/auth/AppLanding.tsx
3791
- var import_react16 = __toESM(require("react"));
3792
- var AppLanding = ({ texts, ...props }) => {
3793
- const thirdPartyAuthTexts = {
3794
- continueWithGoogle: texts == null ? void 0 : texts.continueWithGoogle,
3795
- continueWithTwitter: texts == null ? void 0 : texts.continueWithTwitter,
3796
- continueWithApple: texts == null ? void 0 : texts.continueWithApple,
3797
- continueWithMicrosoft: texts == null ? void 0 : texts.continueWithMicrosoft,
3798
- continueWithGithub: texts == null ? void 0 : texts.continueWithGithub,
3799
- continueWithEmail: texts == null ? void 0 : texts.continueWithEmail,
3800
- continueWithPhone: texts == null ? void 0 : texts.continueWithPhone
3801
- };
3802
- return /* @__PURE__ */ import_react16.default.createElement("div", { dir: props.direction }, /* @__PURE__ */ import_react16.default.createElement(Card, null, /* @__PURE__ */ import_react16.default.createElement(CardContent, { headless: true, className: "hawa-flex hawa-flex-col hawa-gap-6" }, /* @__PURE__ */ import_react16.default.createElement(
3803
- AuthButtons,
3804
- {
3805
- texts: thirdPartyAuthTexts,
3806
- viaApple: props.viaApple,
3807
- viaGoogle: props.viaGoogle,
3808
- viaEmail: props.viaEmail,
3809
- viaGithub: props.viaGithub,
3810
- viaMicrosoft: props.viaMicrosoft,
3811
- viaPhone: props.viaPhone,
3812
- viaTwitter: props.viaTwitter,
3813
- handleApple: props.handleApple,
3814
- handleGoogle: props.handleGoogle,
3815
- handleTwitter: props.handleTwitter,
3816
- handleMicrosoft: props.handleMicrosoft,
3817
- handleGithub: props.handleGithub,
3818
- handleEmail: props.handleEmail,
3819
- handlePhone: props.handlePhone
3820
- }
3821
- ), props.allowRegister && /* @__PURE__ */ import_react16.default.createElement("div", { className: "hawa-p-3 hawa-text-center hawa-text-sm hawa-font-normal dark:hawa-text-gray-300" }, texts == null ? void 0 : texts.newUserText, " ", /* @__PURE__ */ import_react16.default.createElement(
3822
- "span",
3823
- {
3824
- onClick: props.handleRouteToRegister,
3825
- className: "clickable-link"
3826
- },
3827
- texts == null ? void 0 : texts.createAccount
3828
- )))));
3829
- };
3830
-
3831
- // blocks/auth/CheckEmail.tsx
3832
- var import_react17 = __toESM(require("react"));
3833
- var CheckEmail = ({ texts, handleResend }) => {
3834
- return /* @__PURE__ */ import_react17.default.createElement(Card, null, /* @__PURE__ */ import_react17.default.createElement(CardContent, { headless: true }, /* @__PURE__ */ import_react17.default.createElement("div", { className: "hawa-flex hawa-flex-col hawa-items-center hawa-justify-center hawa-text-center" }, /* @__PURE__ */ import_react17.default.createElement("div", { className: "hawa-flex hawa-h-16 hawa-w-16 hawa-flex-col hawa-items-center hawa-justify-center hawa-rounded-3xl hawa-bg-primary hawa-text-6xl hawa-font-bold hawa-text-primary-foreground" }, /* @__PURE__ */ import_react17.default.createElement(
3835
- "svg",
3836
- {
3837
- stroke: "currentColor",
3838
- fill: "none",
3839
- strokeWidth: "2",
3840
- viewBox: "0 0 24 24",
3841
- strokeLinecap: "round",
3842
- strokeLinejoin: "round",
3843
- height: "0.5em",
3844
- width: "0.5em",
3845
- xmlns: "http://www.w3.org/2000/svg"
3846
- },
3847
- /* @__PURE__ */ import_react17.default.createElement("path", { d: "M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z" }),
3848
- /* @__PURE__ */ import_react17.default.createElement("polyline", { points: "22,6 12,13 2,6" })
3849
- )), /* @__PURE__ */ import_react17.default.createElement("div", { className: "hawa-m-2 hawa-text-xl hawa-font-bold" }, (texts == null ? void 0 : texts.checkEmail) || "Check your Email"), /* @__PURE__ */ import_react17.default.createElement("div", { className: "hawa-text-sm" }, (texts == null ? void 0 : texts.pleaseVerify) || "Thank you for signing up! To complete your registration, we've sent a verification email to the address you provided. Please check your inbox and follow the instructions in the email to activate your account."))), /* @__PURE__ */ import_react17.default.createElement(CardFooter, { className: "hawa-flex hawa-flex-col hawa-justify-center " }, /* @__PURE__ */ import_react17.default.createElement("span", { className: "clickable-link hawa-text-sm", onClick: handleResend }, (texts == null ? void 0 : texts.resendEmail) || "Resend Email")));
3850
- };
3851
-
3852
- // blocks/auth/NewPassword.tsx
3853
- var import_react18 = __toESM(require("react"));
3854
- var import_react_hook_form3 = require("react-hook-form");
3855
- var import_zod3 = require("@hookform/resolvers/zod");
3856
- var z3 = __toESM(require("zod"));
3857
- var NewPasswordForm = ({ texts, ...props }) => {
3858
- var _a, _b, _c, _d, _e, _f, _g, _h, _i;
3859
- const formSchema = z3.object({
3860
- password: z3.string({ required_error: (_a = texts == null ? void 0 : texts.password) == null ? void 0 : _a.required }).min(1, { message: (_b = texts == null ? void 0 : texts.password) == null ? void 0 : _b.required }).min(8, { message: (_c = texts == null ? void 0 : texts.password) == null ? void 0 : _c.tooShort }),
3861
- confirm_password: z3.string({ required_error: (_d = texts == null ? void 0 : texts.confirm) == null ? void 0 : _d.required }).refine((value) => value !== "", {
3862
- message: (_e = texts == null ? void 0 : texts.password) == null ? void 0 : _e.required
3863
- })
3864
- }).refine((data) => data.password === data.confirm_password, {
3865
- message: (_f = texts == null ? void 0 : texts.confirm) == null ? void 0 : _f.dontMatch,
3866
- path: ["confirm_password"]
3867
- });
3868
- const { handleSubmit, control, formState } = (0, import_react_hook_form3.useForm)({
3869
- resolver: (0, import_zod3.zodResolver)(formSchema)
3870
- });
3871
- const [matchError, setMatchError] = (0, import_react18.useState)(false);
3872
- return /* @__PURE__ */ import_react18.default.createElement(Card, { dir: props.direction }, matchError && /* @__PURE__ */ import_react18.default.createElement(Alert, { text: (_g = texts == null ? void 0 : texts.confirm) == null ? void 0 : _g.dontMatch, severity: "error" }), props.passwordChanged ? /* @__PURE__ */ import_react18.default.createElement(CardContent, { headless: true }, /* @__PURE__ */ import_react18.default.createElement("div", { className: "hawa-text-center" }, texts == null ? void 0 : texts.passwordChanged)) : /* @__PURE__ */ import_react18.default.createElement(
3873
- "form",
3874
- {
3875
- noValidate: true,
3876
- onSubmit: handleSubmit((e) => {
3877
- if (props.handleNewPassword) {
3878
- return props.handleNewPassword(e);
3879
- } else {
3880
- console.log(
3881
- "Form is submitted but handleSubmission prop is missing"
3882
- );
3883
- }
3884
- })
3885
- },
3886
- !props.headless && /* @__PURE__ */ import_react18.default.createElement(CardHeader, null, /* @__PURE__ */ import_react18.default.createElement(CardTitle, null, "Create Password"), /* @__PURE__ */ import_react18.default.createElement(CardDescription, null, "Set a new password for your account")),
3887
- /* @__PURE__ */ import_react18.default.createElement(
3888
- CardContent,
3889
- {
3890
- headless: props.headless,
3891
- className: "hawa-flex hawa-flex-col hawa-gap-4"
3892
- },
3893
- /* @__PURE__ */ import_react18.default.createElement(
3894
- import_react_hook_form3.Controller,
3895
- {
3896
- control,
3897
- name: "password",
3898
- render: ({ field }) => {
3899
- var _a2, _b2, _c2;
3900
- return /* @__PURE__ */ import_react18.default.createElement(
3901
- Input,
3902
- {
3903
- width: "full",
3904
- type: "password",
3905
- autoComplete: "new-password",
3906
- label: (_a2 = texts == null ? void 0 : texts.password) == null ? void 0 : _a2.label,
3907
- placeholder: (_b2 = texts == null ? void 0 : texts.password) == null ? void 0 : _b2.placeholder,
3908
- helperText: (_c2 = formState.errors.password) == null ? void 0 : _c2.message,
3909
- ...field
3910
- }
3911
- );
3912
- }
3913
- }
3914
- ),
3915
- /* @__PURE__ */ import_react18.default.createElement(
3916
- import_react_hook_form3.Controller,
3917
- {
3918
- control,
3919
- name: "confirm_password",
3920
- render: ({ field }) => {
3921
- var _a2, _b2, _c2;
3922
- return /* @__PURE__ */ import_react18.default.createElement(
3923
- Input,
3924
- {
3925
- width: "full",
3926
- type: "password",
3927
- autoComplete: "new-password",
3928
- label: (_a2 = texts == null ? void 0 : texts.confirm) == null ? void 0 : _a2.label,
3929
- placeholder: (_b2 = texts == null ? void 0 : texts.confirm) == null ? void 0 : _b2.placeholder,
3930
- helperText: (_c2 = formState.errors.confirm_password) == null ? void 0 : _c2.message,
3931
- ...field
3932
- }
3933
- );
3934
- }
3935
- }
3936
- )
3937
- ),
3938
- /* @__PURE__ */ import_react18.default.createElement(CardFooter, { className: "hawa-flex hawa-flex-col" }, /* @__PURE__ */ import_react18.default.createElement(Button, { className: "hawa-w-full", type: "submit" }, texts == null ? void 0 : texts.updatePassword), props.allowRegister && /* @__PURE__ */ import_react18.default.createElement("div", { className: "hawa-mt-4 hawa-pb-0 hawa-text-center hawa-text-sm dark:hawa-text-gray-300" }, (_h = texts == null ? void 0 : texts.dontHaveAccount) != null ? _h : "Don't have an account? ", /* @__PURE__ */ import_react18.default.createElement(
3939
- "span",
3940
- {
3941
- className: "clickable-link",
3942
- onClick: props.handleRouteToRegister
3943
- },
3944
- (_i = texts == null ? void 0 : texts.registerText) != null ? _i : "Register"
3945
- )))
3946
- ));
3947
- };
3948
-
3949
- // blocks/auth/ResetPassword.tsx
3950
- var import_react19 = __toESM(require("react"));
3951
- var import_react_hook_form4 = require("react-hook-form");
3952
- var import_zod4 = require("@hookform/resolvers/zod");
3953
- var z4 = __toESM(require("zod"));
3954
- var ResetPasswordForm = (props) => {
3955
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
3956
- const formSchema = z4.object({
3957
- email: z4.string({ required_error: (_b = (_a = props.texts) == null ? void 0 : _a.email) == null ? void 0 : _b.required }).email({ message: (_d = (_c = props.texts) == null ? void 0 : _c.email) == null ? void 0 : _d.invalid }).min(1, { message: (_f = (_e = props.texts) == null ? void 0 : _e.email) == null ? void 0 : _f.required })
3958
- });
3959
- const { handleSubmit, control, formState } = (0, import_react_hook_form4.useForm)({
3960
- resolver: (0, import_zod4.zodResolver)(formSchema)
3961
- });
3962
- return /* @__PURE__ */ import_react19.default.createElement(Card, { dir: props.direction }, !props.sent ? /* @__PURE__ */ import_react19.default.createElement(import_react19.default.Fragment, null, !props.headless && /* @__PURE__ */ import_react19.default.createElement(CardHeader, null, /* @__PURE__ */ import_react19.default.createElement(CardTitle, null, ((_g = props.texts) == null ? void 0 : _g.headTitle) || "Reset Password"), /* @__PURE__ */ import_react19.default.createElement(CardDescription, null, ((_h = props.texts) == null ? void 0 : _h.headDescription) || "Enter your email to reset your account password")), /* @__PURE__ */ import_react19.default.createElement(
3963
- "form",
3964
- {
3965
- noValidate: true,
3966
- onSubmit: handleSubmit((e) => {
3967
- if (props.handleResetPassword) {
3968
- return props.handleResetPassword(e);
3969
- } else {
3970
- console.log("handleResetPassword prop is missing");
3971
- }
3972
- })
3973
- },
3974
- /* @__PURE__ */ import_react19.default.createElement(CardContent, { headless: props.headless }, /* @__PURE__ */ import_react19.default.createElement(
3975
- import_react_hook_form4.Controller,
3976
- {
3977
- control,
3978
- name: "email",
3979
- render: ({ field }) => {
3980
- var _a2, _b2, _c2, _d2, _e2;
3981
- return /* @__PURE__ */ import_react19.default.createElement(
3982
- Input,
3983
- {
3984
- width: "full",
3985
- label: (_b2 = (_a2 = props.texts) == null ? void 0 : _a2.email) == null ? void 0 : _b2.label,
3986
- helperText: (_c2 = formState.errors.email) == null ? void 0 : _c2.message,
3987
- placeholder: (_e2 = (_d2 = props.texts) == null ? void 0 : _d2.email) == null ? void 0 : _e2.placeholder,
3988
- ...field
3989
- }
3990
- );
3991
- }
3992
- }
3993
- )),
3994
- /* @__PURE__ */ import_react19.default.createElement(CardFooter, { className: "hawa-flex hawa-flex-col" }, /* @__PURE__ */ import_react19.default.createElement(Button, { type: "submit", className: "hawa-w-full" }, (_i = props.texts) == null ? void 0 : _i.resetPassword), props.allowRegister && /* @__PURE__ */ import_react19.default.createElement("div", { className: "hawa-mt-4 hawa-pb-0 hawa-text-center hawa-text-sm dark:hawa-text-gray-300" }, (_k = (_j = props.texts) == null ? void 0 : _j.dontHaveAccount) != null ? _k : "Don't have an account? ", /* @__PURE__ */ import_react19.default.createElement(
3995
- "span",
3996
- {
3997
- className: "clickable-link",
3998
- onClick: props.handleRouteToRegister
3999
- },
4000
- (_m = (_l = props.texts) == null ? void 0 : _l.registerText) != null ? _m : "Register"
4001
- )))
4002
- )) : /* @__PURE__ */ import_react19.default.createElement(CardContent, { headless: true }, /* @__PURE__ */ import_react19.default.createElement("div", { className: "hawa-text-center" }, (_n = props.texts) == null ? void 0 : _n.emailSentText)));
4003
- };
4004
-
4005
- // blocks/auth/CodeConfirmation.tsx
4006
- var import_react21 = __toESM(require("react"));
4007
- var import_react_hook_form5 = require("react-hook-form");
4008
- var import_zod5 = require("@hookform/resolvers/zod");
4009
- var z5 = __toESM(require("zod"));
4010
-
4011
- // elements/pinInput/PinInput.tsx
4012
- var import_react20 = __toESM(require("react"));
4013
- var PinInput = ({
4014
- label,
4015
- icon,
4016
- digits,
4017
- width = "normal",
4018
- getPins,
4019
- inputProps,
4020
- ...props
4021
- }) => {
4022
- const [pin, setPin] = (0, import_react20.useState)(Array.from(Array(digits)));
4023
- const handleKeyDown = (e, index) => {
4024
- let backTo = 0;
4025
- if (e.key === "Backspace") {
4026
- e.target.value.length === 0 ? backTo = index - 1 : backTo = index;
4027
- const previousInput = document.getElementById(`input-${backTo}`);
4028
- previousInput == null ? void 0 : previousInput.focus();
4029
- }
4030
- };
4031
- (0, import_react20.useEffect)(() => {
4032
- let unfilled = pin.includes(void 0);
4033
- if (!unfilled && getPins) {
4034
- getPins(pin);
4035
- }
4036
- });
4037
- const handleChange = (e, index) => {
4038
- if (!/^\d*$/.test(e.target.value)) {
4039
- const newPin = [...pin];
4040
- newPin[index] = "";
4041
- setPin(newPin);
4042
- return;
4043
- } else {
4044
- const newPin = [...pin];
4045
- newPin[index] = e.target.value;
4046
- setPin(newPin);
4047
- if (e.target.value.length === 1) {
4048
- const nextInput = document.getElementById(`input-${index + 1}`);
4049
- nextInput == null ? void 0 : nextInput.focus();
4050
- } else if (e.target.value.length === 0) {
4051
- const previousInput = document.getElementById(`input-${index - 1}`);
4052
- previousInput == null ? void 0 : previousInput.focus();
4053
- }
4054
- }
4055
- };
4056
- return /* @__PURE__ */ import_react20.default.createElement("div", { className: "hawa-flex hawa-flex-col hawa-gap-2" }, /* @__PURE__ */ import_react20.default.createElement(
4057
- "div",
4058
- {
4059
- className: "hawa-flex hawa-w-full hawa-flex-row hawa-justify-center hawa-gap-2",
4060
- dir: "ltr"
4061
- },
4062
- pin.map((value, index) => /* @__PURE__ */ import_react20.default.createElement(
4063
- "input",
4064
- {
4065
- key: index,
4066
- type: "text",
4067
- maxLength: 1,
4068
- value,
4069
- inputMode: "numeric",
4070
- id: `input-${index}`,
4071
- pattern: "[0-9]*",
4072
- className: cn(
4073
- "hawa-h-10 hawa-rounded hawa-border hawa-bg-background hawa-text-center",
4074
- width === "full" ? "hawa-w-full" : "hawa-w-10"
4075
- ),
4076
- onChange: (e) => handleChange(e, index),
4077
- onKeyDown: (e) => handleKeyDown(e, index),
4078
- onFocus: (e) => e.target.select(),
4079
- ...inputProps
4080
- }
4081
- ))
4082
- ), /* @__PURE__ */ import_react20.default.createElement(
4083
- "p",
4084
- {
4085
- className: cn(
4086
- "hawa-my-0 hawa-text-start hawa-text-xs hawa-text-helper-color hawa-transition-all",
4087
- props.helperText ? "hawa-h-4 hawa-opacity-100" : "hawa-h-0 hawa-opacity-0"
4088
- )
4089
- },
4090
- props.helperText
4091
- ));
4092
- };
4093
-
4094
- // blocks/auth/CodeConfirmation.tsx
4095
- var CodeConfirmation = (props) => {
4096
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
4097
- const formSchema = z5.object({
4098
- otp_code: z5.string({ required_error: (_a = props.texts) == null ? void 0 : _a.codeRequiredText }).min(6, { message: (_b = props.texts) == null ? void 0 : _b.codeTooShort })
4099
- });
4100
- const { handleSubmit, control, formState, setValue } = (0, import_react_hook_form5.useForm)({
4101
- resolver: (0, import_zod5.zodResolver)(formSchema)
4102
- });
4103
- const [resendTimer, setResendTimer] = (0, import_react21.useState)(null);
4104
- const [remainingTime, setRemainingTime] = (0, import_react21.useState)(0);
4105
- const [showResendTimer, setShowResendTimer] = (0, import_react21.useState)(false);
4106
- const startResendTimer = () => {
4107
- if (resendTimer !== null) {
4108
- clearInterval(resendTimer);
4109
- setResendTimer(null);
4110
- }
4111
- const timerDuration = 60;
4112
- setRemainingTime(timerDuration);
4113
- setShowResendTimer(true);
4114
- const newTimer = window.setInterval(() => {
4115
- setRemainingTime((prevTime) => {
4116
- if (prevTime > 0) {
4117
- return prevTime - 1;
4118
- } else {
4119
- clearInterval(newTimer);
4120
- setShowResendTimer(false);
4121
- return 0;
4122
- }
4123
- });
4124
- }, 1e3);
4125
- setResendTimer(newTimer);
4126
- };
4127
- (0, import_react21.useEffect)(() => {
4128
- return () => {
4129
- if (resendTimer !== null) {
4130
- clearInterval(resendTimer);
4131
- }
4132
- };
4133
- }, []);
4134
- return /* @__PURE__ */ import_react21.default.createElement(Card, null, /* @__PURE__ */ import_react21.default.createElement(CardContent, { headless: true }, props.showError && /* @__PURE__ */ import_react21.default.createElement(
4135
- Alert,
4136
- {
4137
- title: props.errorTitle,
4138
- text: props.errorText,
4139
- severity: "error"
4140
- }
4141
- ), /* @__PURE__ */ import_react21.default.createElement("div", { className: "hawa-mb-4 dark:hawa-text-white" }, /* @__PURE__ */ import_react21.default.createElement("div", { className: "hawa-text-lg hawa-font-bold" }, ((_c = props.texts) == null ? void 0 : _c.checkYourPhone) || "Please check your phone"), /* @__PURE__ */ import_react21.default.createElement("div", { className: "hawa-text-muted-foreground" }, /* @__PURE__ */ import_react21.default.createElement("span", null, ((_d = props.texts) == null ? void 0 : _d.weSentCode) || "We've sent a code to "), /* @__PURE__ */ import_react21.default.createElement("span", null, props.phoneNumber))), /* @__PURE__ */ import_react21.default.createElement(
4142
- "form",
4143
- {
4144
- noValidate: true,
4145
- onSubmit: handleSubmit((e) => {
4146
- if (props.handleConfirm) {
4147
- return props.handleConfirm(e);
4148
- } else {
4149
- console.log(
4150
- "Form is submitted but handleConfirm prop is missing"
4151
- );
4152
- }
4153
- })
4154
- },
4155
- /* @__PURE__ */ import_react21.default.createElement(
4156
- import_react_hook_form5.Controller,
4157
- {
4158
- control,
4159
- name: "otp_code",
4160
- render: ({ field }) => {
4161
- var _a2;
4162
- return /* @__PURE__ */ import_react21.default.createElement(
4163
- PinInput,
4164
- {
4165
- width: "full",
4166
- digits: 6,
4167
- getPins: (e) => setValue("otp_code", e.join("")),
4168
- helperText: (_a2 = formState.errors.otp_code) == null ? void 0 : _a2.message
4169
- }
4170
- );
4171
- }
4172
- }
4173
- ),
4174
- showResendTimer ? /* @__PURE__ */ import_react21.default.createElement("div", { className: " hawa-py-2 hawa-text-center hawa-text-xs hawa-text-muted-foreground" }, (_e = props.texts) == null ? void 0 : _e.resendCodeTimer, " ", /* @__PURE__ */ import_react21.default.createElement("strong", null, remainingTime), " ", (_f = props.texts) == null ? void 0 : _f.seconds) : /* @__PURE__ */ import_react21.default.createElement("div", { className: " hawa-py-2 hawa-text-center hawa-text-xs hawa-text-muted-foreground" }, /* @__PURE__ */ import_react21.default.createElement("span", null, (_h = (_g = props.texts) == null ? void 0 : _g.didntGetCode) != null ? _h : "Didn't get the code?"), " ", /* @__PURE__ */ import_react21.default.createElement(
4175
- "span",
4176
- {
4177
- className: "clickable-link",
4178
- onClick: () => {
4179
- startResendTimer();
4180
- props.handleResend();
4181
- }
4182
- },
4183
- ((_i = props.texts) == null ? void 0 : _i.resendCode) || "Click to resend"
4184
- )),
4185
- /* @__PURE__ */ import_react21.default.createElement("div", { className: "hawa-mt-4 hawa-grid hawa-grid-cols-2 hawa-gap-2" }, /* @__PURE__ */ import_react21.default.createElement(Button, { variant: "secondary" }, ((_j = props.texts) == null ? void 0 : _j.cancel) || "Cancel"), /* @__PURE__ */ import_react21.default.createElement(Button, { isLoading: props.confirmLoading }, ((_k = props.texts) == null ? void 0 : _k.confirm) || "Confirm"))
4186
- )));
4187
- };
4188
- // Annotate the CommonJS export names for ESM import in node:
4189
- 0 && (module.exports = {
4190
- AppLanding,
4191
- CheckEmail,
4192
- CodeConfirmation,
4193
- LoginForm,
4194
- NewPasswordForm,
4195
- RegisterForm,
4196
- ResetPasswordForm
4197
- });