@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,228 @@
1
+ import { t as __rest, b as jsx, a as __assign, k as FORM_Z_INDEX, _ as __read, s as featheryDoc, l as featheryWindow, m as Fragment } from './fthry_index.F6BXSHA5.js';
2
+ import { useRef, useState, useCallback, useLayoutEffect, useEffect } from 'react';
3
+ import { createPortal } from 'react-dom';
4
+
5
+ var Tooltip = function (_a) {
6
+ var children = _a.children, css = _a.css, props = __rest(_a, ["children", "css"]);
7
+ return (jsx("div", __assign({ css: __assign({ zIndex: FORM_Z_INDEX + 1, padding: '.4rem 0', transition: 'opacity .10s linear', '.tooltip-inner': {
8
+ maxWidth: '200px',
9
+ padding: '.25rem .5rem',
10
+ color: '#fff',
11
+ textAlign: 'center',
12
+ backgroundColor: '#000',
13
+ borderRadius: '.25rem',
14
+ fontSize: 'smaller'
15
+ } }, css) }, props, { children: jsx("div", __assign({ className: 'tooltip-inner' }, { children: children })) })));
16
+ };
17
+
18
+ var Overlay = function (_a) {
19
+ var show = _a.show, targetRef = _a.targetRef, children = _a.children, onHide = _a.onHide, _b = _a.placement, placement = _b === void 0 ? 'bottom-start' : _b, _c = _a.offset, offset = _c === void 0 ? 0 : _c, _d = _a.zIndex, zIndex = _d === void 0 ? 1000 : _d, containerRef = _a.containerRef;
20
+ var ref = useRef(null);
21
+ var _e = __read(useState(null), 2), position = _e[0], setPosition = _e[1];
22
+ var getContainer = useCallback(function () {
23
+ return (containerRef === null || containerRef === void 0 ? void 0 : containerRef.current) || featheryDoc().body;
24
+ }, [containerRef]);
25
+ var recalcPosition = useCallback(function () {
26
+ var _a;
27
+ if (!show || !targetRef.current || !ref.current)
28
+ return;
29
+ var window = featheryWindow();
30
+ var container = getContainer();
31
+ if (!container)
32
+ return;
33
+ var targetRect = targetRef.current.getBoundingClientRect();
34
+ var overlayRect = ref.current.getBoundingClientRect();
35
+ var containerRect = container.getBoundingClientRect();
36
+ var _b = calcPosition(placement, targetRect, overlayRect, offset), top = _b.top, left = _b.left;
37
+ // Flip if it doesn’t fit
38
+ var overlayBottom = top + overlayRect.height;
39
+ var overlayRight = left + overlayRect.width;
40
+ var fitsVertically = top >= 0 && overlayBottom <= window.innerHeight;
41
+ var fitsHorizontally = left >= 0 && overlayRight <= window.innerWidth;
42
+ if (!fitsVertically || !fitsHorizontally) {
43
+ var flipped = getFlippedPlacement(placement, !fitsVertically, !fitsHorizontally);
44
+ if (flipped !== placement) {
45
+ (_a = calcPosition(flipped, targetRect, overlayRect, offset), top = _a.top, left = _a.left);
46
+ }
47
+ }
48
+ var isBodyContainer = container === featheryDoc().body;
49
+ var finalTop = isBodyContainer
50
+ ? top + window.scrollY
51
+ : top - containerRect.top;
52
+ var finalLeft = isBodyContainer
53
+ ? left + window.scrollX
54
+ : left - containerRect.left;
55
+ setPosition(function (prev) {
56
+ if (!prev || prev.top !== finalTop || prev.left !== finalLeft) {
57
+ return { top: finalTop, left: finalLeft };
58
+ }
59
+ return prev;
60
+ });
61
+ }, [show, placement, offset, getContainer, targetRef]);
62
+ var throttledRecalc = useCallback(function () {
63
+ var ticking = false;
64
+ return function () {
65
+ if (!ticking) {
66
+ ticking = true;
67
+ requestAnimationFrame(function () {
68
+ recalcPosition();
69
+ ticking = false;
70
+ });
71
+ }
72
+ };
73
+ }, [recalcPosition])();
74
+ useLayoutEffect(function () {
75
+ if (show)
76
+ recalcPosition();
77
+ }, [show, recalcPosition]);
78
+ useEffect(function () {
79
+ if (!show)
80
+ return;
81
+ var window = featheryWindow();
82
+ var container = getContainer();
83
+ if (!container)
84
+ return;
85
+ window.addEventListener('resize', throttledRecalc);
86
+ window.addEventListener('scroll', throttledRecalc, true);
87
+ if (container !== featheryDoc().body) {
88
+ container.addEventListener('scroll', throttledRecalc);
89
+ }
90
+ var resizeObserver = new ResizeObserver(function () { return throttledRecalc(); });
91
+ if (targetRef.current)
92
+ resizeObserver.observe(targetRef.current);
93
+ if (container !== featheryDoc().body)
94
+ resizeObserver.observe(container);
95
+ return function () {
96
+ window.removeEventListener('resize', throttledRecalc);
97
+ window.removeEventListener('scroll', throttledRecalc, true);
98
+ if (container !== featheryDoc().body) {
99
+ container.removeEventListener('scroll', throttledRecalc);
100
+ }
101
+ resizeObserver.disconnect();
102
+ };
103
+ }, [show, throttledRecalc, getContainer, targetRef]);
104
+ useEffect(function () {
105
+ if (!show)
106
+ return;
107
+ var handleKeyDown = function (event) {
108
+ if (event.key === 'Escape') {
109
+ setPosition(null);
110
+ onHide === null || onHide === void 0 ? void 0 : onHide();
111
+ }
112
+ };
113
+ var handleClickOutside = function (event) {
114
+ var target = event.target;
115
+ if (ref.current &&
116
+ !ref.current.contains(target) &&
117
+ targetRef.current &&
118
+ !targetRef.current.contains(target)) {
119
+ setPosition(null);
120
+ onHide === null || onHide === void 0 ? void 0 : onHide();
121
+ }
122
+ };
123
+ var doc = featheryDoc();
124
+ doc.addEventListener('mousedown', handleClickOutside);
125
+ doc.addEventListener('keydown', handleKeyDown);
126
+ return function () {
127
+ doc.removeEventListener('mousedown', handleClickOutside);
128
+ doc.removeEventListener('keydown', handleKeyDown);
129
+ };
130
+ }, [show, onHide, targetRef]);
131
+ if (!show)
132
+ return null;
133
+ var container = getContainer();
134
+ if (!container)
135
+ return jsx(Fragment, { children: children });
136
+ return createPortal(jsx("div", __assign({ ref: ref, style: __assign(__assign({ position: 'absolute' }, (position || { top: -9999, left: -9999 })), { zIndex: zIndex }) }, { children: children })), container);
137
+ };
138
+ var getFlippedPlacement = function (original, needsVerticalFlip, needsHorizontalFlip) {
139
+ if (needsVerticalFlip) {
140
+ if (original.includes('top')) {
141
+ return original.replace('top', 'bottom');
142
+ }
143
+ if (original.includes('bottom')) {
144
+ return original.replace('bottom', 'top');
145
+ }
146
+ }
147
+ if (needsHorizontalFlip) {
148
+ if (original.includes('left')) {
149
+ return original.replace('left', 'right');
150
+ }
151
+ if (original.includes('right')) {
152
+ return original.replace('right', 'left');
153
+ }
154
+ }
155
+ return original;
156
+ };
157
+ var calcPosition = function (pl, targetRect, overlayRect, offset) {
158
+ if (offset === void 0) { offset = 0; }
159
+ switch (pl) {
160
+ case 'top':
161
+ return {
162
+ top: targetRect.top - overlayRect.height - offset,
163
+ left: targetRect.left + (targetRect.width - overlayRect.width) / 2
164
+ };
165
+ case 'top-start':
166
+ return {
167
+ top: targetRect.top - overlayRect.height - offset,
168
+ left: targetRect.left
169
+ };
170
+ case 'top-end':
171
+ return {
172
+ top: targetRect.top - overlayRect.height - offset,
173
+ left: targetRect.right - overlayRect.width
174
+ };
175
+ case 'left':
176
+ return {
177
+ top: targetRect.top + (targetRect.height - overlayRect.height) / 2,
178
+ left: targetRect.left - overlayRect.width - offset
179
+ };
180
+ case 'left-start':
181
+ return {
182
+ top: targetRect.top,
183
+ left: targetRect.left - overlayRect.width - offset
184
+ };
185
+ case 'left-end':
186
+ return {
187
+ top: targetRect.bottom - overlayRect.height,
188
+ left: targetRect.left - overlayRect.width - offset
189
+ };
190
+ case 'bottom':
191
+ return {
192
+ top: targetRect.bottom + offset,
193
+ left: targetRect.left + (targetRect.width - overlayRect.width) / 2
194
+ };
195
+ case 'bottom-start':
196
+ return {
197
+ top: targetRect.bottom + offset,
198
+ left: targetRect.left
199
+ };
200
+ case 'bottom-end':
201
+ return {
202
+ top: targetRect.bottom + offset,
203
+ left: targetRect.right - overlayRect.width
204
+ };
205
+ case 'right':
206
+ return {
207
+ top: targetRect.top + (targetRect.height - overlayRect.height) / 2,
208
+ left: targetRect.right + offset
209
+ };
210
+ case 'right-start':
211
+ return {
212
+ top: targetRect.top,
213
+ left: targetRect.right + offset
214
+ };
215
+ case 'right-end':
216
+ return {
217
+ top: targetRect.bottom - overlayRect.height,
218
+ left: targetRect.right + offset
219
+ };
220
+ default:
221
+ return {
222
+ top: targetRect.bottom + offset,
223
+ left: targetRect.left + (targetRect.width - overlayRect.width) / 2
224
+ };
225
+ }
226
+ };
227
+
228
+ export { Overlay as O, Tooltip as T };