@feathery/react 2.6.8 → 2.8.0

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 (311) hide show
  1. package/dist/Form/components/{AIExtractionToast/ExtractionItem.d.ts → ActionToast/ToastItem.d.ts} +6 -6
  2. package/dist/Form/components/ActionToast/ToastItem.d.ts.map +1 -0
  3. package/dist/Form/components/{AIExtractionToast → ActionToast}/icons.d.ts +7 -7
  4. package/dist/Form/components/ActionToast/icons.d.ts.map +1 -0
  5. package/dist/Form/components/ActionToast/index.d.ts +8 -0
  6. package/dist/Form/components/ActionToast/index.d.ts.map +1 -0
  7. package/dist/Form/components/{AIExtractionToast → ActionToast}/useAIExtractionToast.d.ts +72 -64
  8. package/dist/Form/components/ActionToast/useAIExtractionToast.d.ts.map +1 -0
  9. package/dist/Form/components/ActionToast/useEnvelopeGenerationToast.d.ts +20 -0
  10. package/dist/Form/components/ActionToast/useEnvelopeGenerationToast.d.ts.map +1 -0
  11. package/dist/Form/components/DevNavBar.d.ts +1 -1
  12. package/dist/Form/components/ReactPortal.d.ts +2 -2
  13. package/dist/Form/definitions.d.ts +40 -40
  14. package/dist/Form/grid/CalendlyEmbed.d.ts +1 -1
  15. package/dist/Form/grid/Container/index.d.ts +19 -19
  16. package/dist/Form/grid/Element/index.d.ts +2 -2
  17. package/dist/Form/grid/Element/utils/address.d.ts +3 -3
  18. package/dist/Form/grid/Element/utils/utils.d.ts +13 -13
  19. package/dist/Form/grid/StyledContainer/hooks/index.d.ts +20 -20
  20. package/dist/Form/grid/StyledContainer/hooks/useFixedContainer.d.ts +1 -1
  21. package/dist/Form/grid/StyledContainer/index.d.ts +21 -21
  22. package/dist/Form/grid/StyledContainer/styles.d.ts +5 -5
  23. package/dist/Form/grid/StyledContainer/transform.d.ts +4 -4
  24. package/dist/Form/grid/StyledContainer/utils.d.ts +44 -44
  25. package/dist/Form/grid/index.d.ts +2 -2
  26. package/dist/Form/hooks/useCheckButtonAction.d.ts +6 -6
  27. package/dist/Form/hooks/useTrackUserInteraction.d.ts +2 -2
  28. package/dist/Form/index.d.ts +52 -52
  29. package/dist/Form/index.d.ts.map +1 -1
  30. package/dist/Form/logic.d.ts +10 -10
  31. package/dist/Form/tests/testMocks.d.ts +6 -6
  32. package/dist/auth/LoginError.d.ts +3 -3
  33. package/dist/auth/LoginForm.d.ts +29 -29
  34. package/dist/auth/internal/AuthIntegrationInterface.d.ts +31 -31
  35. package/dist/auth/internal/useFormAuth.d.ts +10 -10
  36. package/dist/auth/internal/utils.d.ts +13 -13
  37. package/dist/auth/useAuthClient.d.ts +2 -2
  38. package/dist/auth/utils.d.ts +1 -1
  39. package/dist/elements/basic/ButtonElement.d.ts +2 -2
  40. package/dist/elements/basic/ImageElement.d.ts +3 -3
  41. package/dist/elements/basic/ProgressBarElement/components/SegmentBar.d.ts +2 -2
  42. package/dist/elements/basic/ProgressBarElement/components/SmoothBar.d.ts +2 -2
  43. package/dist/elements/basic/ProgressBarElement/index.d.ts +2 -2
  44. package/dist/elements/basic/TextElement.d.ts +2 -2
  45. package/dist/elements/basic/VideoElement.d.ts +2 -2
  46. package/dist/elements/components/ErrorInput.d.ts +2 -2
  47. package/dist/elements/components/FormControl.d.ts +10 -10
  48. package/dist/elements/components/FormOff.d.ts +10 -10
  49. package/dist/elements/components/InlineTooltip.d.ts +11 -11
  50. package/dist/elements/components/LoaderContainer.d.ts +10 -10
  51. package/dist/elements/components/Lottie.d.ts +2 -2
  52. package/dist/elements/components/Overlay.d.ts +15 -15
  53. package/dist/elements/components/Placeholder.d.ts +1 -1
  54. package/dist/elements/components/QuikFormViewer/transforms/form.d.ts +1 -1
  55. package/dist/elements/components/QuikFormViewer/transforms/header.d.ts +1 -1
  56. package/dist/elements/components/QuikFormViewer/transforms/sidebar.d.ts +6 -6
  57. package/dist/elements/components/QuikFormViewer.d.ts +9 -9
  58. package/dist/elements/components/Spinner.d.ts +4 -4
  59. package/dist/elements/components/TextHoverTooltip.d.ts +8 -8
  60. package/dist/elements/components/TextNodes.d.ts +4 -4
  61. package/dist/elements/components/Tooltip.d.ts +7 -7
  62. package/dist/elements/components/Watermark.d.ts +1 -1
  63. package/dist/elements/components/data/countries.d.ts +14 -14
  64. package/dist/elements/components/data/states/ae.d.ts +5 -5
  65. package/dist/elements/components/data/states/au.d.ts +5 -5
  66. package/dist/elements/components/data/states/br.d.ts +5 -5
  67. package/dist/elements/components/data/states/ca.d.ts +5 -5
  68. package/dist/elements/components/data/states/cl.d.ts +5 -5
  69. package/dist/elements/components/data/states/cn.d.ts +5 -5
  70. package/dist/elements/components/data/states/co.d.ts +5 -5
  71. package/dist/elements/components/data/states/eg.d.ts +5 -5
  72. package/dist/elements/components/data/states/es.d.ts +5 -5
  73. package/dist/elements/components/data/states/gb.d.ts +5 -5
  74. package/dist/elements/components/data/states/gt.d.ts +5 -5
  75. package/dist/elements/components/data/states/hk.d.ts +5 -5
  76. package/dist/elements/components/data/states/id.d.ts +5 -5
  77. package/dist/elements/components/data/states/ie.d.ts +5 -5
  78. package/dist/elements/components/data/states/in.d.ts +5 -5
  79. package/dist/elements/components/data/states/index.d.ts +6 -6
  80. package/dist/elements/components/data/states/it.d.ts +5 -5
  81. package/dist/elements/components/data/states/jp.d.ts +5 -5
  82. package/dist/elements/components/data/states/kr.d.ts +5 -5
  83. package/dist/elements/components/data/states/mx.d.ts +5 -5
  84. package/dist/elements/components/data/states/my.d.ts +5 -5
  85. package/dist/elements/components/data/states/ng.d.ts +5 -5
  86. package/dist/elements/components/data/states/nz.d.ts +5 -5
  87. package/dist/elements/components/data/states/pa.d.ts +5 -5
  88. package/dist/elements/components/data/states/pe.d.ts +5 -5
  89. package/dist/elements/components/data/states/ph.d.ts +5 -5
  90. package/dist/elements/components/data/states/pt.d.ts +5 -5
  91. package/dist/elements/components/data/states/ro.d.ts +5 -5
  92. package/dist/elements/components/data/states/ru.d.ts +5 -5
  93. package/dist/elements/components/data/states/th.d.ts +5 -5
  94. package/dist/elements/components/data/states/us.d.ts +9 -9
  95. package/dist/elements/components/data/states/za.d.ts +5 -5
  96. package/dist/elements/components/icons/Close.d.ts +6 -6
  97. package/dist/elements/components/icons/DiagonalArrow.d.ts +5 -5
  98. package/dist/elements/components/icons/DownloadIcon.d.ts +4 -4
  99. package/dist/elements/components/icons/FileUpload.d.ts +1 -1
  100. package/dist/elements/components/icons/FormClosed.d.ts +5 -5
  101. package/dist/elements/components/icons/Heart.d.ts +1 -1
  102. package/dist/elements/components/icons/Help.d.ts +4 -4
  103. package/dist/elements/components/icons/HideEyeIcon.d.ts +5 -5
  104. package/dist/elements/components/icons/LeftChevron.d.ts +1 -1
  105. package/dist/elements/components/icons/RatingStar.d.ts +1 -1
  106. package/dist/elements/components/icons/RightChevron.d.ts +1 -1
  107. package/dist/elements/components/icons/ShowEyeIcon.d.ts +5 -5
  108. package/dist/elements/components/icons/Warning.d.ts +5 -5
  109. package/dist/elements/components/icons/index.d.ts +11 -11
  110. package/dist/elements/components/skeletons/FieldSkeleton.d.ts +7 -7
  111. package/dist/elements/components/useBorder.d.ts +21 -21
  112. package/dist/elements/components/useTextEdit.d.ts +6 -5
  113. package/dist/elements/components/useTextEdit.d.ts.map +1 -1
  114. package/dist/elements/fields/AddressLine1Field/index.d.ts +4 -4
  115. package/dist/elements/fields/AddressLine1Field/tests/test-utils.d.ts +34 -34
  116. package/dist/elements/fields/AddressLine1Field/utils.d.ts +2 -2
  117. package/dist/elements/fields/ButtonGroupField/index.d.ts +2 -2
  118. package/dist/elements/fields/ButtonGroupField/tests/test-utils.d.ts +46 -46
  119. package/dist/elements/fields/CheckboxField/index.d.ts +5 -5
  120. package/dist/elements/fields/CheckboxField/tests/test-utils.d.ts +20 -20
  121. package/dist/elements/fields/CheckboxGroupField/index.d.ts +2 -2
  122. package/dist/elements/fields/CheckboxGroupField/tests/test-utils.d.ts +60 -60
  123. package/dist/elements/fields/ColorPickerField/index.d.ts +2 -2
  124. package/dist/elements/fields/ColorPickerField/tests/test-utils.d.ts +21 -21
  125. package/dist/elements/fields/CustomField/Status.d.ts +8 -8
  126. package/dist/elements/fields/CustomField/index.d.ts +3 -3
  127. package/dist/elements/fields/CustomField/template.d.ts +1 -1
  128. package/dist/elements/fields/CustomField/useCustomComponentIframe.d.ts +15 -15
  129. package/dist/elements/fields/DateSelectorField/index.d.ts +22 -22
  130. package/dist/elements/fields/DateSelectorField/index.d.ts.map +1 -1
  131. package/dist/elements/fields/DateSelectorField/styles.d.ts +4 -4
  132. package/dist/elements/fields/DateSelectorField/tests/test-utils.d.ts +74 -74
  133. package/dist/elements/fields/DateSelectorField/useDateLocale.d.ts +7 -7
  134. package/dist/elements/fields/DateSelectorField/utils.d.ts +3 -3
  135. package/dist/elements/fields/DropdownField/index.d.ts +1 -1
  136. package/dist/elements/fields/DropdownField/tests/test-utils.d.ts +28 -28
  137. package/dist/elements/fields/DropdownMultiField/DropdownMultiFieldSelectComponents.d.ts +8 -8
  138. package/dist/elements/fields/DropdownMultiField/createDropdownSelect.d.ts +190 -190
  139. package/dist/elements/fields/DropdownMultiField/index.d.ts +1 -1
  140. package/dist/elements/fields/DropdownMultiField/optionNormalization.d.ts +9 -9
  141. package/dist/elements/fields/DropdownMultiField/selectStyles.d.ts +12 -12
  142. package/dist/elements/fields/DropdownMultiField/tests/test-utils.d.ts +47 -47
  143. package/dist/elements/fields/DropdownMultiField/types.d.ts +49 -49
  144. package/dist/elements/fields/DropdownMultiField/useCollapsedSelectionManager.d.ts +46 -46
  145. package/dist/elements/fields/DropdownMultiField/useCollapsedValuesMeasurement.d.ts +19 -19
  146. package/dist/elements/fields/DropdownMultiField/useDropdownInteractions.d.ts +46 -46
  147. package/dist/elements/fields/DropdownMultiField/useDropdownOptions.d.ts +24 -24
  148. package/dist/elements/fields/DropdownMultiField/useSelectProps.d.ts +112 -112
  149. package/dist/elements/fields/FileUploadField/index.d.ts +2 -2
  150. package/dist/elements/fields/FileUploadField/tests/test-utils.d.ts +10 -10
  151. package/dist/elements/fields/MatrixField/index.d.ts +2 -2
  152. package/dist/elements/fields/MatrixField/tests/test-utils.d.ts +67 -67
  153. package/dist/elements/fields/PasswordField/index.d.ts +4 -4
  154. package/dist/elements/fields/PasswordField/tests/test-utils.d.ts +30 -30
  155. package/dist/elements/fields/PaymentMethodField.d.ts +4 -4
  156. package/dist/elements/fields/PhoneField/CountryDropdown.d.ts +3 -3
  157. package/dist/elements/fields/PhoneField/exampleNumbers.d.ts +2 -2
  158. package/dist/elements/fields/PhoneField/index.d.ts +4 -4
  159. package/dist/elements/fields/PhoneField/tests/test-utils.d.ts +86 -86
  160. package/dist/elements/fields/PhoneField/timeZoneCountries.d.ts +4 -4
  161. package/dist/elements/fields/PhoneField/validation.d.ts +3 -3
  162. package/dist/elements/fields/PinInputField/index.d.ts +2 -2
  163. package/dist/elements/fields/PinInputField/tests/test-utils.d.ts +79 -79
  164. package/dist/elements/fields/PinInputField/useOTPListener.d.ts +1 -1
  165. package/dist/elements/fields/QRScanner/constants.d.ts +14 -14
  166. package/dist/elements/fields/QRScanner/hooks/use-device-rotation.d.ts +11 -11
  167. package/dist/elements/fields/QRScanner/index.d.ts +2 -2
  168. package/dist/elements/fields/QRScanner/qrLoader.d.ts +2 -2
  169. package/dist/elements/fields/QRScanner/utils/local-storage.d.ts +5 -5
  170. package/dist/elements/fields/QRScanner/utils/select-camera.d.ts +9 -9
  171. package/dist/elements/fields/QRScanner/utils/supports-zoom.d.ts +8 -8
  172. package/dist/elements/fields/RadioButtonGroupField/index.d.ts +2 -2
  173. package/dist/elements/fields/RadioButtonGroupField/tests/test-utils.d.ts +55 -55
  174. package/dist/elements/fields/RatingField/index.d.ts +1 -1
  175. package/dist/elements/fields/RatingField/tests/test-utils.d.ts +22 -22
  176. package/dist/elements/fields/SignatureField/components/SignatureCanvas.d.ts +22 -22
  177. package/dist/elements/fields/SignatureField/components/SignatureModal.d.ts +12 -12
  178. package/dist/elements/fields/SignatureField/components/utils.d.ts +10 -10
  179. package/dist/elements/fields/SignatureField/index.d.ts +3 -3
  180. package/dist/elements/fields/SignatureField/translation.d.ts +17 -17
  181. package/dist/elements/fields/SliderField/index.d.ts +1 -1
  182. package/dist/elements/fields/SliderField/styles.d.ts +3 -3
  183. package/dist/elements/fields/SliderField/tests/test-utils.d.ts +22 -22
  184. package/dist/elements/fields/TextArea/index.d.ts +4 -4
  185. package/dist/elements/fields/TextArea/tests/test-utils.d.ts +10 -10
  186. package/dist/elements/fields/TextField/TextAutocomplete.d.ts +15 -15
  187. package/dist/elements/fields/TextField/index.d.ts +4 -4
  188. package/dist/elements/fields/TextField/index.d.ts.map +1 -1
  189. package/dist/elements/fields/TextField/tests/test-utils.d.ts +10 -10
  190. package/dist/elements/fields/index.d.ts +27 -26
  191. package/dist/elements/fields/index.d.ts.map +1 -1
  192. package/dist/elements/fields/shared/tests/field-test-utils.d.ts +51 -51
  193. package/dist/elements/index.d.ts +36 -36
  194. package/dist/elements/styles.d.ts +64 -64
  195. package/dist/elements/utils/fieldNormalization.d.ts +12 -12
  196. package/dist/fthry_FormControl.CPHJNRoq.js +16 -0
  197. package/dist/fthry_InlineTooltip.AGcWhuhV.js +53 -0
  198. package/dist/fthry_Overlay.X0blINpo.js +228 -0
  199. package/dist/fthry_PaymentMethodField.DrAgJBPV.js +928 -0
  200. package/dist/fthry_Placeholder.DLtEoCLC.js +14 -0
  201. package/dist/fthry_ShowEyeIcon.CkEvtp1W.js +13 -0
  202. package/dist/fthry_index.BFrZ_89I.js +251 -0
  203. package/dist/fthry_index.BVM6mIvX.js +73 -0
  204. package/dist/fthry_index.B_soCJRW.js +1193 -0
  205. package/dist/fthry_index.BrWMLV_p.js +35 -0
  206. package/dist/fthry_index.CFbW8L20.js +42 -0
  207. package/dist/fthry_index.CWt9W3bv.js +95 -0
  208. package/dist/fthry_index.Cfk_0HTE.js +2000 -0
  209. package/dist/fthry_index.CjUraQwq.js +888 -0
  210. package/dist/fthry_index.D99W7p5a.js +293 -0
  211. package/dist/fthry_index.DAGDZi5r.js +97 -0
  212. package/dist/fthry_index.DV1PqB3d.js +138 -0
  213. package/dist/fthry_index.DWyfWu2d.js +216 -0
  214. package/dist/fthry_index.DaFYDmA_.js +15921 -0
  215. package/dist/fthry_index.DghPMqyH.js +8166 -0
  216. package/dist/fthry_index.DodXvrXD.js +98 -0
  217. package/dist/fthry_index.DohTu1v2.js +46 -0
  218. package/dist/fthry_index.F6BXSHA5.js +61120 -0
  219. package/dist/fthry_index.KRksei8j.js +513 -0
  220. package/dist/fthry_index.dYsdCe_k.js +1427 -0
  221. package/dist/fthry_index.lC0Xyh-d.js +1162 -0
  222. package/dist/fthry_index.mE9gZkgT.js +55 -0
  223. package/dist/fthry_index.rtVAtURz.js +1452 -0
  224. package/dist/fthry_index.uvWVc7KJ.js +131 -0
  225. package/dist/fthry_input.Bfzc5hmV.js +3779 -0
  226. package/dist/fthry_script.cAr9Z1Ke.js +157 -0
  227. package/dist/fthry_styles.yVoSvBEy.js +1654 -0
  228. package/dist/fthry_useElementSize.D3n9DgQ-.js +51 -0
  229. package/dist/fthry_useSalesforceSync.prWuB8V7.js +44 -0
  230. package/dist/fthry_webfontloader.DyMoLGZ3.js +57 -0
  231. package/dist/hooks/router.d.ts +14 -14
  232. package/dist/hooks/useElementSize.d.ts +7 -7
  233. package/dist/hooks/useLoader.d.ts +35 -35
  234. package/dist/hooks/useMounted.d.ts +2 -2
  235. package/dist/hooks/usePollFuserData.d.ts +1 -1
  236. package/dist/hooks/usePrevious.d.ts +2 -2
  237. package/dist/hooks/useSalesforceSync.d.ts +10 -10
  238. package/dist/index.d.ts +150 -149
  239. package/dist/index.d.ts.map +1 -1
  240. package/dist/index.js +9 -1
  241. package/dist/integrations/alloy.d.ts +2 -2
  242. package/dist/integrations/amplitude.d.ts +1 -1
  243. package/dist/integrations/argyle.d.ts +2 -2
  244. package/dist/integrations/calendly.d.ts +2 -2
  245. package/dist/integrations/firebase.d.ts +42 -42
  246. package/dist/integrations/flinks/index.d.ts +10 -10
  247. package/dist/integrations/flinks/utils.d.ts +12 -12
  248. package/dist/integrations/googleAnalytics.d.ts +3 -3
  249. package/dist/integrations/googleTagManager.d.ts +1 -1
  250. package/dist/integrations/heap.d.ts +2 -2
  251. package/dist/integrations/intercom.d.ts +2 -2
  252. package/dist/integrations/mixpanel.d.ts +2 -2
  253. package/dist/integrations/persona.d.ts +2 -2
  254. package/dist/integrations/plaid.d.ts +2 -2
  255. package/dist/integrations/recaptcha.d.ts +2 -2
  256. package/dist/integrations/rudderstack.d.ts +3 -3
  257. package/dist/integrations/schwab.d.ts +1 -1
  258. package/dist/integrations/segment.d.ts +1 -1
  259. package/dist/integrations/stripe/Cart.d.ts +19 -19
  260. package/dist/integrations/stripe/SimplifiedProduct.d.ts +39 -39
  261. package/dist/integrations/stripe/index.d.ts +1 -1
  262. package/dist/integrations/stripe/stripe.d.ts +97 -97
  263. package/dist/integrations/stytch.d.ts +19 -19
  264. package/dist/integrations/trustedform.d.ts +2 -2
  265. package/dist/integrations/utils.d.ts +14 -14
  266. package/dist/setupTests.d.ts +1 -1
  267. package/dist/types/Form.d.ts +80 -80
  268. package/dist/utils/DangerouslySetHTMLContent.d.ts +2 -2
  269. package/dist/utils/ShadowDomHtmlContent.d.ts +8 -8
  270. package/dist/utils/array.d.ts +11 -11
  271. package/dist/utils/browser.d.ts +23 -23
  272. package/dist/utils/callbackQueue.d.ts +10 -10
  273. package/dist/utils/document.d.ts +1 -1
  274. package/dist/utils/elementActions.d.ts +55 -55
  275. package/dist/utils/entities/Collaborator.d.ts +14 -14
  276. package/dist/utils/entities/Field.d.ts +129 -129
  277. package/dist/utils/error.d.ts +13 -13
  278. package/dist/utils/featheryClient/index.d.ts +103 -103
  279. package/dist/utils/featheryClient/integrationClient.d.ts +114 -114
  280. package/dist/utils/featheryClient/utils.d.ts +1 -1
  281. package/dist/utils/fieldHelperFunctions.d.ts +70 -70
  282. package/dist/utils/formContext.d.ts +104 -104
  283. package/dist/utils/formHelperFunctions.d.ts +44 -44
  284. package/dist/utils/hideAndRepeats.d.ts +27 -27
  285. package/dist/utils/hydration.d.ts +14 -14
  286. package/dist/utils/image.d.ts +39 -39
  287. package/dist/utils/init.d.ts +59 -59
  288. package/dist/utils/init.d.ts.map +1 -1
  289. package/dist/utils/interactionState.d.ts +4 -4
  290. package/dist/utils/internalState.d.ts +91 -91
  291. package/dist/utils/logic.d.ts +50 -50
  292. package/dist/utils/offlineRequestHandler.d.ts +94 -94
  293. package/dist/utils/polyfills.d.ts +2 -2
  294. package/dist/utils/primitives.d.ts +14 -14
  295. package/dist/utils/random.d.ts +1 -1
  296. package/dist/utils/repeat.d.ts +38 -38
  297. package/dist/utils/sensitiveActions.d.ts +7 -7
  298. package/dist/utils/stepHelperFunctions.d.ts +22 -22
  299. package/dist/utils/styles.d.ts +5 -5
  300. package/dist/utils/validation.d.ts +58 -58
  301. package/package.json +18 -5
  302. package/umd/466.e3456c8b3407ad04ba56.js +1 -0
  303. package/umd/{DateSelectorField.b98c0ecb80f56e65cc69.js → DateSelectorField.bd5646949de71f571d04.js} +1 -1
  304. package/umd/{TextField.a3d8d42f6f8236d00f83.js → TextField.5a5296fe3ea60c4459f2.js} +1 -1
  305. package/umd/index.js +1 -1
  306. package/dist/Form/components/AIExtractionToast/ExtractionItem.d.ts.map +0 -1
  307. package/dist/Form/components/AIExtractionToast/icons.d.ts.map +0 -1
  308. package/dist/Form/components/AIExtractionToast/index.d.ts +0 -9
  309. package/dist/Form/components/AIExtractionToast/index.d.ts.map +0 -1
  310. package/dist/Form/components/AIExtractionToast/useAIExtractionToast.d.ts.map +0 -1
  311. package/umd/796.e66d52ea21ef09c4eeaa.js +0 -1
@@ -0,0 +1,2000 @@
1
+ import { t as __rest, _ as __read, w as countryData, ae as authState, af as firebaseSMSCountries, j as jsxs, b as jsx, a as __assign, m as Fragment, D as DROPDOWN_Z_INDEX, u as useBorder, ag as phoneLibPromise, h as hoverStylesGuard, ah as isNum, i as iosScrollOnFocus, r as resetStyles } from './fthry_index.F6BXSHA5.js';
2
+ import { forwardRef, useRef, useState, useEffect, useMemo, memo } from 'react';
3
+ import { P as Placeholder } from './fthry_Placeholder.DLtEoCLC.js';
4
+ import { I as InlineTooltip } from './fthry_InlineTooltip.AGcWhuhV.js';
5
+ import { O as Overlay } from './fthry_Overlay.X0blINpo.js';
6
+ import { u as useElementSize } from './fthry_useElementSize.D3n9DgQ-.js';
7
+ import 'react/jsx-runtime';
8
+ import 'react-dom/client';
9
+ import 'stream';
10
+ import 'events';
11
+ import 'buffer';
12
+ import 'util';
13
+ import 'react-dom';
14
+
15
+ var timeZoneCountries = {
16
+ 'Africa/Abidjan': {
17
+ c: ['CI', 'BF', 'GH', 'GM', 'GN', 'ML', 'MR', 'SH', 'SL', 'SN', 'TG']
18
+ },
19
+ 'Africa/Accra': {
20
+ c: ['GH']
21
+ },
22
+ 'Africa/Addis_Ababa': {
23
+ c: ['ET']
24
+ },
25
+ 'Africa/Algiers': {
26
+ c: ['DZ']
27
+ },
28
+ 'Africa/Asmara': {
29
+ c: ['ER']
30
+ },
31
+ 'Africa/Asmera': {
32
+ c: ['ER']
33
+ },
34
+ 'Africa/Bamako': {
35
+ c: ['ML']
36
+ },
37
+ 'Africa/Bangui': {
38
+ c: ['CF']
39
+ },
40
+ 'Africa/Banjul': {
41
+ c: ['GM']
42
+ },
43
+ 'Africa/Bissau': {
44
+ c: ['GW']
45
+ },
46
+ 'Africa/Blantyre': {
47
+ c: ['MW']
48
+ },
49
+ 'Africa/Brazzaville': {
50
+ c: ['CG']
51
+ },
52
+ 'Africa/Bujumbura': {
53
+ c: ['BI']
54
+ },
55
+ 'Africa/Cairo': {
56
+ c: ['EG']
57
+ },
58
+ 'Africa/Casablanca': {
59
+ c: ['MA']
60
+ },
61
+ 'Africa/Ceuta': {
62
+ c: ['ES']
63
+ },
64
+ 'Africa/Conakry': {
65
+ c: ['GN']
66
+ },
67
+ 'Africa/Dakar': {
68
+ c: ['SN']
69
+ },
70
+ 'Africa/Dar_es_Salaam': {
71
+ c: ['TZ']
72
+ },
73
+ 'Africa/Djibouti': {
74
+ c: ['DJ']
75
+ },
76
+ 'Africa/Douala': {
77
+ c: ['CM']
78
+ },
79
+ 'Africa/El_Aaiun': {
80
+ c: ['EH']
81
+ },
82
+ 'Africa/Freetown': {
83
+ c: ['SL']
84
+ },
85
+ 'Africa/Gaborone': {
86
+ c: ['BW']
87
+ },
88
+ 'Africa/Harare': {
89
+ c: ['ZW']
90
+ },
91
+ 'Africa/Johannesburg': {
92
+ c: ['ZA', 'LS', 'SZ']
93
+ },
94
+ 'Africa/Juba': {
95
+ c: ['SS']
96
+ },
97
+ 'Africa/Kampala': {
98
+ c: ['UG']
99
+ },
100
+ 'Africa/Khartoum': {
101
+ c: ['SD']
102
+ },
103
+ 'Africa/Kigali': {
104
+ c: ['RW']
105
+ },
106
+ 'Africa/Kinshasa': {
107
+ c: ['CD']
108
+ },
109
+ 'Africa/Lagos': {
110
+ c: ['NG', 'AO', 'BJ', 'CD', 'CF', 'CG', 'CM', 'GA', 'GQ', 'NE']
111
+ },
112
+ 'Africa/Libreville': {
113
+ c: ['GA']
114
+ },
115
+ 'Africa/Lome': {
116
+ c: ['TG']
117
+ },
118
+ 'Africa/Luanda': {
119
+ c: ['AO']
120
+ },
121
+ 'Africa/Lubumbashi': {
122
+ c: ['CD']
123
+ },
124
+ 'Africa/Lusaka': {
125
+ c: ['ZM']
126
+ },
127
+ 'Africa/Malabo': {
128
+ c: ['GQ']
129
+ },
130
+ 'Africa/Maputo': {
131
+ c: ['MZ', 'BI', 'BW', 'CD', 'MW', 'RW', 'ZM', 'ZW']
132
+ },
133
+ 'Africa/Maseru': {
134
+ c: ['LS']
135
+ },
136
+ 'Africa/Mbabane': {
137
+ c: ['SZ']
138
+ },
139
+ 'Africa/Mogadishu': {
140
+ c: ['SO']
141
+ },
142
+ 'Africa/Monrovia': {
143
+ c: ['LR']
144
+ },
145
+ 'Africa/Nairobi': {
146
+ c: ['KE', 'DJ', 'ER', 'ET', 'KM', 'MG', 'SO', 'TZ', 'UG', 'YT']
147
+ },
148
+ 'Africa/Ndjamena': {
149
+ c: ['TD']
150
+ },
151
+ 'Africa/Niamey': {
152
+ c: ['NE']
153
+ },
154
+ 'Africa/Nouakchott': {
155
+ c: ['MR']
156
+ },
157
+ 'Africa/Ouagadougou': {
158
+ c: ['BF']
159
+ },
160
+ 'Africa/Porto-Novo': {
161
+ c: ['BJ']
162
+ },
163
+ 'Africa/Sao_Tome': {
164
+ c: ['ST']
165
+ },
166
+ 'Africa/Timbuktu': {
167
+ c: ['ML']
168
+ },
169
+ 'Africa/Tripoli': {
170
+ c: ['LY']
171
+ },
172
+ 'Africa/Tunis': {
173
+ c: ['TN']
174
+ },
175
+ 'Africa/Windhoek': {
176
+ c: ['NA']
177
+ },
178
+ 'America/Adak': {
179
+ c: ['US']
180
+ },
181
+ 'America/Anchorage': {
182
+ c: ['US']
183
+ },
184
+ 'America/Anguilla': {
185
+ c: ['AI']
186
+ },
187
+ 'America/Antigua': {
188
+ c: ['AG']
189
+ },
190
+ 'America/Araguaina': {
191
+ c: ['BR']
192
+ },
193
+ 'America/Argentina/Buenos_Aires': {
194
+ c: ['AR']
195
+ },
196
+ 'America/Argentina/Catamarca': {
197
+ c: ['AR']
198
+ },
199
+ 'America/Argentina/Cordoba': {
200
+ c: ['AR']
201
+ },
202
+ 'America/Argentina/Jujuy': {
203
+ c: ['AR']
204
+ },
205
+ 'America/Argentina/La_Rioja': {
206
+ c: ['AR']
207
+ },
208
+ 'America/Argentina/Mendoza': {
209
+ c: ['AR']
210
+ },
211
+ 'America/Argentina/Rio_Gallegos': {
212
+ c: ['AR']
213
+ },
214
+ 'America/Argentina/Salta': {
215
+ c: ['AR']
216
+ },
217
+ 'America/Argentina/San_Juan': {
218
+ c: ['AR']
219
+ },
220
+ 'America/Argentina/San_Luis': {
221
+ c: ['AR']
222
+ },
223
+ 'America/Argentina/Tucuman': {
224
+ c: ['AR']
225
+ },
226
+ 'America/Argentina/Ushuaia': {
227
+ c: ['AR']
228
+ },
229
+ 'America/Aruba': {
230
+ c: ['AW']
231
+ },
232
+ 'America/Asuncion': {
233
+ c: ['PY']
234
+ },
235
+ 'America/Atikokan': {
236
+ c: ['CA']
237
+ },
238
+ 'America/Bahia': {
239
+ c: ['BR']
240
+ },
241
+ 'America/Bahia_Banderas': {
242
+ c: ['MX']
243
+ },
244
+ 'America/Barbados': {
245
+ c: ['BB']
246
+ },
247
+ 'America/Belem': {
248
+ c: ['BR']
249
+ },
250
+ 'America/Belize': {
251
+ c: ['BZ']
252
+ },
253
+ 'America/Blanc-Sablon': {
254
+ c: ['CA']
255
+ },
256
+ 'America/Boa_Vista': {
257
+ c: ['BR']
258
+ },
259
+ 'America/Bogota': {
260
+ c: ['CO']
261
+ },
262
+ 'America/Boise': {
263
+ c: ['US']
264
+ },
265
+ 'America/Cambridge_Bay': {
266
+ c: ['CA']
267
+ },
268
+ 'America/Campo_Grande': {
269
+ c: ['BR']
270
+ },
271
+ 'America/Cancun': {
272
+ c: ['MX']
273
+ },
274
+ 'America/Caracas': {
275
+ c: ['VE']
276
+ },
277
+ 'America/Cayenne': {
278
+ c: ['GF']
279
+ },
280
+ 'America/Cayman': {
281
+ c: ['KY']
282
+ },
283
+ 'America/Chicago': {
284
+ c: ['US']
285
+ },
286
+ 'America/Chihuahua': {
287
+ c: ['MX']
288
+ },
289
+ 'America/Coral_Harbour': {
290
+ c: ['CA']
291
+ },
292
+ 'America/Costa_Rica': {
293
+ c: ['CR']
294
+ },
295
+ 'America/Creston': {
296
+ c: ['CA']
297
+ },
298
+ 'America/Cuiaba': {
299
+ c: ['BR']
300
+ },
301
+ 'America/Curacao': {
302
+ c: ['CW']
303
+ },
304
+ 'America/Danmarkshavn': {
305
+ c: ['GL']
306
+ },
307
+ 'America/Dawson': {
308
+ c: ['CA']
309
+ },
310
+ 'America/Dawson_Creek': {
311
+ c: ['CA']
312
+ },
313
+ 'America/Denver': {
314
+ c: ['US']
315
+ },
316
+ 'America/Detroit': {
317
+ c: ['US']
318
+ },
319
+ 'America/Dominica': {
320
+ c: ['DM']
321
+ },
322
+ 'America/Edmonton': {
323
+ c: ['CA']
324
+ },
325
+ 'America/Eirunepe': {
326
+ c: ['BR']
327
+ },
328
+ 'America/El_Salvador': {
329
+ c: ['SV']
330
+ },
331
+ 'America/Fort_Nelson': {
332
+ c: ['CA']
333
+ },
334
+ 'America/Fortaleza': {
335
+ c: ['BR']
336
+ },
337
+ 'America/Glace_Bay': {
338
+ c: ['CA']
339
+ },
340
+ 'America/Goose_Bay': {
341
+ c: ['CA']
342
+ },
343
+ 'America/Grand_Turk': {
344
+ c: ['TC']
345
+ },
346
+ 'America/Grenada': {
347
+ c: ['GD']
348
+ },
349
+ 'America/Guadeloupe': {
350
+ c: ['GP']
351
+ },
352
+ 'America/Guatemala': {
353
+ c: ['GT']
354
+ },
355
+ 'America/Guayaquil': {
356
+ c: ['EC']
357
+ },
358
+ 'America/Guyana': {
359
+ c: ['GY']
360
+ },
361
+ 'America/Halifax': {
362
+ c: ['CA']
363
+ },
364
+ 'America/Havana': {
365
+ c: ['CU']
366
+ },
367
+ 'America/Hermosillo': {
368
+ c: ['MX']
369
+ },
370
+ 'America/Indiana/Indianapolis': {
371
+ c: ['US']
372
+ },
373
+ 'America/Indiana/Knox': {
374
+ c: ['US']
375
+ },
376
+ 'America/Indiana/Marengo': {
377
+ c: ['US']
378
+ },
379
+ 'America/Indiana/Petersburg': {
380
+ c: ['US']
381
+ },
382
+ 'America/Indiana/Tell_City': {
383
+ c: ['US']
384
+ },
385
+ 'America/Indiana/Vevay': {
386
+ c: ['US']
387
+ },
388
+ 'America/Indiana/Vincennes': {
389
+ c: ['US']
390
+ },
391
+ 'America/Indiana/Winamac': {
392
+ c: ['US']
393
+ },
394
+ 'America/Inuvik': {
395
+ c: ['CA']
396
+ },
397
+ 'America/Iqaluit': {
398
+ c: ['CA']
399
+ },
400
+ 'America/Jamaica': {
401
+ c: ['JM']
402
+ },
403
+ 'America/Juneau': {
404
+ c: ['US']
405
+ },
406
+ 'America/Kentucky/Louisville': {
407
+ c: ['US']
408
+ },
409
+ 'America/Kentucky/Monticello': {
410
+ c: ['US']
411
+ },
412
+ 'America/Kralendijk': {
413
+ c: ['BQ']
414
+ },
415
+ 'America/La_Paz': {
416
+ c: ['BO']
417
+ },
418
+ 'America/Lima': {
419
+ c: ['PE']
420
+ },
421
+ 'America/Los_Angeles': {
422
+ c: ['US']
423
+ },
424
+ 'America/Lower_Princes': {
425
+ c: ['SX']
426
+ },
427
+ 'America/Maceio': {
428
+ c: ['BR']
429
+ },
430
+ 'America/Managua': {
431
+ c: ['NI']
432
+ },
433
+ 'America/Manaus': {
434
+ c: ['BR']
435
+ },
436
+ 'America/Marigot': {
437
+ c: ['MF']
438
+ },
439
+ 'America/Martinique': {
440
+ c: ['MQ']
441
+ },
442
+ 'America/Matamoros': {
443
+ c: ['MX']
444
+ },
445
+ 'America/Mazatlan': {
446
+ c: ['MX']
447
+ },
448
+ 'America/Menominee': {
449
+ c: ['US']
450
+ },
451
+ 'America/Merida': {
452
+ c: ['MX']
453
+ },
454
+ 'America/Metlakatla': {
455
+ c: ['US']
456
+ },
457
+ 'America/Mexico_City': {
458
+ c: ['MX']
459
+ },
460
+ 'America/Miquelon': {
461
+ c: ['PM']
462
+ },
463
+ 'America/Moncton': {
464
+ c: ['CA']
465
+ },
466
+ 'America/Monterrey': {
467
+ c: ['MX']
468
+ },
469
+ 'America/Montevideo': {
470
+ c: ['UY']
471
+ },
472
+ 'America/Montreal': {
473
+ c: ['CA']
474
+ },
475
+ 'America/Montserrat': {
476
+ c: ['MS']
477
+ },
478
+ 'America/Nassau': {
479
+ c: ['BS']
480
+ },
481
+ 'America/New_York': {
482
+ c: ['US']
483
+ },
484
+ 'America/Nipigon': {
485
+ c: ['CA']
486
+ },
487
+ 'America/Nome': {
488
+ c: ['US']
489
+ },
490
+ 'America/Noronha': {
491
+ c: ['BR']
492
+ },
493
+ 'America/North_Dakota/Beulah': {
494
+ c: ['US']
495
+ },
496
+ 'America/North_Dakota/Center': {
497
+ c: ['US']
498
+ },
499
+ 'America/North_Dakota/New_Salem': {
500
+ c: ['US']
501
+ },
502
+ 'America/Nuuk': {
503
+ c: ['GL']
504
+ },
505
+ 'America/Ojinaga': {
506
+ c: ['MX']
507
+ },
508
+ 'America/Panama': {
509
+ c: ['PA', 'CA', 'KY']
510
+ },
511
+ 'America/Pangnirtung': {
512
+ c: ['CA']
513
+ },
514
+ 'America/Paramaribo': {
515
+ c: ['SR']
516
+ },
517
+ 'America/Phoenix': {
518
+ c: ['US', 'CA']
519
+ },
520
+ 'America/Port-au-Prince': {
521
+ c: ['HT']
522
+ },
523
+ 'America/Port_of_Spain': {
524
+ c: ['TT']
525
+ },
526
+ 'America/Porto_Velho': {
527
+ c: ['BR']
528
+ },
529
+ 'America/Puerto_Rico': {
530
+ c: [
531
+ 'PR',
532
+ 'AG',
533
+ 'CA',
534
+ 'AI',
535
+ 'AW',
536
+ 'BL',
537
+ 'BQ',
538
+ 'CW',
539
+ 'DM',
540
+ 'GD',
541
+ 'GP',
542
+ 'KN',
543
+ 'LC',
544
+ 'MF',
545
+ 'MS',
546
+ 'SX',
547
+ 'TT',
548
+ 'VC',
549
+ 'VG',
550
+ 'VI'
551
+ ]
552
+ },
553
+ 'America/Punta_Arenas': {
554
+ c: ['CL']
555
+ },
556
+ 'America/Rainy_River': {
557
+ c: ['CA']
558
+ },
559
+ 'America/Rankin_Inlet': {
560
+ c: ['CA']
561
+ },
562
+ 'America/Recife': {
563
+ c: ['BR']
564
+ },
565
+ 'America/Regina': {
566
+ c: ['CA']
567
+ },
568
+ 'America/Resolute': {
569
+ c: ['CA']
570
+ },
571
+ 'America/Rio_Branco': {
572
+ c: ['BR']
573
+ },
574
+ 'America/Santarem': {
575
+ c: ['BR']
576
+ },
577
+ 'America/Santiago': {
578
+ c: ['CL']
579
+ },
580
+ 'America/Santo_Domingo': {
581
+ c: ['DO']
582
+ },
583
+ 'America/Sao_Paulo': {
584
+ c: ['BR']
585
+ },
586
+ 'America/Scoresbysund': {
587
+ c: ['GL']
588
+ },
589
+ 'America/Sitka': {
590
+ c: ['US']
591
+ },
592
+ 'America/St_Barthelemy': {
593
+ c: ['BL']
594
+ },
595
+ 'America/St_Johns': {
596
+ c: ['CA']
597
+ },
598
+ 'America/St_Kitts': {
599
+ c: ['KN']
600
+ },
601
+ 'America/St_Lucia': {
602
+ c: ['LC']
603
+ },
604
+ 'America/St_Thomas': {
605
+ c: ['VI']
606
+ },
607
+ 'America/St_Vincent': {
608
+ c: ['VC']
609
+ },
610
+ 'America/Swift_Current': {
611
+ c: ['CA']
612
+ },
613
+ 'America/Tegucigalpa': {
614
+ c: ['HN']
615
+ },
616
+ 'America/Thule': {
617
+ c: ['GL']
618
+ },
619
+ 'America/Thunder_Bay': {
620
+ c: ['CA']
621
+ },
622
+ 'America/Tijuana': {
623
+ c: ['MX']
624
+ },
625
+ 'America/Toronto': {
626
+ c: ['CA', 'BS']
627
+ },
628
+ 'America/Tortola': {
629
+ c: ['VG']
630
+ },
631
+ 'America/Vancouver': {
632
+ c: ['CA']
633
+ },
634
+ 'America/Virgin': {
635
+ c: ['VI']
636
+ },
637
+ 'America/Whitehorse': {
638
+ c: ['CA']
639
+ },
640
+ 'America/Winnipeg': {
641
+ c: ['CA']
642
+ },
643
+ 'America/Yakutat': {
644
+ c: ['US']
645
+ },
646
+ 'America/Yellowknife': {
647
+ c: ['CA']
648
+ },
649
+ 'Antarctica/Casey': {
650
+ c: ['AQ']
651
+ },
652
+ 'Antarctica/Davis': {
653
+ c: ['AQ']
654
+ },
655
+ 'Antarctica/DumontDUrville': {
656
+ c: ['AQ']
657
+ },
658
+ 'Antarctica/Macquarie': {
659
+ c: ['AU']
660
+ },
661
+ 'Antarctica/Mawson': {
662
+ c: ['AQ']
663
+ },
664
+ 'Antarctica/McMurdo': {
665
+ c: ['AQ']
666
+ },
667
+ 'Antarctica/Palmer': {
668
+ c: ['AQ']
669
+ },
670
+ 'Antarctica/Rothera': {
671
+ c: ['AQ']
672
+ },
673
+ 'Antarctica/South_Pole': {
674
+ c: ['AQ']
675
+ },
676
+ 'Antarctica/Syowa': {
677
+ c: ['AQ']
678
+ },
679
+ 'Antarctica/Troll': {
680
+ c: ['AQ']
681
+ },
682
+ 'Antarctica/Vostok': {
683
+ c: ['AQ']
684
+ },
685
+ 'Arctic/Longyearbyen': {
686
+ c: ['SJ']
687
+ },
688
+ 'Asia/Aden': {
689
+ c: ['YE']
690
+ },
691
+ 'Asia/Almaty': {
692
+ c: ['KZ']
693
+ },
694
+ 'Asia/Amman': {
695
+ c: ['JO']
696
+ },
697
+ 'Asia/Anadyr': {
698
+ c: ['RU']
699
+ },
700
+ 'Asia/Aqtau': {
701
+ c: ['KZ']
702
+ },
703
+ 'Asia/Aqtobe': {
704
+ c: ['KZ']
705
+ },
706
+ 'Asia/Ashgabat': {
707
+ c: ['TM']
708
+ },
709
+ 'Asia/Atyrau': {
710
+ c: ['KZ']
711
+ },
712
+ 'Asia/Baghdad': {
713
+ c: ['IQ']
714
+ },
715
+ 'Asia/Bahrain': {
716
+ c: ['BH']
717
+ },
718
+ 'Asia/Baku': {
719
+ c: ['AZ']
720
+ },
721
+ 'Asia/Bangkok': {
722
+ c: ['TH', 'KH', 'LA', 'VN']
723
+ },
724
+ 'Asia/Barnaul': {
725
+ c: ['RU']
726
+ },
727
+ 'Asia/Beirut': {
728
+ c: ['LB']
729
+ },
730
+ 'Asia/Bishkek': {
731
+ c: ['KG']
732
+ },
733
+ 'Asia/Brunei': {
734
+ c: ['BN']
735
+ },
736
+ 'Asia/Calcutta': {
737
+ c: ['IN']
738
+ },
739
+ 'Asia/Chita': {
740
+ c: ['RU']
741
+ },
742
+ 'Asia/Choibalsan': {
743
+ c: ['MN']
744
+ },
745
+ 'Asia/Colombo': {
746
+ c: ['LK']
747
+ },
748
+ 'Asia/Damascus': {
749
+ c: ['SY']
750
+ },
751
+ 'Asia/Dhaka': {
752
+ c: ['BD']
753
+ },
754
+ 'Asia/Dili': {
755
+ c: ['TL']
756
+ },
757
+ 'Asia/Dubai': {
758
+ c: ['AE', 'OM']
759
+ },
760
+ 'Asia/Dushanbe': {
761
+ c: ['TJ']
762
+ },
763
+ 'Asia/Famagusta': {
764
+ c: ['CY']
765
+ },
766
+ 'Asia/Gaza': {
767
+ c: ['PS']
768
+ },
769
+ 'Asia/Hebron': {
770
+ c: ['PS']
771
+ },
772
+ 'Asia/Ho_Chi_Minh': {
773
+ c: ['VN']
774
+ },
775
+ 'Asia/Hong_Kong': {
776
+ c: ['HK']
777
+ },
778
+ 'Asia/Hovd': {
779
+ c: ['MN']
780
+ },
781
+ 'Asia/Irkutsk': {
782
+ c: ['RU']
783
+ },
784
+ 'Asia/Jakarta': {
785
+ c: ['ID']
786
+ },
787
+ 'Asia/Jayapura': {
788
+ c: ['ID']
789
+ },
790
+ 'Asia/Jerusalem': {
791
+ c: ['IL']
792
+ },
793
+ 'Asia/Kabul': {
794
+ c: ['AF']
795
+ },
796
+ 'Asia/Kamchatka': {
797
+ c: ['RU']
798
+ },
799
+ 'Asia/Karachi': {
800
+ c: ['PK']
801
+ },
802
+ 'Asia/Kathmandu': {
803
+ c: ['NP']
804
+ },
805
+ 'Asia/Khandyga': {
806
+ c: ['RU']
807
+ },
808
+ 'Asia/Kolkata': {
809
+ c: ['IN']
810
+ },
811
+ 'Asia/Krasnoyarsk': {
812
+ c: ['RU']
813
+ },
814
+ 'Asia/Kuala_Lumpur': {
815
+ c: ['MY']
816
+ },
817
+ 'Asia/Kuching': {
818
+ c: ['MY']
819
+ },
820
+ 'Asia/Kuwait': {
821
+ c: ['KW']
822
+ },
823
+ 'Asia/Macau': {
824
+ c: ['MO']
825
+ },
826
+ 'Asia/Magadan': {
827
+ c: ['RU']
828
+ },
829
+ 'Asia/Makassar': {
830
+ c: ['ID']
831
+ },
832
+ 'Asia/Manila': {
833
+ c: ['PH']
834
+ },
835
+ 'Asia/Muscat': {
836
+ c: ['OM']
837
+ },
838
+ 'Asia/Nicosia': {
839
+ c: ['CY']
840
+ },
841
+ 'Asia/Novokuznetsk': {
842
+ c: ['RU']
843
+ },
844
+ 'Asia/Novosibirsk': {
845
+ c: ['RU']
846
+ },
847
+ 'Asia/Omsk': {
848
+ c: ['RU']
849
+ },
850
+ 'Asia/Oral': {
851
+ c: ['KZ']
852
+ },
853
+ 'Asia/Phnom_Penh': {
854
+ c: ['KH']
855
+ },
856
+ 'Asia/Pontianak': {
857
+ c: ['ID']
858
+ },
859
+ 'Asia/Pyongyang': {
860
+ c: ['KP']
861
+ },
862
+ 'Asia/Qatar': {
863
+ c: ['QA', 'BH']
864
+ },
865
+ 'Asia/Qostanay': {
866
+ c: ['KZ']
867
+ },
868
+ 'Asia/Qyzylorda': {
869
+ c: ['KZ']
870
+ },
871
+ 'Asia/Riyadh': {
872
+ c: ['SA', 'AQ', 'KW', 'YE']
873
+ },
874
+ 'Asia/Sakhalin': {
875
+ c: ['RU']
876
+ },
877
+ 'Asia/Samarkand': {
878
+ c: ['UZ']
879
+ },
880
+ 'Asia/Seoul': {
881
+ c: ['KR']
882
+ },
883
+ 'Asia/Shanghai': {
884
+ c: ['CN']
885
+ },
886
+ 'Asia/Singapore': {
887
+ c: ['SG', 'MY']
888
+ },
889
+ 'Asia/Srednekolymsk': {
890
+ c: ['RU']
891
+ },
892
+ 'Asia/Taipei': {
893
+ c: ['TW']
894
+ },
895
+ 'Asia/Tashkent': {
896
+ c: ['UZ']
897
+ },
898
+ 'Asia/Tbilisi': {
899
+ c: ['GE']
900
+ },
901
+ 'Asia/Tehran': {
902
+ c: ['IR']
903
+ },
904
+ 'Asia/Thimphu': {
905
+ c: ['BT']
906
+ },
907
+ 'Asia/Tokyo': {
908
+ c: ['JP']
909
+ },
910
+ 'Asia/Tomsk': {
911
+ c: ['RU']
912
+ },
913
+ 'Asia/Ulaanbaatar': {
914
+ c: ['MN']
915
+ },
916
+ 'Asia/Urumqi': {
917
+ c: ['CN']
918
+ },
919
+ 'Asia/Ust-Nera': {
920
+ c: ['RU']
921
+ },
922
+ 'Asia/Vientiane': {
923
+ c: ['LA']
924
+ },
925
+ 'Asia/Vladivostok': {
926
+ c: ['RU']
927
+ },
928
+ 'Asia/Yakutsk': {
929
+ c: ['RU']
930
+ },
931
+ 'Asia/Yangon': {
932
+ c: ['MM']
933
+ },
934
+ 'Asia/Yekaterinburg': {
935
+ c: ['RU']
936
+ },
937
+ 'Asia/Yerevan': {
938
+ c: ['AM']
939
+ },
940
+ 'Atlantic/Azores': {
941
+ c: ['PT']
942
+ },
943
+ 'Atlantic/Bermuda': {
944
+ c: ['BM']
945
+ },
946
+ 'Atlantic/Canary': {
947
+ c: ['ES']
948
+ },
949
+ 'Atlantic/Cape_Verde': {
950
+ c: ['CV']
951
+ },
952
+ 'Atlantic/Faroe': {
953
+ c: ['FO']
954
+ },
955
+ 'Atlantic/Jan_Mayen': {
956
+ c: ['SJ']
957
+ },
958
+ 'Atlantic/Madeira': {
959
+ c: ['PT']
960
+ },
961
+ 'Atlantic/Reykjavik': {
962
+ c: ['IS']
963
+ },
964
+ 'Atlantic/South_Georgia': {
965
+ c: ['GS']
966
+ },
967
+ 'Atlantic/St_Helena': {
968
+ c: ['SH']
969
+ },
970
+ 'Atlantic/Stanley': {
971
+ c: ['FK']
972
+ },
973
+ 'Australia/Adelaide': {
974
+ c: ['AU']
975
+ },
976
+ 'Australia/Brisbane': {
977
+ c: ['AU']
978
+ },
979
+ 'Australia/Broken_Hill': {
980
+ c: ['AU']
981
+ },
982
+ 'Australia/Darwin': {
983
+ c: ['AU']
984
+ },
985
+ 'Australia/Eucla': {
986
+ c: ['AU']
987
+ },
988
+ 'Australia/Hobart': {
989
+ c: ['AU']
990
+ },
991
+ 'Australia/Lindeman': {
992
+ c: ['AU']
993
+ },
994
+ 'Australia/Lord_Howe': {
995
+ c: ['AU']
996
+ },
997
+ 'Australia/Melbourne': {
998
+ c: ['AU']
999
+ },
1000
+ 'Australia/Perth': {
1001
+ c: ['AU']
1002
+ },
1003
+ 'Australia/Sydney': {
1004
+ c: ['AU']
1005
+ },
1006
+ 'Canada/Eastern': {
1007
+ c: ['CA']
1008
+ },
1009
+ 'Europe/Amsterdam': {
1010
+ c: ['NL']
1011
+ },
1012
+ 'Europe/Andorra': {
1013
+ c: ['AD']
1014
+ },
1015
+ 'Europe/Astrakhan': {
1016
+ c: ['RU']
1017
+ },
1018
+ 'Europe/Athens': {
1019
+ c: ['GR']
1020
+ },
1021
+ 'Europe/Belfast': {
1022
+ c: ['GB']
1023
+ },
1024
+ 'Europe/Belgrade': {
1025
+ c: ['RS', 'BA', 'HR', 'ME', 'MK', 'SI']
1026
+ },
1027
+ 'Europe/Berlin': {
1028
+ c: ['DE']
1029
+ },
1030
+ 'Europe/Bratislava': {
1031
+ c: ['SK']
1032
+ },
1033
+ 'Europe/Brussels': {
1034
+ c: ['BE']
1035
+ },
1036
+ 'Europe/Bucharest': {
1037
+ c: ['RO']
1038
+ },
1039
+ 'Europe/Budapest': {
1040
+ c: ['HU']
1041
+ },
1042
+ 'Europe/Busingen': {
1043
+ c: ['DE']
1044
+ },
1045
+ 'Europe/Chisinau': {
1046
+ c: ['MD']
1047
+ },
1048
+ 'Europe/Copenhagen': {
1049
+ c: ['DK']
1050
+ },
1051
+ 'Europe/Dublin': {
1052
+ c: ['IE']
1053
+ },
1054
+ 'Europe/Gibraltar': {
1055
+ c: ['GI']
1056
+ },
1057
+ 'Europe/Guernsey': {
1058
+ c: ['GG']
1059
+ },
1060
+ 'Europe/Helsinki': {
1061
+ c: ['FI', 'AX']
1062
+ },
1063
+ 'Europe/Isle_of_Man': {
1064
+ c: ['IM']
1065
+ },
1066
+ 'Europe/Istanbul': {
1067
+ c: ['TR']
1068
+ },
1069
+ 'Europe/Jersey': {
1070
+ c: ['JE']
1071
+ },
1072
+ 'Europe/Kaliningrad': {
1073
+ c: ['RU']
1074
+ },
1075
+ 'Europe/Kiev': {
1076
+ c: ['UA']
1077
+ },
1078
+ 'Europe/Kirov': {
1079
+ c: ['RU']
1080
+ },
1081
+ 'Europe/Lisbon': {
1082
+ c: ['PT']
1083
+ },
1084
+ 'Europe/Ljubljana': {
1085
+ c: ['SI']
1086
+ },
1087
+ 'Europe/London': {
1088
+ c: ['GB', 'GG', 'IM', 'JE']
1089
+ },
1090
+ 'Europe/Luxembourg': {
1091
+ c: ['LU']
1092
+ },
1093
+ 'Europe/Madrid': {
1094
+ c: ['ES']
1095
+ },
1096
+ 'Europe/Malta': {
1097
+ c: ['MT']
1098
+ },
1099
+ 'Europe/Mariehamn': {
1100
+ c: ['AX']
1101
+ },
1102
+ 'Europe/Minsk': {
1103
+ c: ['BY']
1104
+ },
1105
+ 'Europe/Monaco': {
1106
+ c: ['MC']
1107
+ },
1108
+ 'Europe/Moscow': {
1109
+ c: ['RU']
1110
+ },
1111
+ 'Europe/Oslo': {
1112
+ c: ['NO', 'SJ', 'BV']
1113
+ },
1114
+ 'Europe/Paris': {
1115
+ c: ['FR']
1116
+ },
1117
+ 'Europe/Podgorica': {
1118
+ c: ['ME']
1119
+ },
1120
+ 'Europe/Prague': {
1121
+ c: ['CZ', 'SK']
1122
+ },
1123
+ 'Europe/Riga': {
1124
+ c: ['LV']
1125
+ },
1126
+ 'Europe/Rome': {
1127
+ c: ['IT', 'SM', 'VA']
1128
+ },
1129
+ 'Europe/Samara': {
1130
+ c: ['RU']
1131
+ },
1132
+ 'Europe/San_Marino': {
1133
+ c: ['SM']
1134
+ },
1135
+ 'Europe/Sarajevo': {
1136
+ c: ['BA']
1137
+ },
1138
+ 'Europe/Saratov': {
1139
+ c: ['RU']
1140
+ },
1141
+ 'Europe/Simferopol': {
1142
+ c: ['RU', 'UA']
1143
+ },
1144
+ 'Europe/Skopje': {
1145
+ c: ['MK']
1146
+ },
1147
+ 'Europe/Sofia': {
1148
+ c: ['BG']
1149
+ },
1150
+ 'Europe/Stockholm': {
1151
+ c: ['SE']
1152
+ },
1153
+ 'Europe/Tallinn': {
1154
+ c: ['EE']
1155
+ },
1156
+ 'Europe/Tirane': {
1157
+ c: ['AL']
1158
+ },
1159
+ 'Europe/Ulyanovsk': {
1160
+ c: ['RU']
1161
+ },
1162
+ 'Europe/Uzhgorod': {
1163
+ c: ['UA']
1164
+ },
1165
+ 'Europe/Vaduz': {
1166
+ c: ['LI']
1167
+ },
1168
+ 'Europe/Vatican': {
1169
+ c: ['VA']
1170
+ },
1171
+ 'Europe/Vienna': {
1172
+ c: ['AT']
1173
+ },
1174
+ 'Europe/Vilnius': {
1175
+ c: ['LT']
1176
+ },
1177
+ 'Europe/Volgograd': {
1178
+ c: ['RU']
1179
+ },
1180
+ 'Europe/Warsaw': {
1181
+ c: ['PL']
1182
+ },
1183
+ 'Europe/Zagreb': {
1184
+ c: ['HR']
1185
+ },
1186
+ 'Europe/Zaporozhye': {
1187
+ c: ['UA']
1188
+ },
1189
+ 'Europe/Zurich': {
1190
+ c: ['CH', 'DE', 'LI']
1191
+ },
1192
+ GB: {
1193
+ c: ['GB']
1194
+ },
1195
+ 'GB-Eire': {
1196
+ c: ['GB']
1197
+ },
1198
+ 'Indian/Antananarivo': {
1199
+ c: ['MG']
1200
+ },
1201
+ 'Indian/Chagos': {
1202
+ c: ['IO']
1203
+ },
1204
+ 'Indian/Christmas': {
1205
+ c: ['CX']
1206
+ },
1207
+ 'Indian/Cocos': {
1208
+ c: ['CC']
1209
+ },
1210
+ 'Indian/Comoro': {
1211
+ c: ['KM']
1212
+ },
1213
+ 'Indian/Kerguelen': {
1214
+ c: ['TF', 'HM']
1215
+ },
1216
+ 'Indian/Mahe': {
1217
+ c: ['SC']
1218
+ },
1219
+ 'Indian/Maldives': {
1220
+ c: ['MV']
1221
+ },
1222
+ 'Indian/Mauritius': {
1223
+ c: ['MU']
1224
+ },
1225
+ 'Indian/Mayotte': {
1226
+ c: ['YT']
1227
+ },
1228
+ 'Indian/Reunion': {
1229
+ c: ['RE', 'TF']
1230
+ },
1231
+ NZ: {
1232
+ c: ['NZ']
1233
+ },
1234
+ 'Pacific/Apia': {
1235
+ c: ['WS']
1236
+ },
1237
+ 'Pacific/Auckland': {
1238
+ c: ['NZ', 'AQ']
1239
+ },
1240
+ 'Pacific/Bougainville': {
1241
+ c: ['PG']
1242
+ },
1243
+ 'Pacific/Chatham': {
1244
+ c: ['NZ']
1245
+ },
1246
+ 'Pacific/Chuuk': {
1247
+ c: ['FM']
1248
+ },
1249
+ 'Pacific/Easter': {
1250
+ c: ['CL']
1251
+ },
1252
+ 'Pacific/Efate': {
1253
+ c: ['VU']
1254
+ },
1255
+ 'Pacific/Fakaofo': {
1256
+ c: ['TK']
1257
+ },
1258
+ 'Pacific/Fiji': {
1259
+ c: ['FJ']
1260
+ },
1261
+ 'Pacific/Funafuti': {
1262
+ c: ['TV']
1263
+ },
1264
+ 'Pacific/Galapagos': {
1265
+ c: ['EC']
1266
+ },
1267
+ 'Pacific/Gambier': {
1268
+ c: ['PF']
1269
+ },
1270
+ 'Pacific/Guadalcanal': {
1271
+ c: ['SB']
1272
+ },
1273
+ 'Pacific/Guam': {
1274
+ c: ['GU', 'MP']
1275
+ },
1276
+ 'Pacific/Honolulu': {
1277
+ c: ['US', 'UM']
1278
+ },
1279
+ 'Pacific/Johnston': {
1280
+ c: ['UM']
1281
+ },
1282
+ 'Pacific/Kanton': {
1283
+ c: ['KI']
1284
+ },
1285
+ 'Pacific/Kiritimati': {
1286
+ c: ['KI']
1287
+ },
1288
+ 'Pacific/Kosrae': {
1289
+ c: ['FM']
1290
+ },
1291
+ 'Pacific/Kwajalein': {
1292
+ c: ['MH']
1293
+ },
1294
+ 'Pacific/Majuro': {
1295
+ c: ['MH']
1296
+ },
1297
+ 'Pacific/Marquesas': {
1298
+ c: ['PF']
1299
+ },
1300
+ 'Pacific/Midway': {
1301
+ c: ['UM']
1302
+ },
1303
+ 'Pacific/Nauru': {
1304
+ c: ['NR']
1305
+ },
1306
+ 'Pacific/Niue': {
1307
+ c: ['NU']
1308
+ },
1309
+ 'Pacific/Norfolk': {
1310
+ c: ['NF']
1311
+ },
1312
+ 'Pacific/Noumea': {
1313
+ c: ['NC']
1314
+ },
1315
+ 'Pacific/Pago_Pago': {
1316
+ c: ['AS', 'UM']
1317
+ },
1318
+ 'Pacific/Palau': {
1319
+ c: ['PW']
1320
+ },
1321
+ 'Pacific/Pitcairn': {
1322
+ c: ['PN']
1323
+ },
1324
+ 'Pacific/Pohnpei': {
1325
+ c: ['FM']
1326
+ },
1327
+ 'Pacific/Port_Moresby': {
1328
+ c: ['PG', 'AQ']
1329
+ },
1330
+ 'Pacific/Rarotonga': {
1331
+ c: ['CK']
1332
+ },
1333
+ 'Pacific/Saipan': {
1334
+ c: ['MP']
1335
+ },
1336
+ 'Pacific/Samoa': {
1337
+ c: ['WS']
1338
+ },
1339
+ 'Pacific/Tahiti': {
1340
+ c: ['PF']
1341
+ },
1342
+ 'Pacific/Tarawa': {
1343
+ c: ['KI']
1344
+ },
1345
+ 'Pacific/Tongatapu': {
1346
+ c: ['TO']
1347
+ },
1348
+ 'Pacific/Wake': {
1349
+ c: ['UM']
1350
+ },
1351
+ 'Pacific/Wallis': {
1352
+ c: ['WF']
1353
+ },
1354
+ Singapore: {
1355
+ c: ['SG']
1356
+ },
1357
+ 'US/Alaska': {
1358
+ c: ['US']
1359
+ },
1360
+ 'US/Aleutian': {
1361
+ c: ['US']
1362
+ },
1363
+ 'US/Arizona': {
1364
+ c: ['US']
1365
+ },
1366
+ 'US/Central': {
1367
+ c: ['US']
1368
+ },
1369
+ 'US/East-Indiana': {
1370
+ c: ['US']
1371
+ },
1372
+ 'US/Eastern': {
1373
+ c: ['US']
1374
+ },
1375
+ 'US/Hawaii': {
1376
+ c: ['US']
1377
+ },
1378
+ 'US/Indiana-Starke': {
1379
+ c: ['US']
1380
+ },
1381
+ 'US/Michigan': {
1382
+ c: ['US']
1383
+ },
1384
+ 'US/Mountain': {
1385
+ c: ['US']
1386
+ },
1387
+ 'US/Pacific': {
1388
+ c: ['US']
1389
+ },
1390
+ 'US/Samoa': {
1391
+ c: ['WS']
1392
+ }
1393
+ };
1394
+
1395
+ var exampleNumbers = {
1396
+ AC: '40123',
1397
+ AD: '312345',
1398
+ AE: '501234567',
1399
+ AF: '701234567',
1400
+ AG: '2684641234',
1401
+ AI: '2642351234',
1402
+ AL: '672123456',
1403
+ AM: '77123456',
1404
+ AO: '923123456',
1405
+ AR: '91123456789',
1406
+ AS: '6847331234',
1407
+ AT: '664123456',
1408
+ AU: '412345678',
1409
+ AW: '5601234',
1410
+ AX: '412345678',
1411
+ AZ: '401234567',
1412
+ BA: '61123456',
1413
+ BB: '2462501234',
1414
+ BD: '1812345678',
1415
+ BE: '470123456',
1416
+ BF: '70123456',
1417
+ BG: '43012345',
1418
+ BH: '36001234',
1419
+ BI: '79561234',
1420
+ BJ: '90011234',
1421
+ BL: '690001234',
1422
+ BM: '4413701234',
1423
+ BN: '7123456',
1424
+ BO: '71234567',
1425
+ BQ: '3181234',
1426
+ BR: '11961234567',
1427
+ BS: '2423591234',
1428
+ BT: '17123456',
1429
+ BW: '71123456',
1430
+ BY: '294911911',
1431
+ BZ: '6221234',
1432
+ CA: '5062345678',
1433
+ CC: '412345678',
1434
+ CD: '991234567',
1435
+ CF: '70012345',
1436
+ CG: '061234567',
1437
+ CH: '781234567',
1438
+ CI: '0123456789',
1439
+ CK: '71234',
1440
+ CL: '221234567',
1441
+ CM: '671234567',
1442
+ CN: '13123456789',
1443
+ CO: '3211234567',
1444
+ CR: '83123456',
1445
+ CU: '51234567',
1446
+ CV: '9911234',
1447
+ CW: '95181234',
1448
+ CX: '412345678',
1449
+ CY: '96123456',
1450
+ CZ: '601123456',
1451
+ DE: '15123456789',
1452
+ DJ: '77831001',
1453
+ DK: '32123456',
1454
+ DM: '7672251234',
1455
+ DO: '8092345678',
1456
+ DZ: '551234567',
1457
+ EC: '991234567',
1458
+ EE: '51234567',
1459
+ EG: '1001234567',
1460
+ EH: '650123456',
1461
+ ER: '7123456',
1462
+ ES: '612345678',
1463
+ ET: '911234567',
1464
+ FI: '412345678',
1465
+ FJ: '7012345',
1466
+ FK: '51234',
1467
+ FM: '3501234',
1468
+ FO: '211234',
1469
+ FR: '612345678',
1470
+ GA: '06031234',
1471
+ GB: '7400123456',
1472
+ GD: '4734031234',
1473
+ GE: '555123456',
1474
+ GF: '694201234',
1475
+ GG: '7781123456',
1476
+ GH: '231234567',
1477
+ GI: '57123456',
1478
+ GL: '221234',
1479
+ GM: '3012345',
1480
+ GN: '601123456',
1481
+ GP: '690001234',
1482
+ GQ: '222123456',
1483
+ GR: '6912345678',
1484
+ GT: '51234567',
1485
+ GU: '6713001234',
1486
+ GW: '955012345',
1487
+ GY: '6091234',
1488
+ HK: '51234567',
1489
+ HN: '91234567',
1490
+ HR: '921234567',
1491
+ HT: '34101234',
1492
+ HU: '201234567',
1493
+ ID: '812345678',
1494
+ IE: '850123456',
1495
+ IL: '502345678',
1496
+ IM: '7924123456',
1497
+ IN: '8123456789',
1498
+ IO: '3801234',
1499
+ IQ: '7912345678',
1500
+ IR: '9123456789',
1501
+ IS: '6111234',
1502
+ IT: '3123456789',
1503
+ JE: '7797712345',
1504
+ JM: '8762101234',
1505
+ JO: '790123456',
1506
+ JP: '9012345678',
1507
+ KE: '712123456',
1508
+ KG: '700123456',
1509
+ KH: '91234567',
1510
+ KI: '72001234',
1511
+ KM: '3212345',
1512
+ KN: '8697652917',
1513
+ KP: '1921234567',
1514
+ KR: '1020000000',
1515
+ KW: '50012345',
1516
+ KY: '3453231234',
1517
+ KZ: '7710009998',
1518
+ LA: '2023123456',
1519
+ LB: '71123456',
1520
+ LC: '7582845678',
1521
+ LI: '660234567',
1522
+ LK: '712345678',
1523
+ LR: '770123456',
1524
+ LS: '50123456',
1525
+ LT: '61234567',
1526
+ LU: '628123456',
1527
+ LV: '21234567',
1528
+ LY: '912345678',
1529
+ MA: '650123456',
1530
+ MC: '612345678',
1531
+ MD: '62112345',
1532
+ ME: '67622901',
1533
+ MF: '690001234',
1534
+ MG: '321234567',
1535
+ MH: '2351234',
1536
+ MK: '72345678',
1537
+ ML: '65012345',
1538
+ MM: '92123456',
1539
+ MN: '88123456',
1540
+ MO: '66123456',
1541
+ MP: '6702345678',
1542
+ MQ: '696201234',
1543
+ MR: '22123456',
1544
+ MS: '6644923456',
1545
+ MT: '96961234',
1546
+ MU: '52512345',
1547
+ MV: '7712345',
1548
+ MW: '991234567',
1549
+ MX: '12221234567',
1550
+ MY: '123456789',
1551
+ MZ: '821234567',
1552
+ NA: '811234567',
1553
+ NC: '751234',
1554
+ NE: '93123456',
1555
+ NF: '381234',
1556
+ NG: '8021234567',
1557
+ NI: '81234567',
1558
+ NL: '612345678',
1559
+ NO: '40612345',
1560
+ NP: '9841234567',
1561
+ NR: '5551234',
1562
+ NU: '8884012',
1563
+ NZ: '211234567',
1564
+ OM: '92123456',
1565
+ PA: '61234567',
1566
+ PE: '912345678',
1567
+ PF: '87123456',
1568
+ PG: '70123456',
1569
+ PH: '9051234567',
1570
+ PK: '3012345678',
1571
+ PL: '512345678',
1572
+ PM: '551234',
1573
+ PR: '7872345678',
1574
+ PS: '599123456',
1575
+ PT: '912345678',
1576
+ PW: '6201234',
1577
+ PY: '961456789',
1578
+ QA: '33123456',
1579
+ RE: '692123456',
1580
+ RO: '712034567',
1581
+ RS: '601234567',
1582
+ RU: '9123456789',
1583
+ RW: '720123456',
1584
+ SA: '512345678',
1585
+ SB: '7421234',
1586
+ SC: '2510123',
1587
+ SD: '911231234',
1588
+ SE: '701234567',
1589
+ SG: '81234567',
1590
+ SH: '51234',
1591
+ SI: '31234567',
1592
+ SJ: '41234567',
1593
+ SK: '912123456',
1594
+ SL: '25123456',
1595
+ SM: '66661212',
1596
+ SN: '701234567',
1597
+ SO: '71123456',
1598
+ SR: '7412345',
1599
+ SS: '977123456',
1600
+ ST: '9812345',
1601
+ SV: '70123456',
1602
+ SX: '7215205678',
1603
+ SY: '944567890',
1604
+ SZ: '76123456',
1605
+ TA: '8999',
1606
+ TC: '6492311234',
1607
+ TD: '63012345',
1608
+ TG: '90112345',
1609
+ TH: '812345678',
1610
+ TJ: '917123456',
1611
+ TK: '7290',
1612
+ TL: '77212345',
1613
+ TM: '66123456',
1614
+ TN: '20123456',
1615
+ TO: '7715123',
1616
+ TR: '5012345678',
1617
+ TT: '8682911234',
1618
+ TV: '901234',
1619
+ TW: '912345678',
1620
+ TZ: '621234567',
1621
+ UA: '501234567',
1622
+ UG: '712345678',
1623
+ US: '2015550123',
1624
+ UY: '94231234',
1625
+ UZ: '912345678',
1626
+ VA: '3123456789',
1627
+ VC: '7844301234',
1628
+ VE: '4121234567',
1629
+ VG: '2843001234',
1630
+ VI: '3406421234',
1631
+ VN: '912345678',
1632
+ VU: '5912345',
1633
+ WF: '821234',
1634
+ WS: '7212345',
1635
+ XK: '43201234',
1636
+ YE: '712345678',
1637
+ YT: '639012345',
1638
+ ZA: '711234567',
1639
+ ZM: '955123456',
1640
+ ZW: '712345678'
1641
+ };
1642
+
1643
+ function CountryDropdown(_a, ref) {
1644
+ var show = _a.show, itemOnClick = _a.itemOnClick, responsiveStyles = _a.responsiveStyles, dropdownWidth = _a.dropdownWidth, props = __rest(_a, ["show", "itemOnClick", "responsiveStyles", "dropdownWidth"]);
1645
+ var listItemRef = useRef({});
1646
+ var _b = __read(useState(''), 2), query = _b[0], setQuery = _b[1];
1647
+ var inputRef = useRef(null);
1648
+ useEffect(function () {
1649
+ if (!show)
1650
+ setQuery('');
1651
+ else if (inputRef.current) {
1652
+ setTimeout(function () {
1653
+ var _a;
1654
+ (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
1655
+ }, 50);
1656
+ }
1657
+ }, [show]);
1658
+ var countryItems = useMemo(function () {
1659
+ var filteredData = countryData.filter(function (_a) {
1660
+ var _b;
1661
+ var countryCode = _a.countryCode, countryName = _a.countryName, phoneCode = _a.phoneCode;
1662
+ if (!((_b = global.libphonenumber) === null || _b === void 0 ? void 0 : _b.isSupportedCountry(countryCode)) ||
1663
+ (authState.client && !firebaseSMSCountries.has(countryCode)))
1664
+ return false;
1665
+ return (!query ||
1666
+ countryCode.toLowerCase().includes(query) ||
1667
+ countryName.toLowerCase().includes(query) ||
1668
+ "+".concat(phoneCode).includes(query));
1669
+ });
1670
+ return (jsxs(Fragment, { children: [jsx("input", { ref: inputRef, placeholder: 'Search', css: {
1671
+ width: '100%',
1672
+ height: '30px',
1673
+ outline: 'none',
1674
+ border: 'none',
1675
+ borderBottom: '1px solid grey',
1676
+ padding: '5px 10px',
1677
+ fontSize: '14px'
1678
+ }, onKeyDown: function (e) {
1679
+ var disable = function () {
1680
+ e.preventDefault();
1681
+ e.stopPropagation();
1682
+ };
1683
+ if (e.key === 'ArrowDown') {
1684
+ disable();
1685
+ var firstCountry = filteredData[0];
1686
+ if (firstCountry)
1687
+ listItemRef.current[firstCountry.countryCode].focus();
1688
+ }
1689
+ else if (e.key === 'Enter')
1690
+ disable();
1691
+ }, onChange: function (e) { return setQuery(e.target.value.toLowerCase()); }, tabIndex: 0 }), filteredData.map(function (_a) {
1692
+ var flag = _a.flag, countryCode = _a.countryCode, countryName = _a.countryName, phoneCode = _a.phoneCode;
1693
+ return (jsxs("li", __assign({ ref: function (ref) {
1694
+ listItemRef.current[countryCode] = ref;
1695
+ }, css: {
1696
+ padding: '2px 10px',
1697
+ display: 'flex',
1698
+ alignItems: 'center',
1699
+ transition: '0.1s ease all',
1700
+ fontSize: '14px',
1701
+ '&:hover': { backgroundColor: '#e6e6e644' },
1702
+ '&:focus-visible': {
1703
+ outline: 'none',
1704
+ backgroundColor: '#e6e6e644'
1705
+ }
1706
+ }, tabIndex: 0, onKeyDown: function (e) {
1707
+ var _a, _b;
1708
+ var disable = function () {
1709
+ e.preventDefault();
1710
+ e.stopPropagation();
1711
+ };
1712
+ if (e.key === 'Enter') {
1713
+ disable();
1714
+ itemOnClick(countryCode, phoneCode);
1715
+ }
1716
+ else if (['ArrowDown', 'ArrowRight'].includes(e.key)) {
1717
+ disable();
1718
+ (_a = listItemRef.current[countryCode].nextSibling) === null || _a === void 0 ? void 0 : _a.focus();
1719
+ }
1720
+ else if (['ArrowUp', 'ArrowLeft'].includes(e.key)) {
1721
+ disable();
1722
+ (_b = listItemRef.current[countryCode].previousSibling) === null || _b === void 0 ? void 0 : _b.focus();
1723
+ }
1724
+ }, onClick: function () { return itemOnClick(countryCode, phoneCode); } }, { children: [jsx("span", __assign({ css: {
1725
+ fontSize: '24px',
1726
+ marginRight: '7px',
1727
+ lineHeight: '33px'
1728
+ } }, { children: flag })), countryName, jsxs("span", __assign({ css: { marginLeft: '7px', color: 'grey' } }, { children: ["+", phoneCode] }))] }), countryCode));
1729
+ })] }));
1730
+ }, [query]);
1731
+ var resolvedWidth = dropdownWidth !== undefined ? "".concat(dropdownWidth, "px") : '100%';
1732
+ return (jsx("ul", __assign({ css: __assign({
1733
+ // This is needed for the CountryDropdown to display on top of the
1734
+ // overlay when the form is displayed as a popup/modal
1735
+ zIndex: DROPDOWN_Z_INDEX, listStyleType: 'none', padding: 0, margin: 0, backgroundColor: 'white', cursor: 'pointer', boxShadow: '0 0 4px rgb(0 0 0 / 15%)', maxHeight: '210px', overflowY: 'scroll', overflowX: 'hidden', boxSizing: 'border-box', width: resolvedWidth }, responsiveStyles.getTarget('dropdown')), ref: ref }, props, { children: countryItems })));
1736
+ }
1737
+ var CountryDropdown$1 = forwardRef(CountryDropdown);
1738
+
1739
+ var countryMaxLengthMap = {
1740
+ // India (+91) numbers are 10-digits except for machine to machine communication
1741
+ IN: 2 + 10,
1742
+ // Singapore (+65) numbers are 8-digits except for special service numbers
1743
+ SG: 2 + 8
1744
+ };
1745
+ function isValidPhoneLength(phoneNumber, // includes country code digits
1746
+ countryCode) {
1747
+ // country not in override mapping
1748
+ if (!(countryCode in countryMaxLengthMap))
1749
+ return true;
1750
+ if (phoneNumber.length > countryMaxLengthMap[countryCode])
1751
+ return false;
1752
+ return true;
1753
+ }
1754
+
1755
+ var DEFAULT_COUNTRY = 'US';
1756
+ var countryMap = countryData.reduce(function (countryMap, _a) {
1757
+ var flag = _a.flag, countryCode = _a.countryCode, phoneCode = _a.phoneCode;
1758
+ countryMap[countryCode] = { flag: flag, phoneCode: phoneCode };
1759
+ return countryMap;
1760
+ }, {});
1761
+ function PhoneField(_a) {
1762
+ var element = _a.element, responsiveStyles = _a.responsiveStyles, fieldLabel = _a.fieldLabel, fullNumber = _a.fullNumber, _b = _a.elementProps, elementProps = _b === void 0 ? {} : _b, _c = _a.required, required = _c === void 0 ? false : _c, _d = _a.disabled, disabled = _d === void 0 ? false : _d, _e = _a.repeatIndex, repeatIndex = _e === void 0 ? null : _e, autoComplete = _a.autoComplete, editMode = _a.editMode, _f = _a.onComplete, onComplete = _f === void 0 ? function () { } : _f, _g = _a.setRef, setRef = _g === void 0 ? function () { } : _g, inlineError = _a.inlineError, rightToLeft = _a.rightToLeft, onEnter = _a.onEnter, children = _a.children;
1763
+ var triggerRef = useRef(null);
1764
+ var containerRef = useRef(null);
1765
+ var fieldWrapperRef = useRef(null);
1766
+ var dropdownRef = useRef(null);
1767
+ var inputRef = useRef(null);
1768
+ var _h = __read(useState(null), 2), cursor = _h[0], setCursor = _h[1];
1769
+ // Track cursorChange since cursor may stay in same place but need to be
1770
+ // re-applied (e.g. delete)
1771
+ var _j = __read(useState(false), 2), cursorChange = _j[0], setCursorChange = _j[1];
1772
+ var _k = __read(useState(false), 2), show = _k[0], setShow = _k[1];
1773
+ // The number parsed from the fullNumber prop, updated via triggerOnChange to rawNumber
1774
+ var _l = __read(useState(''), 2), curFullNumber = _l[0], setCurFullNumber = _l[1];
1775
+ var servar = element.servar;
1776
+ var defaultCountry = useMemo(function () {
1777
+ if (servar.metadata.default_country === 'auto') {
1778
+ var timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
1779
+ if (!timezone)
1780
+ return DEFAULT_COUNTRY;
1781
+ var timeZoneCountry = timeZoneCountries[timezone];
1782
+ if (!timeZoneCountry)
1783
+ return DEFAULT_COUNTRY;
1784
+ var countryCode = timeZoneCountry.c[0];
1785
+ return countryCode in countryMap ? countryCode : DEFAULT_COUNTRY;
1786
+ }
1787
+ else {
1788
+ return servar.metadata.default_country || DEFAULT_COUNTRY;
1789
+ }
1790
+ }, [servar.metadata.default_country]);
1791
+ var _m = __read(useState(defaultCountry), 2), curCountryCode = _m[0], setCurCountryCode = _m[1];
1792
+ useEffect(function () { return setCurCountryCode(defaultCountry); }, [defaultCountry]);
1793
+ var phoneCode = countryMap[curCountryCode].phoneCode;
1794
+ // The raw number entered by the user, including phone code
1795
+ var _o = __read(useState(''), 2), rawNumber = _o[0], setRawNumber = _o[1];
1796
+ var _p = __read(useState(element.properties.placeholder), 2), placeholder = _p[0], setPlaceholder = _p[1];
1797
+ var _q = __read(useState(false), 2), focused = _q[0], setFocused = _q[1];
1798
+ var dropdownWidth = useElementSize(fieldWrapperRef).width;
1799
+ var _r = useBorder({
1800
+ element: element,
1801
+ error: inlineError,
1802
+ breakpoint: responsiveStyles.getMobileBreakpoint()
1803
+ }), borderStyles = _r.borderStyles, customBorder = _r.customBorder;
1804
+ var resetToPhoneCode = function (code) {
1805
+ var delta = code.length > 3 ? 2 : 1;
1806
+ setCursor(code.length + delta);
1807
+ };
1808
+ useEffect(function () {
1809
+ var input = inputRef.current;
1810
+ if (input && cursor !== null)
1811
+ input.setSelectionRange(cursor, cursor);
1812
+ }, [cursorChange]);
1813
+ useEffect(function () {
1814
+ if (fullNumber === curFullNumber || editMode)
1815
+ return;
1816
+ phoneLibPromise.then(function () {
1817
+ var _a, _b;
1818
+ if (!global.libphonenumber)
1819
+ return;
1820
+ var ayt = new global.libphonenumber.AsYouType();
1821
+ ayt.input("+".concat(fullNumber));
1822
+ var numberObj = (_a = ayt.getNumber()) !== null && _a !== void 0 ? _a : '';
1823
+ setCurFullNumber(fullNumber);
1824
+ setRawNumber(fullNumber);
1825
+ if (numberObj) {
1826
+ setCurCountryCode((_b = numberObj.country) !== null && _b !== void 0 ? _b : curCountryCode);
1827
+ }
1828
+ });
1829
+ }, [fullNumber]);
1830
+ var formattedNumber = useMemo(function () {
1831
+ var LPN = global.libphonenumber;
1832
+ if (!LPN)
1833
+ return "+".concat(rawNumber);
1834
+ // handle blurred and empty input
1835
+ if (rawNumber === '')
1836
+ return '';
1837
+ var asYouType = new LPN.AsYouType(curCountryCode);
1838
+ var onlyDigits = LPN.parseDigits(rawNumber, curCountryCode);
1839
+ return asYouType.input("+".concat(onlyDigits));
1840
+ }, [curCountryCode, rawNumber]);
1841
+ useEffect(function () {
1842
+ var _a;
1843
+ var elPlaceholder = (_a = element.properties.placeholder) !== null && _a !== void 0 ? _a : '';
1844
+ if (editMode || elPlaceholder) {
1845
+ setPlaceholder(elPlaceholder);
1846
+ return;
1847
+ }
1848
+ var exampleNumber = exampleNumbers[curCountryCode];
1849
+ phoneLibPromise.then(function () {
1850
+ if (!global.libphonenumber)
1851
+ return;
1852
+ setPlaceholder(global.libphonenumber
1853
+ .parsePhoneNumber(exampleNumber, curCountryCode)
1854
+ .formatInternational());
1855
+ });
1856
+ }, [curCountryCode, element]);
1857
+ var handleOnComplete = function (curRawNumber) {
1858
+ if ((fullNumber || curRawNumber) && curRawNumber !== fullNumber) {
1859
+ setCurFullNumber(curRawNumber);
1860
+ onComplete(curRawNumber);
1861
+ }
1862
+ };
1863
+ var countriesEnabled = !servar.metadata.disable_other_countries;
1864
+ var enabledCountryStyles = countriesEnabled
1865
+ ? {
1866
+ cursor: 'pointer',
1867
+ '&:hover': hoverStylesGuard({
1868
+ backgroundColor: '#e6e6e633'
1869
+ })
1870
+ }
1871
+ : {};
1872
+ return (jsxs("div", __assign({ ref: containerRef, css: __assign({ maxWidth: '100%', width: '100%', height: '100%', position: 'relative', pointerEvents: editMode ? 'none' : 'auto' }, responsiveStyles.getTarget('fc')) }, elementProps, { children: [children, fieldLabel, jsxs("div", __assign({ ref: fieldWrapperRef, css: __assign(__assign(__assign({ display: 'flex', position: 'relative' }, responsiveStyles.getTarget('sub-fc')), (disabled ? responsiveStyles.getTarget('disabled') : {})), { '&:hover': hoverStylesGuard(disabled
1873
+ ? {}
1874
+ : __assign(__assign({}, responsiveStyles.getTarget('hover')), borderStyles.hover)), '&&': focused
1875
+ ? __assign(__assign({}, responsiveStyles.getTarget('active')), borderStyles.active) : {} }) }, { children: [customBorder, jsx("div", __assign({ "data-testid": 'country-trigger', css: __assign(__assign({ transition: '0.2s ease all', display: 'flex', alignItems: 'center', justifyContent: 'center', padding: '0 6px', position: 'relative', cursor: 'default' }, responsiveStyles.getTarget('fieldToggle')), enabledCountryStyles), ref: triggerRef, onClick: function () {
1876
+ if (countriesEnabled && !disabled)
1877
+ setShow(!show);
1878
+ } }, { children: countryMap[curCountryCode].flag })), jsx(Overlay, __assign({ show: show, onHide: function () { return setShow(false); }, targetRef: triggerRef, containerRef: containerRef, placement: 'bottom-start', offset: 0 }, { children: jsx(CountryDropdown$1, { itemOnClick: function (countryCode, phoneCode) {
1879
+ setCurCountryCode(countryCode);
1880
+ setRawNumber(phoneCode);
1881
+ resetToPhoneCode(phoneCode);
1882
+ setShow(false);
1883
+ handleOnComplete(phoneCode);
1884
+ inputRef.current.focus();
1885
+ }, responsiveStyles: responsiveStyles, dropdownWidth: dropdownWidth, ref: function (ref) {
1886
+ dropdownRef.current = ref;
1887
+ }, show: show }) }), "overlay-".concat(curCountryCode)), jsxs("div", __assign({ css: {
1888
+ position: 'relative',
1889
+ width: '100%',
1890
+ whiteSpace: 'nowrap',
1891
+ // Prevent placeholder overflow
1892
+ overflowX: 'clip'
1893
+ } }, { children: [jsx("input", { id: servar.key, name: servar.key, css: __assign(__assign(__assign(__assign({ backgroundColor: 'transparent', height: '100%', width: '100%', border: 'none', margin: 0 }, (rightToLeft ? { textAlign: 'right' } : {})), resetStyles), responsiveStyles.getTarget('field')), (focused || formattedNumber || !placeholder
1894
+ ? {}
1895
+ : { color: 'transparent !important' })), required: required, disabled: disabled, placeholder: '', "aria-label": element.properties.aria_label, value: formattedNumber, ref: function (ref) {
1896
+ inputRef.current = ref;
1897
+ setRef(ref);
1898
+ }, type: 'tel',
1899
+ // Many modern browsers do not support autocomplete="off".
1900
+ // In order to avoid the autoComplete, use autocomplete="new-password"
1901
+ // @See: https://developer.mozilla.org/en-US/docs/Web/Security/Practical_implementation_guides/Turning_off_form_autocompletion
1902
+ autoComplete: autoComplete === 'on' ? 'tel' : 'new-password', dir: 'ltr' // always left-to-right numbers but will be right justified in RTL
1903
+ , onFocus: function (e) {
1904
+ iosScrollOnFocus(e);
1905
+ setRawNumber(function (prevNum) {
1906
+ // We only want to set the country code if the field is empty
1907
+ if (prevNum === '') {
1908
+ resetToPhoneCode(phoneCode);
1909
+ return phoneCode;
1910
+ }
1911
+ return prevNum;
1912
+ });
1913
+ setFocused(true);
1914
+ }, onBlur: function () {
1915
+ var newRawNumber = rawNumber;
1916
+ if (phoneCode.startsWith(rawNumber)) {
1917
+ setCursor(null);
1918
+ newRawNumber = '';
1919
+ setRawNumber(newRawNumber);
1920
+ }
1921
+ handleOnComplete(newRawNumber);
1922
+ setFocused(false);
1923
+ }, onKeyDown: function (e) {
1924
+ if (e.key === 'Enter') {
1925
+ handleOnComplete(rawNumber);
1926
+ onEnter(e);
1927
+ }
1928
+ else if (e.key === '+')
1929
+ setShow(true);
1930
+ }, onChange: function (e) {
1931
+ var start = e.target.selectionStart;
1932
+ var newNum = e.target.value;
1933
+ if (newNum) {
1934
+ var LPN = global.libphonenumber;
1935
+ if (!LPN)
1936
+ return;
1937
+ // Handle pasted numbers:
1938
+ // If there are multiple plus symbols, take everything after the last one
1939
+ var plusCount = (newNum.match(/\+/g) || []).length;
1940
+ if (plusCount > 1) {
1941
+ var lastPlusIndex = newNum.lastIndexOf('+');
1942
+ newNum = newNum.slice(lastPlusIndex);
1943
+ }
1944
+ // Phone codes with >3 characters will have a whitespace
1945
+ newNum = newNum.replace(/\s/g, '');
1946
+ // if there are no plus symbols, add one as well as the country code if it's missing
1947
+ if (!newNum.includes('+')) {
1948
+ // Number is being pasted in (iphone autofill)...
1949
+ // if the number is valid but missing the country code, add it
1950
+ if (!LPN.validatePhoneNumberLength(newNum, curCountryCode) // undefined = valid
1951
+ ) {
1952
+ newNum = "+".concat(phoneCode).concat(newNum);
1953
+ }
1954
+ else if (newNum.startsWith(phoneCode)) {
1955
+ newNum = "+".concat(newNum);
1956
+ }
1957
+ else {
1958
+ newNum = "+".concat(phoneCode).concat(newNum);
1959
+ }
1960
+ }
1961
+ // Don't let user delete the country code
1962
+ if (!newNum.startsWith("+".concat(phoneCode)))
1963
+ return;
1964
+ // Prevent US phone numbers from starting with a 1
1965
+ if (newNum.startsWith('+11'))
1966
+ return;
1967
+ var onlyDigits = LPN.parseDigits(newNum, curCountryCode);
1968
+ // check google validation for phone length and our country overrides
1969
+ if (LPN.validatePhoneNumberLength(onlyDigits, curCountryCode) ===
1970
+ 'TOO_LONG' ||
1971
+ !isValidPhoneLength(onlyDigits, curCountryCode))
1972
+ return;
1973
+ var asYouType = new LPN.AsYouType(curCountryCode);
1974
+ var newFormatted = asYouType.input("+".concat(onlyDigits));
1975
+ var prevNumDigits = LPN.parseDigits(formattedNumber.slice(0, cursor !== null && cursor !== void 0 ? cursor : 0)).length;
1976
+ setRawNumber(onlyDigits);
1977
+ var diff = LPN.parseDigits(newFormatted, curCountryCode).length -
1978
+ LPN.parseDigits(formattedNumber, curCountryCode).length;
1979
+ if (start && diff > 0) {
1980
+ // When inserting characters, skip non-digits
1981
+ // Also cursor must be in front of at least 1 more digit now
1982
+ while ((start <= newFormatted.length &&
1983
+ !isNum(newFormatted[start])) ||
1984
+ LPN.parseDigits(newFormatted.slice(0, start)).length <=
1985
+ prevNumDigits)
1986
+ start++;
1987
+ }
1988
+ }
1989
+ else {
1990
+ setRawNumber(phoneCode);
1991
+ var delta = phoneCode.length > 3 ? 2 : 1;
1992
+ start = phoneCode.length + delta;
1993
+ }
1994
+ setCursor(start);
1995
+ setCursorChange(!cursorChange);
1996
+ } }), jsx(Placeholder, { value: formattedNumber, element: { properties: { placeholder: placeholder } }, responsiveStyles: responsiveStyles, repeatIndex: repeatIndex }), jsx(InlineTooltip, { containerRef: containerRef, id: element.id, text: element.properties.tooltipText, responsiveStyles: responsiveStyles, repeat: element.repeat })] }))] }))] })));
1997
+ }
1998
+ var index = memo(PhoneField);
1999
+
2000
+ export { index as default };