@feathery/react 2.6.8 → 2.7.1

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 (314) hide show
  1. package/dist/Form/components/AIExtractionToast/ExtractionItem.d.ts +5 -5
  2. package/dist/Form/components/AIExtractionToast/icons.d.ts +7 -7
  3. package/dist/Form/components/AIExtractionToast/index.d.ts +8 -8
  4. package/dist/Form/components/AIExtractionToast/useAIExtractionToast.d.ts +64 -64
  5. package/dist/Form/components/DevNavBar.d.ts +1 -1
  6. package/dist/Form/components/ReactPortal.d.ts +2 -2
  7. package/dist/Form/definitions.d.ts +40 -40
  8. package/dist/Form/grid/CalendlyEmbed.d.ts +1 -1
  9. package/dist/Form/grid/Container/index.d.ts +19 -19
  10. package/dist/Form/grid/Element/index.d.ts +2 -2
  11. package/dist/Form/grid/Element/utils/address.d.ts +3 -3
  12. package/dist/Form/grid/Element/utils/utils.d.ts +13 -13
  13. package/dist/Form/grid/StyledContainer/hooks/index.d.ts +20 -20
  14. package/dist/Form/grid/StyledContainer/hooks/useFixedContainer.d.ts +1 -1
  15. package/dist/Form/grid/StyledContainer/index.d.ts +21 -21
  16. package/dist/Form/grid/StyledContainer/styles.d.ts +5 -5
  17. package/dist/Form/grid/StyledContainer/transform.d.ts +4 -4
  18. package/dist/Form/grid/StyledContainer/utils.d.ts +44 -44
  19. package/dist/Form/grid/index.d.ts +2 -2
  20. package/dist/Form/hooks/useCheckButtonAction.d.ts +6 -6
  21. package/dist/Form/hooks/useTrackUserInteraction.d.ts +2 -2
  22. package/dist/Form/index.d.ts +52 -52
  23. package/dist/Form/logic.d.ts +10 -10
  24. package/dist/Form/tests/testMocks.d.ts +6 -6
  25. package/dist/auth/LoginError.d.ts +3 -3
  26. package/dist/auth/LoginForm.d.ts +29 -29
  27. package/dist/auth/internal/AuthIntegrationInterface.d.ts +31 -31
  28. package/dist/auth/internal/useFormAuth.d.ts +10 -10
  29. package/dist/auth/internal/utils.d.ts +13 -13
  30. package/dist/auth/useAuthClient.d.ts +2 -2
  31. package/dist/auth/utils.d.ts +1 -1
  32. package/dist/elements/basic/ButtonElement.d.ts +2 -2
  33. package/dist/elements/basic/ImageElement.d.ts +3 -3
  34. package/dist/elements/basic/ProgressBarElement/components/SegmentBar.d.ts +2 -2
  35. package/dist/elements/basic/ProgressBarElement/components/SmoothBar.d.ts +2 -2
  36. package/dist/elements/basic/ProgressBarElement/index.d.ts +2 -2
  37. package/dist/elements/basic/TextElement.d.ts +2 -2
  38. package/dist/elements/basic/VideoElement.d.ts +2 -2
  39. package/dist/elements/components/ErrorInput.d.ts +2 -2
  40. package/dist/elements/components/FormControl.d.ts +10 -10
  41. package/dist/elements/components/FormOff.d.ts +10 -10
  42. package/dist/elements/components/InlineTooltip.d.ts +11 -11
  43. package/dist/elements/components/LoaderContainer.d.ts +10 -10
  44. package/dist/elements/components/Lottie.d.ts +2 -2
  45. package/dist/elements/components/Overlay.d.ts +15 -15
  46. package/dist/elements/components/Placeholder.d.ts +1 -1
  47. package/dist/elements/components/QuikFormViewer/transforms/form.d.ts +1 -1
  48. package/dist/elements/components/QuikFormViewer/transforms/header.d.ts +1 -1
  49. package/dist/elements/components/QuikFormViewer/transforms/sidebar.d.ts +6 -6
  50. package/dist/elements/components/QuikFormViewer.d.ts +9 -9
  51. package/dist/elements/components/Spinner.d.ts +4 -4
  52. package/dist/elements/components/TextHoverTooltip.d.ts +8 -8
  53. package/dist/elements/components/TextNodes.d.ts +4 -4
  54. package/dist/elements/components/Tooltip.d.ts +7 -7
  55. package/dist/elements/components/Watermark.d.ts +1 -1
  56. package/dist/elements/components/data/countries.d.ts +14 -14
  57. package/dist/elements/components/data/states/ae.d.ts +5 -5
  58. package/dist/elements/components/data/states/au.d.ts +5 -5
  59. package/dist/elements/components/data/states/br.d.ts +5 -5
  60. package/dist/elements/components/data/states/ca.d.ts +5 -5
  61. package/dist/elements/components/data/states/cl.d.ts +5 -5
  62. package/dist/elements/components/data/states/cn.d.ts +5 -5
  63. package/dist/elements/components/data/states/co.d.ts +5 -5
  64. package/dist/elements/components/data/states/eg.d.ts +5 -5
  65. package/dist/elements/components/data/states/es.d.ts +5 -5
  66. package/dist/elements/components/data/states/gb.d.ts +5 -5
  67. package/dist/elements/components/data/states/gt.d.ts +5 -5
  68. package/dist/elements/components/data/states/hk.d.ts +5 -5
  69. package/dist/elements/components/data/states/id.d.ts +5 -5
  70. package/dist/elements/components/data/states/ie.d.ts +5 -5
  71. package/dist/elements/components/data/states/in.d.ts +5 -5
  72. package/dist/elements/components/data/states/index.d.ts +6 -6
  73. package/dist/elements/components/data/states/it.d.ts +5 -5
  74. package/dist/elements/components/data/states/jp.d.ts +5 -5
  75. package/dist/elements/components/data/states/kr.d.ts +5 -5
  76. package/dist/elements/components/data/states/mx.d.ts +5 -5
  77. package/dist/elements/components/data/states/my.d.ts +5 -5
  78. package/dist/elements/components/data/states/ng.d.ts +5 -5
  79. package/dist/elements/components/data/states/nz.d.ts +5 -5
  80. package/dist/elements/components/data/states/pa.d.ts +5 -5
  81. package/dist/elements/components/data/states/pe.d.ts +5 -5
  82. package/dist/elements/components/data/states/ph.d.ts +5 -5
  83. package/dist/elements/components/data/states/pt.d.ts +5 -5
  84. package/dist/elements/components/data/states/ro.d.ts +5 -5
  85. package/dist/elements/components/data/states/ru.d.ts +5 -5
  86. package/dist/elements/components/data/states/th.d.ts +5 -5
  87. package/dist/elements/components/data/states/us.d.ts +9 -9
  88. package/dist/elements/components/data/states/za.d.ts +5 -5
  89. package/dist/elements/components/icons/Close.d.ts +6 -6
  90. package/dist/elements/components/icons/DiagonalArrow.d.ts +5 -5
  91. package/dist/elements/components/icons/DownloadIcon.d.ts +4 -4
  92. package/dist/elements/components/icons/FileUpload.d.ts +1 -1
  93. package/dist/elements/components/icons/FormClosed.d.ts +5 -5
  94. package/dist/elements/components/icons/Heart.d.ts +1 -1
  95. package/dist/elements/components/icons/Help.d.ts +4 -4
  96. package/dist/elements/components/icons/HideEyeIcon.d.ts +5 -5
  97. package/dist/elements/components/icons/LeftChevron.d.ts +1 -1
  98. package/dist/elements/components/icons/RatingStar.d.ts +1 -1
  99. package/dist/elements/components/icons/RightChevron.d.ts +1 -1
  100. package/dist/elements/components/icons/ShowEyeIcon.d.ts +5 -5
  101. package/dist/elements/components/icons/Warning.d.ts +5 -5
  102. package/dist/elements/components/icons/index.d.ts +11 -11
  103. package/dist/elements/components/skeletons/FieldSkeleton.d.ts +7 -7
  104. package/dist/elements/components/useBorder.d.ts +21 -21
  105. package/dist/elements/components/useTextEdit.d.ts +6 -5
  106. package/dist/elements/components/useTextEdit.d.ts.map +1 -1
  107. package/dist/elements/fields/AddressLine1Field/index.d.ts +4 -4
  108. package/dist/elements/fields/AddressLine1Field/tests/test-utils.d.ts +33 -34
  109. package/dist/elements/fields/AddressLine1Field/tests/test-utils.d.ts.map +1 -1
  110. package/dist/elements/fields/AddressLine1Field/utils.d.ts +2 -2
  111. package/dist/elements/fields/ButtonGroupField/index.d.ts +2 -2
  112. package/dist/elements/fields/ButtonGroupField/tests/test-utils.d.ts +45 -46
  113. package/dist/elements/fields/ButtonGroupField/tests/test-utils.d.ts.map +1 -1
  114. package/dist/elements/fields/CheckboxField/index.d.ts +5 -5
  115. package/dist/elements/fields/CheckboxField/tests/test-utils.d.ts +19 -20
  116. package/dist/elements/fields/CheckboxField/tests/test-utils.d.ts.map +1 -1
  117. package/dist/elements/fields/CheckboxGroupField/index.d.ts +2 -2
  118. package/dist/elements/fields/CheckboxGroupField/tests/test-utils.d.ts +59 -60
  119. package/dist/elements/fields/CheckboxGroupField/tests/test-utils.d.ts.map +1 -1
  120. package/dist/elements/fields/ColorPickerField/index.d.ts +2 -2
  121. package/dist/elements/fields/ColorPickerField/tests/test-utils.d.ts +20 -21
  122. package/dist/elements/fields/ColorPickerField/tests/test-utils.d.ts.map +1 -1
  123. package/dist/elements/fields/CustomField/Status.d.ts +8 -8
  124. package/dist/elements/fields/CustomField/index.d.ts +3 -3
  125. package/dist/elements/fields/CustomField/template.d.ts +1 -1
  126. package/dist/elements/fields/CustomField/useCustomComponentIframe.d.ts +15 -15
  127. package/dist/elements/fields/DateSelectorField/index.d.ts +22 -22
  128. package/dist/elements/fields/DateSelectorField/index.d.ts.map +1 -1
  129. package/dist/elements/fields/DateSelectorField/styles.d.ts +4 -4
  130. package/dist/elements/fields/DateSelectorField/tests/test-utils.d.ts +73 -74
  131. package/dist/elements/fields/DateSelectorField/tests/test-utils.d.ts.map +1 -1
  132. package/dist/elements/fields/DateSelectorField/useDateLocale.d.ts +7 -7
  133. package/dist/elements/fields/DateSelectorField/utils.d.ts +3 -3
  134. package/dist/elements/fields/DropdownField/index.d.ts +1 -1
  135. package/dist/elements/fields/DropdownField/tests/test-utils.d.ts +26 -28
  136. package/dist/elements/fields/DropdownField/tests/test-utils.d.ts.map +1 -1
  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 +46 -47
  143. package/dist/elements/fields/DropdownMultiField/tests/test-utils.d.ts.map +1 -1
  144. package/dist/elements/fields/DropdownMultiField/types.d.ts +49 -49
  145. package/dist/elements/fields/DropdownMultiField/useCollapsedSelectionManager.d.ts +46 -46
  146. package/dist/elements/fields/DropdownMultiField/useCollapsedValuesMeasurement.d.ts +19 -19
  147. package/dist/elements/fields/DropdownMultiField/useDropdownInteractions.d.ts +46 -46
  148. package/dist/elements/fields/DropdownMultiField/useDropdownOptions.d.ts +24 -24
  149. package/dist/elements/fields/DropdownMultiField/useSelectProps.d.ts +112 -112
  150. package/dist/elements/fields/FileUploadField/index.d.ts +2 -2
  151. package/dist/elements/fields/FileUploadField/tests/test-utils.d.ts +10 -10
  152. package/dist/elements/fields/MatrixField/index.d.ts +2 -2
  153. package/dist/elements/fields/MatrixField/tests/test-utils.d.ts +66 -67
  154. package/dist/elements/fields/MatrixField/tests/test-utils.d.ts.map +1 -1
  155. package/dist/elements/fields/PasswordField/index.d.ts +4 -4
  156. package/dist/elements/fields/PasswordField/tests/test-utils.d.ts +29 -30
  157. package/dist/elements/fields/PasswordField/tests/test-utils.d.ts.map +1 -1
  158. package/dist/elements/fields/PaymentMethodField.d.ts +4 -4
  159. package/dist/elements/fields/PhoneField/CountryDropdown.d.ts +3 -3
  160. package/dist/elements/fields/PhoneField/exampleNumbers.d.ts +2 -2
  161. package/dist/elements/fields/PhoneField/index.d.ts +4 -4
  162. package/dist/elements/fields/PhoneField/tests/test-utils.d.ts +85 -86
  163. package/dist/elements/fields/PhoneField/tests/test-utils.d.ts.map +1 -1
  164. package/dist/elements/fields/PhoneField/timeZoneCountries.d.ts +4 -4
  165. package/dist/elements/fields/PhoneField/validation.d.ts +3 -3
  166. package/dist/elements/fields/PinInputField/index.d.ts +2 -2
  167. package/dist/elements/fields/PinInputField/tests/test-utils.d.ts +78 -79
  168. package/dist/elements/fields/PinInputField/tests/test-utils.d.ts.map +1 -1
  169. package/dist/elements/fields/PinInputField/useOTPListener.d.ts +1 -1
  170. package/dist/elements/fields/QRScanner/constants.d.ts +14 -14
  171. package/dist/elements/fields/QRScanner/hooks/use-device-rotation.d.ts +11 -11
  172. package/dist/elements/fields/QRScanner/index.d.ts +2 -2
  173. package/dist/elements/fields/QRScanner/qrLoader.d.ts +2 -2
  174. package/dist/elements/fields/QRScanner/utils/local-storage.d.ts +5 -5
  175. package/dist/elements/fields/QRScanner/utils/select-camera.d.ts +9 -9
  176. package/dist/elements/fields/QRScanner/utils/supports-zoom.d.ts +8 -8
  177. package/dist/elements/fields/RadioButtonGroupField/index.d.ts +2 -2
  178. package/dist/elements/fields/RadioButtonGroupField/tests/test-utils.d.ts +54 -55
  179. package/dist/elements/fields/RadioButtonGroupField/tests/test-utils.d.ts.map +1 -1
  180. package/dist/elements/fields/RatingField/index.d.ts +1 -1
  181. package/dist/elements/fields/RatingField/tests/test-utils.d.ts +21 -22
  182. package/dist/elements/fields/RatingField/tests/test-utils.d.ts.map +1 -1
  183. package/dist/elements/fields/SignatureField/components/SignatureCanvas.d.ts +22 -22
  184. package/dist/elements/fields/SignatureField/components/SignatureModal.d.ts +12 -12
  185. package/dist/elements/fields/SignatureField/components/utils.d.ts +10 -10
  186. package/dist/elements/fields/SignatureField/index.d.ts +3 -3
  187. package/dist/elements/fields/SignatureField/translation.d.ts +17 -17
  188. package/dist/elements/fields/SliderField/index.d.ts +1 -1
  189. package/dist/elements/fields/SliderField/styles.d.ts +3 -3
  190. package/dist/elements/fields/SliderField/tests/test-utils.d.ts +21 -22
  191. package/dist/elements/fields/SliderField/tests/test-utils.d.ts.map +1 -1
  192. package/dist/elements/fields/TextArea/index.d.ts +4 -4
  193. package/dist/elements/fields/TextArea/tests/test-utils.d.ts +10 -10
  194. package/dist/elements/fields/TextField/TextAutocomplete.d.ts +15 -15
  195. package/dist/elements/fields/TextField/index.d.ts +4 -4
  196. package/dist/elements/fields/TextField/index.d.ts.map +1 -1
  197. package/dist/elements/fields/TextField/tests/test-utils.d.ts +10 -10
  198. package/dist/elements/fields/index.d.ts +27 -26
  199. package/dist/elements/fields/index.d.ts.map +1 -1
  200. package/dist/elements/fields/shared/tests/field-test-utils.d.ts +50 -51
  201. package/dist/elements/fields/shared/tests/field-test-utils.d.ts.map +1 -1
  202. package/dist/elements/index.d.ts +36 -36
  203. package/dist/elements/styles.d.ts +64 -64
  204. package/dist/elements/utils/fieldNormalization.d.ts +12 -12
  205. package/dist/fthry_FormControl.DxW_Bnm8.js +16 -0
  206. package/dist/fthry_InlineTooltip.CKU9xvD_.js +53 -0
  207. package/dist/fthry_Overlay.CAkqWcqE.js +228 -0
  208. package/dist/fthry_PaymentMethodField.DgbAXbj6.js +928 -0
  209. package/dist/fthry_Placeholder.Dns0M5df.js +14 -0
  210. package/dist/fthry_ShowEyeIcon.B5WMynZy.js +13 -0
  211. package/dist/fthry_index.3X-DqTfs.js +97 -0
  212. package/dist/fthry_index.B2eJWMcW.js +2000 -0
  213. package/dist/fthry_index.BMqtYXlU.js +8166 -0
  214. package/dist/fthry_index.BOBND5Kw.js +1427 -0
  215. package/dist/fthry_index.BOzMcNbx.js +1452 -0
  216. package/dist/fthry_index.BQObFcP7.js +15921 -0
  217. package/dist/fthry_index.CJrl9QNZ.js +888 -0
  218. package/dist/fthry_index.CcFhx1jU.js +73 -0
  219. package/dist/fthry_index.CcNVqQ7R.js +293 -0
  220. package/dist/fthry_index.CnVdemA5.js +1162 -0
  221. package/dist/fthry_index.CxRelutP.js +42 -0
  222. package/dist/fthry_index.D19e9CJD.js +1193 -0
  223. package/dist/fthry_index.D6UpFxPB.js +216 -0
  224. package/dist/fthry_index.DD4M0PFc.js +46 -0
  225. package/dist/fthry_index.DMgGgKWy.js +55 -0
  226. package/dist/fthry_index.DQB3aI2u.js +95 -0
  227. package/dist/fthry_index.DaJO430v.js +513 -0
  228. package/dist/fthry_index.DfiZRBo4.js +35 -0
  229. package/dist/fthry_index.Di1aadud.js +251 -0
  230. package/dist/fthry_index.DpFG-lbP.js +138 -0
  231. package/dist/fthry_index.DsECQjJb.js +131 -0
  232. package/dist/fthry_index.diObxaBS.js +60999 -0
  233. package/dist/fthry_index.ghZ0mkQF.js +98 -0
  234. package/dist/fthry_input.COhHyroj.js +3779 -0
  235. package/dist/fthry_script.D9CLkYzO.js +157 -0
  236. package/dist/fthry_styles.Bcy5cq6p.js +1654 -0
  237. package/dist/fthry_useElementSize.boD8p4bk.js +51 -0
  238. package/dist/fthry_useSalesforceSync.BNvWxPzE.js +44 -0
  239. package/dist/fthry_webfontloader.DEj1XG0u.js +57 -0
  240. package/dist/hooks/router.d.ts +14 -14
  241. package/dist/hooks/useElementSize.d.ts +7 -7
  242. package/dist/hooks/useLoader.d.ts +35 -35
  243. package/dist/hooks/useMounted.d.ts +2 -2
  244. package/dist/hooks/usePollFuserData.d.ts +1 -1
  245. package/dist/hooks/usePrevious.d.ts +2 -2
  246. package/dist/hooks/useSalesforceSync.d.ts +10 -10
  247. package/dist/index.d.ts +150 -149
  248. package/dist/index.d.ts.map +1 -1
  249. package/dist/index.js +9 -1
  250. package/dist/integrations/alloy.d.ts +2 -2
  251. package/dist/integrations/amplitude.d.ts +1 -1
  252. package/dist/integrations/argyle.d.ts +2 -2
  253. package/dist/integrations/calendly.d.ts +2 -2
  254. package/dist/integrations/firebase.d.ts +42 -42
  255. package/dist/integrations/flinks/index.d.ts +10 -10
  256. package/dist/integrations/flinks/utils.d.ts +12 -12
  257. package/dist/integrations/googleAnalytics.d.ts +3 -3
  258. package/dist/integrations/googleTagManager.d.ts +1 -1
  259. package/dist/integrations/heap.d.ts +2 -2
  260. package/dist/integrations/intercom.d.ts +2 -2
  261. package/dist/integrations/mixpanel.d.ts +2 -2
  262. package/dist/integrations/persona.d.ts +2 -2
  263. package/dist/integrations/plaid.d.ts +2 -2
  264. package/dist/integrations/recaptcha.d.ts +2 -2
  265. package/dist/integrations/rudderstack.d.ts +3 -3
  266. package/dist/integrations/schwab.d.ts +1 -1
  267. package/dist/integrations/segment.d.ts +1 -1
  268. package/dist/integrations/stripe/Cart.d.ts +19 -19
  269. package/dist/integrations/stripe/SimplifiedProduct.d.ts +39 -39
  270. package/dist/integrations/stripe/index.d.ts +1 -1
  271. package/dist/integrations/stripe/stripe.d.ts +97 -97
  272. package/dist/integrations/stytch.d.ts +19 -19
  273. package/dist/integrations/trustedform.d.ts +2 -2
  274. package/dist/integrations/utils.d.ts +14 -14
  275. package/dist/setupTests.d.ts +1 -1
  276. package/dist/types/Form.d.ts +80 -80
  277. package/dist/utils/DangerouslySetHTMLContent.d.ts +2 -2
  278. package/dist/utils/ShadowDomHtmlContent.d.ts +8 -8
  279. package/dist/utils/array.d.ts +11 -11
  280. package/dist/utils/browser.d.ts +23 -23
  281. package/dist/utils/callbackQueue.d.ts +10 -10
  282. package/dist/utils/document.d.ts +1 -1
  283. package/dist/utils/elementActions.d.ts +55 -55
  284. package/dist/utils/entities/Collaborator.d.ts +14 -14
  285. package/dist/utils/entities/Field.d.ts +129 -129
  286. package/dist/utils/error.d.ts +13 -13
  287. package/dist/utils/featheryClient/index.d.ts +103 -103
  288. package/dist/utils/featheryClient/integrationClient.d.ts +114 -114
  289. package/dist/utils/featheryClient/utils.d.ts +1 -1
  290. package/dist/utils/fieldHelperFunctions.d.ts +70 -70
  291. package/dist/utils/formContext.d.ts +104 -104
  292. package/dist/utils/formHelperFunctions.d.ts +44 -44
  293. package/dist/utils/hideAndRepeats.d.ts +27 -27
  294. package/dist/utils/hydration.d.ts +14 -14
  295. package/dist/utils/image.d.ts +39 -39
  296. package/dist/utils/init.d.ts +59 -59
  297. package/dist/utils/interactionState.d.ts +4 -4
  298. package/dist/utils/internalState.d.ts +91 -91
  299. package/dist/utils/logic.d.ts +50 -50
  300. package/dist/utils/offlineRequestHandler.d.ts +94 -94
  301. package/dist/utils/polyfills.d.ts +2 -2
  302. package/dist/utils/primitives.d.ts +14 -14
  303. package/dist/utils/random.d.ts +1 -1
  304. package/dist/utils/repeat.d.ts +38 -38
  305. package/dist/utils/sensitiveActions.d.ts +7 -7
  306. package/dist/utils/stepHelperFunctions.d.ts +22 -22
  307. package/dist/utils/styles.d.ts +5 -5
  308. package/dist/utils/validation.d.ts +58 -58
  309. package/package.json +17 -5
  310. package/umd/466.e3456c8b3407ad04ba56.js +1 -0
  311. package/umd/{DateSelectorField.b98c0ecb80f56e65cc69.js → DateSelectorField.bd5646949de71f571d04.js} +1 -1
  312. package/umd/{TextField.a3d8d42f6f8236d00f83.js → TextField.5a5296fe3ea60c4459f2.js} +1 -1
  313. package/umd/index.js +1 -1
  314. package/umd/796.e66d52ea21ef09c4eeaa.js +0 -1
@@ -0,0 +1,73 @@
1
+ import { u as useBorder, j as jsxs, a as __assign, b as jsx, h as hoverStylesGuard, f as imgMaxSizeStyles, n as noTextSelectStyles, E as ErrorInput } from './fthry_index.diObxaBS.js';
2
+ import { useRef, useMemo } from 'react';
3
+ import { I as InlineTooltip } from './fthry_InlineTooltip.CKU9xvD_.js';
4
+ import { u as useSalesforceSync } from './fthry_useSalesforceSync.BNvWxPzE.js';
5
+ import 'react/jsx-runtime';
6
+ import 'react-dom/client';
7
+ import 'stream';
8
+ import 'events';
9
+ import 'buffer';
10
+ import 'util';
11
+ import 'react-dom';
12
+ import './fthry_Overlay.CAkqWcqE.js';
13
+
14
+ function ButtonGroupField(_a) {
15
+ var element = _a.element, responsiveStyles = _a.responsiveStyles, fieldLabel = _a.fieldLabel, inlineError = _a.inlineError, _b = _a.fieldVal, fieldVal = _b === void 0 ? null : _b, _c = _a.repeatIndex, repeatIndex = _c === void 0 ? null : _c, editMode = _a.editMode, _d = _a.onClick, onClick = _d === void 0 ? function () { } : _d, _e = _a.elementProps, elementProps = _e === void 0 ? {} : _e, _f = _a.disabled, disabled = _f === void 0 ? false : _f, children = _a.children;
16
+ var containerRef = useRef(null);
17
+ var servar = element.servar;
18
+ var _g = useSalesforceSync(servar.metadata.salesforce_sync, editMode), dynamicOptions = _g.dynamicOptions, loadingDynamicOptions = _g.loadingDynamicOptions, shouldSalesforceSync = _g.shouldSalesforceSync;
19
+ var selectedOptMap = useMemo(function () {
20
+ return Array.isArray(fieldVal)
21
+ ? fieldVal.reduce(function (map, selected) {
22
+ map[selected] = true;
23
+ return map;
24
+ }, {})
25
+ : {};
26
+ }, [fieldVal]);
27
+ var _h = useBorder({
28
+ element: element,
29
+ error: inlineError,
30
+ breakpoint: responsiveStyles.getMobileBreakpoint()
31
+ }), borderStyles = _h.borderStyles, customBorder = _h.customBorder;
32
+ var labels = servar.metadata.option_labels;
33
+ var tooltips = servar.metadata.option_tooltips;
34
+ var options;
35
+ if (shouldSalesforceSync) {
36
+ options = dynamicOptions.map(function (option) { return ({
37
+ value: option.value,
38
+ label: option.label,
39
+ tooltip: ''
40
+ }); });
41
+ }
42
+ else if (repeatIndex !== null &&
43
+ servar.metadata.repeat_options !== undefined &&
44
+ servar.metadata.repeat_options[repeatIndex] !== undefined) {
45
+ options = servar.metadata.repeat_options[repeatIndex];
46
+ }
47
+ else {
48
+ options = servar.metadata.options.map(function (opt, index) { return ({
49
+ value: opt,
50
+ label: labels && labels[index] ? labels[index] : opt,
51
+ tooltip: tooltips && tooltips[index] ? tooltips[index] : ''
52
+ }); });
53
+ }
54
+ return (jsxs("div", __assign({ ref: containerRef, css: __assign({ position: 'relative', width: '100%', height: '100%', pointerEvents: editMode || disabled || loadingDynamicOptions ? 'none' : 'auto' }, responsiveStyles.getTarget('fc')) }, { children: [children, fieldLabel, jsxs("div", __assign({ css: __assign({ display: 'flex', flexWrap: 'wrap', width: '100%' }, responsiveStyles.getTarget('bc')) }, elementProps, { children: [options.map(function (option, index) {
55
+ var _a, _b, _c;
56
+ var value = (_a = option.value) !== null && _a !== void 0 ? _a : option;
57
+ var label = (_b = option.label) !== null && _b !== void 0 ? _b : option;
58
+ var imageUrl = option.image
59
+ ? option.image
60
+ : servar.metadata.option_images[index];
61
+ var tooltip = (_c = option.tooltip) !== null && _c !== void 0 ? _c : '';
62
+ return (jsxs("div", __assign({ onClick: function () {
63
+ if (!editMode && !disabled && !loadingDynamicOptions) {
64
+ onClick(value);
65
+ }
66
+ }, css: __assign(__assign({ position: 'relative', display: 'flex', justifyContent: 'center', alignItems: 'center', boxSizing: 'border-box', cursor: 'pointer' }, responsiveStyles.getTarget('field')), { '&:hover': hoverStylesGuard(editMode || disabled || loadingDynamicOptions
67
+ ? {}
68
+ : __assign(__assign({}, responsiveStyles.getTarget('hover')), borderStyles.hover)), '&&': selectedOptMap[value]
69
+ ? __assign(__assign({}, responsiveStyles.getTarget('active')), borderStyles.active) : {} }) }, { children: [customBorder, imageUrl && (jsx("img", { src: imageUrl, css: __assign(__assign({}, imgMaxSizeStyles), responsiveStyles.getTargets('img')) })), label && (jsx("div", __assign({ css: __assign(__assign({ display: 'flex', maxWidth: '100%' }, responsiveStyles.getTargets('label')), noTextSelectStyles) }, { children: label }))), tooltip && (jsx(InlineTooltip, { containerRef: containerRef, id: "".concat(element.id, "-").concat(label), text: tooltip, responsiveStyles: responsiveStyles, absolute: false, repeat: element.repeat }))] }), "".concat(servar.key, "-").concat(index)));
70
+ }), jsx(ErrorInput, { id: servar.key, name: servar.key, "aria-label": element.properties.aria_label })] }))] })));
71
+ }
72
+
73
+ export { ButtonGroupField as default };
@@ -0,0 +1,293 @@
1
+ import { j as jsxs, a as __assign, b as jsx, D as DROPDOWN_Z_INDEX, _ as __read, u as useBorder, ar as getFieldValue, as as stringifyWithNull, h as hoverStylesGuard, i as iosScrollOnFocus, k as FORM_Z_INDEX, r as resetStyles, at as emailPatternStr } from './fthry_index.diObxaBS.js';
2
+ import { memo, useRef, useState } from 'react';
3
+ import { P as Placeholder } from './fthry_Placeholder.Dns0M5df.js';
4
+ import { I as InlineTooltip } from './fthry_InlineTooltip.CKU9xvD_.js';
5
+ import { O as Overlay } from './fthry_Overlay.CAkqWcqE.js';
6
+ import { u as useElementSize } from './fthry_useElementSize.boD8p4bk.js';
7
+ import { S as ShowEyeIcon, a as ShowEyeIcon$1 } from './fthry_ShowEyeIcon.B5WMynZy.js';
8
+ import { a as IMaskInput } from './fthry_input.COhHyroj.js';
9
+ import 'react/jsx-runtime';
10
+ import 'react-dom/client';
11
+ import 'stream';
12
+ import 'events';
13
+ import 'buffer';
14
+ import 'util';
15
+ import 'react-dom';
16
+ import './fthry_index.D19e9CJD.js';
17
+
18
+ function TextAutocomplete(_a) {
19
+ var _b = _a.allOptions, allOptions = _b === void 0 ? [] : _b, showOptions = _a.showOptions, _c = _a.onSelect, onSelect = _c === void 0 ? function () { } : _c, _d = _a.onHide, onHide = _d === void 0 ? function () { } : _d, _e = _a.onInputFocus, onInputFocus = _e === void 0 ? function () { } : _e, _f = _a.value, value = _f === void 0 ? '' : _f, containerRef = _a.containerRef, responsiveStyles = _a.responsiveStyles, listItemRef = _a.listItemRef, children = _a.children;
20
+ var options = allOptions.filter(function (opt) {
21
+ return opt.toLowerCase().includes(value.toLowerCase());
22
+ });
23
+ var triggerRef = useRef(null);
24
+ var dropdownWidth = useElementSize(triggerRef).width;
25
+ if (allOptions.length === 0)
26
+ return children;
27
+ return (jsxs("div", __assign({ ref: triggerRef, css: { height: '100%', width: '100%' } }, { children: [children, options.length > 0 && showOptions && (jsx(Overlay, __assign({ targetRef: triggerRef, containerRef: containerRef, show: true, placement: 'bottom-start', onHide: onHide }, { children: jsx("ul", __assign({ css: __assign({ zIndex: DROPDOWN_Z_INDEX, listStyleType: 'none', padding: 0, margin: 0, maxHeight: '210px', overflowY: 'scroll', overflowX: 'auto', width: dropdownWidth !== undefined ? "".concat(dropdownWidth, "px") : '100%', backgroundColor: 'white', cursor: 'pointer', boxShadow: '0 0 4px rgb(0 0 0 / 15%)' }, responsiveStyles.getTarget('dropdown')) }, { children: options.map(function (opt, index) { return (jsx("li", __assign({ css: {
28
+ padding: '8px 14px',
29
+ transition: '0.1s ease all',
30
+ '&:hover': { backgroundColor: '#e6e6e633' },
31
+ '&:focus-visible': {
32
+ outline: 'none',
33
+ backgroundColor: '#e6e6e644'
34
+ }
35
+ }, tabIndex: 0, ref: function (ref) {
36
+ listItemRef.current[index] = ref;
37
+ }, onClick: function () { return onSelect(opt); }, onKeyDown: function (e) {
38
+ var _a, _b;
39
+ var disable = function () {
40
+ e.preventDefault();
41
+ e.stopPropagation();
42
+ };
43
+ if (e.key === 'Enter') {
44
+ disable();
45
+ onSelect(opt);
46
+ }
47
+ else if (['ArrowDown', 'ArrowRight'].includes(e.key)) {
48
+ disable();
49
+ (_a = listItemRef.current[index].nextSibling) === null || _a === void 0 ? void 0 : _a.focus();
50
+ }
51
+ else if (['ArrowUp', 'ArrowLeft'].includes(e.key)) {
52
+ disable();
53
+ if (index === 0)
54
+ onInputFocus();
55
+ else
56
+ (_b = listItemRef.current[index].previousSibling) === null || _b === void 0 ? void 0 : _b.focus();
57
+ }
58
+ }, onBlur: function (e) {
59
+ if (!e.relatedTarget ||
60
+ !listItemRef.current.some(function (item) { return item === e.relatedTarget; })) {
61
+ onHide();
62
+ }
63
+ } }, { children: opt }), "".concat(opt, "-").concat(index))); }) })) })))] })));
64
+ }
65
+ var TextAutocomplete$1 = memo(TextAutocomplete);
66
+
67
+ var DEFAULT_LENGTH = 1024; // Default limit on backend
68
+ var MAX_FIELD_LENGTHS = {
69
+ text_area: 16384,
70
+ url: 256,
71
+ gmap_zip: 10
72
+ };
73
+ var maxFieldLength = function (type) { var _a; return (_a = MAX_FIELD_LENGTHS[type]) !== null && _a !== void 0 ? _a : DEFAULT_LENGTH; };
74
+ function escapeDefinitionChars(str) {
75
+ return (str !== null && str !== void 0 ? str : '')
76
+ .replaceAll('0', '\\0')
77
+ .replaceAll('a', '\\a')
78
+ .replaceAll('b', '\\b')
79
+ .replaceAll('*', '\\*');
80
+ }
81
+ function constraintChar(allowed) {
82
+ switch (allowed) {
83
+ case 'letters':
84
+ return 'a';
85
+ case 'alphanumeric':
86
+ return 'b';
87
+ case 'alphaspace':
88
+ return 'c';
89
+ case 'digits':
90
+ return '0';
91
+ default:
92
+ return '*';
93
+ }
94
+ }
95
+ function getTextFieldMask(servar) {
96
+ var data = servar.metadata;
97
+ var prefix = escapeDefinitionChars(data.prefix);
98
+ var suffix = escapeDefinitionChars(data.suffix);
99
+ var mask = '';
100
+ if (data.mask)
101
+ mask = data.mask;
102
+ else {
103
+ var allowed = data.allowed_characters;
104
+ if (servar.type === 'gmap_zip' && !allowed)
105
+ allowed = 'alphaspace';
106
+ var definitionChar = constraintChar(allowed);
107
+ var numOptional = maxFieldLength(servar.type) - prefix.length - suffix.length;
108
+ if (servar.max_length)
109
+ numOptional = Math.min(servar.max_length, numOptional);
110
+ mask = "[".concat(definitionChar.repeat(numOptional), "]");
111
+ }
112
+ // Approximate dynamic input by making each character optional
113
+ return "".concat(prefix).concat(mask).concat(suffix);
114
+ }
115
+ function getMaskProps(servar, value, showPassword) {
116
+ var _a, _b, _c;
117
+ var maskProps;
118
+ // Max length included in mask for validation of typed inputs
119
+ var maxLength = (_a = servar.max_length) !== null && _a !== void 0 ? _a : maxFieldLength(servar.type);
120
+ switch (servar.type) {
121
+ case 'integer_field':
122
+ maskProps = {
123
+ mask: 'num',
124
+ blocks: {
125
+ num: {
126
+ mask: Number,
127
+ radix: '.',
128
+ thousandsSeparator: ',',
129
+ scale: 2,
130
+ // Larger numbers get converted to scientific notation when sent to backend
131
+ max: (_b = servar.max_length) !== null && _b !== void 0 ? _b : Number.MAX_SAFE_INTEGER,
132
+ min: Math.max(0, (_c = servar.min_length) !== null && _c !== void 0 ? _c : 0)
133
+ }
134
+ },
135
+ value: value.toString()
136
+ };
137
+ if (servar.format === 'currency') {
138
+ maskProps.mask = '$num';
139
+ }
140
+ break;
141
+ case 'ssn':
142
+ maskProps = {
143
+ // mask uses ∗ character which is like * but centered in inputs
144
+ mask: servar.metadata.last_four_digits
145
+ ? '∗∗∗ - ∗∗ - 0000'
146
+ : '000 - 00 - 0000',
147
+ // displayChar allows for secure entry without using password input
148
+ // this prevents browser password manager from triggering on SSN fields
149
+ displayChar: showPassword ? undefined : '∗',
150
+ placeholderChar: servar.metadata.last_four_digits ? ' ' : undefined,
151
+ lazy: !servar.metadata.last_four_digits
152
+ };
153
+ break;
154
+ case 'email':
155
+ case 'text_area':
156
+ case 'url':
157
+ maskProps = { mask: new RegExp("^.{0,".concat(maxLength, "}$")), maxLength: maxLength };
158
+ break;
159
+ default:
160
+ if (servar.metadata.mask)
161
+ maxLength = undefined;
162
+ maskProps = {
163
+ mask: getTextFieldMask(servar),
164
+ definitions: {
165
+ b: /[a-zA-Z0-9]/,
166
+ c: /[a-zA-Z0-9 ]/
167
+ },
168
+ maxLength: maxLength
169
+ };
170
+ break;
171
+ }
172
+ return __assign({ lazy: false, unmask: !servar.metadata.save_mask }, maskProps);
173
+ }
174
+ function getInputProps(servar, options, autoComplete) {
175
+ var _a;
176
+ var constraints = {
177
+ minLength: servar.min_length
178
+ };
179
+ // Max length included here for validation of programmatically set
180
+ // inputs
181
+ var maxLength = (_a = servar.max_length) !== null && _a !== void 0 ? _a : maxFieldLength(servar.type);
182
+ if (options.length > 0)
183
+ constraints.autoComplete = 'off';
184
+ var meta = servar.metadata;
185
+ switch (servar.type) {
186
+ case 'integer_field':
187
+ return { inputMode: 'decimal' };
188
+ case 'email':
189
+ if (autoComplete && !constraints.autoComplete) {
190
+ constraints.autoComplete = 'email';
191
+ }
192
+ return __assign({ type: 'email', pattern: emailPatternStr, maxLength: maxLength }, constraints);
193
+ case 'gmap_zip':
194
+ if (autoComplete && !constraints.autoComplete) {
195
+ constraints.autoComplete = 'postal-code';
196
+ }
197
+ return __assign(__assign({}, constraints), { maxLength: maxLength, inputMode: (meta.allowed_characters === 'digits'
198
+ ? 'numeric'
199
+ : 'text') });
200
+ case 'url':
201
+ if (autoComplete && !constraints.autoComplete) {
202
+ constraints.autoComplete = 'url';
203
+ constraints.maxLength = maxLength;
204
+ }
205
+ return constraints;
206
+ case 'ssn':
207
+ return __assign({ inputMode: 'numeric' }, constraints);
208
+ default:
209
+ constraints.maxLength = maxLength;
210
+ if (meta.custom_autocomplete && !constraints.autoComplete)
211
+ constraints.autoComplete = meta.custom_autocomplete;
212
+ if (meta.number_keypad || meta.allowed_characters === 'digits') {
213
+ return __assign({ inputMode: 'numeric' }, constraints);
214
+ }
215
+ return constraints;
216
+ }
217
+ }
218
+ var EXIT_DELAY_TIME = 200;
219
+ function TextField(_a) {
220
+ var _b;
221
+ var _c;
222
+ var element = _a.element, responsiveStyles = _a.responsiveStyles, fieldLabel = _a.fieldLabel, _d = _a.elementProps, elementProps = _d === void 0 ? {} : _d, _e = _a.required, required = _e === void 0 ? false : _e, _f = _a.disabled, disabled = _f === void 0 ? false : _f, autoComplete = _a.autoComplete, editMode = _a.editMode, _g = _a.onAccept, onAccept = _g === void 0 ? function () { } : _g, _h = _a.onEnter, onEnter = _h === void 0 ? function () { } : _h, _j = _a.setRef, setRef = _j === void 0 ? function () { } : _j, inlineError = _a.inlineError, _k = _a.repeatIndex, repeatIndex = _k === void 0 ? null : _k, children = _a.children;
223
+ var _l = __read(useState(false), 2), showAutocomplete = _l[0], setShowAutocomplete = _l[1];
224
+ // Hide SSNs by default
225
+ var _m = __read(useState(false), 2), showPassword = _m[0], setShowPassword = _m[1];
226
+ var _o = useBorder({
227
+ element: element,
228
+ error: inlineError,
229
+ breakpoint: responsiveStyles.getMobileBreakpoint()
230
+ }), borderStyles = _o.borderStyles, customBorder = _o.customBorder, borderId = _o.borderId;
231
+ var containerRef = useRef(null);
232
+ var listItemRef = useRef([]);
233
+ var inputRef = useRef(null);
234
+ var fieldVal = getFieldValue(element).value;
235
+ var rawValue = stringifyWithNull(fieldVal);
236
+ var servar = element.servar;
237
+ var options = ((_c = servar.metadata.options) !== null && _c !== void 0 ? _c : []).filter(function (opt) { return opt; });
238
+ var spacing = element.properties.tooltipText ? 30 : 8;
239
+ 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({ css: __assign(__assign(__assign({ position: 'relative', width: '100%', whiteSpace: 'nowrap',
240
+ // Prevent placeholder overflow
241
+ overflowX: 'clip' }, responsiveStyles.getTarget('sub-fc')), (disabled ? responsiveStyles.getTarget('disabled') : {})), { '&:focus-within': __assign(__assign({}, responsiveStyles.getTarget('active')), borderStyles.active), '&:hover': hoverStylesGuard(disabled
242
+ ? {}
243
+ : __assign(__assign({}, responsiveStyles.getTarget('hover')), borderStyles.hover)) }) }, { children: [jsx(TextAutocomplete$1, __assign({ allOptions: options, value: rawValue, showOptions: showAutocomplete, onSelect: function (option) {
244
+ var _a, _b, _c;
245
+ onAccept(option, {});
246
+ setShowAutocomplete(false);
247
+ (_c = (_b = (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.element) === null || _b === void 0 ? void 0 : _b.focus) === null || _c === void 0 ? void 0 : _c.call(_b);
248
+ }, responsiveStyles: responsiveStyles, containerRef: containerRef, listItemRef: listItemRef, onHide: function () { return setShowAutocomplete(false); }, onInputFocus: function () { var _a, _b, _c; return (_c = (_b = (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.element) === null || _b === void 0 ? void 0 : _b.focus) === null || _c === void 0 ? void 0 : _c.call(_b); } }, { children: jsx(IMaskInput, __assign({ id: servar.key, name: servar.key, ref: inputRef, css: __assign(__assign(__assign({ position: 'relative',
249
+ // Position input above the border div
250
+ zIndex: FORM_Z_INDEX, height: '100%', width: '100%', border: 'none', margin: 0, backgroundColor: 'transparent' }, resetStyles), responsiveStyles.getTarget('field')), (_b = { '&:focus': responsiveStyles.getTarget('field')['&:focus'] }, _b["&:focus ~ #".concat(borderId)] = Object.values(borderStyles.active)[0], _b['&:not(:focus)'] = rawValue || !element.properties.placeholder
251
+ ? {}
252
+ : { color: 'transparent !important' }, _b)), required: required, disabled: disabled, placeholder: '', value: rawValue, "aria-label": element.properties.aria_label,
253
+ // Not on focus because if error is showing, it will
254
+ // keep triggering dropdown after blur
255
+ onKeyDown: function (e) {
256
+ if (e.key === 'Enter')
257
+ onEnter(e);
258
+ else if (options.length) {
259
+ if (!rawValue && ['Backspace', 'Delete'].includes(e.key))
260
+ return;
261
+ if (['ArrowUp', 'ArrowLeft', 'ArrowRight'].includes(e.key))
262
+ return;
263
+ setShowAutocomplete(e.key !== 'Escape');
264
+ if (e.key === 'ArrowDown') {
265
+ setTimeout(function () {
266
+ var _a;
267
+ return (_a = listItemRef.current[0]) === null || _a === void 0 ? void 0 : _a.focus({
268
+ preventScroll: true
269
+ });
270
+ }, 0);
271
+ }
272
+ }
273
+ }, onBlur: function (e) {
274
+ if (e.relatedTarget &&
275
+ listItemRef.current.some(function (item) { return item === e.relatedTarget; }))
276
+ return;
277
+ if (options.length > 0) {
278
+ // Blur may be triggered by option selection, and option
279
+ // click logic may need to be run first. So delay option removal.
280
+ setTimeout(function () { return setShowAutocomplete(false); }, EXIT_DELAY_TIME);
281
+ }
282
+ }, onFocus: iosScrollOnFocus, inputRef: setRef }, getInputProps(servar, options, autoComplete === 'on'), getMaskProps(servar, rawValue, showPassword), { onAccept: onAccept })) })), servar.type === 'ssn' && rawValue && (jsx("div", __assign({ css: {
283
+ position: 'absolute',
284
+ cursor: 'pointer',
285
+ insetInlineEnd: "".concat(spacing, "px"),
286
+ // We need to subtract half the height of the icon to center it
287
+ top: 'calc(50% - 12px)',
288
+ zIndex: FORM_Z_INDEX
289
+ }, onClick: function () { return setShowPassword(function (prev) { return !prev; }); }, "aria-label": 'Toggle SSN visibility' }, { children: showPassword ? jsx(ShowEyeIcon, {}) : jsx(ShowEyeIcon$1, {}) }))), customBorder, jsx(Placeholder, { value: rawValue, element: element, responsiveStyles: responsiveStyles, repeatIndex: repeatIndex }), jsx(InlineTooltip, { containerRef: containerRef, id: element.id, text: element.properties.tooltipText, responsiveStyles: responsiveStyles, repeat: element.repeat })] }))] })));
290
+ }
291
+ var index = memo(TextField);
292
+
293
+ export { index as default };