rn-inputforge 0.3.1 → 0.5.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 (555) hide show
  1. package/README.md +909 -20
  2. package/lib/commonjs/adapters/index.js +25 -0
  3. package/lib/commonjs/adapters/index.js.map +1 -0
  4. package/lib/commonjs/adapters/reactHookForm.js +107 -0
  5. package/lib/commonjs/adapters/reactHookForm.js.map +1 -0
  6. package/lib/commonjs/components/FieldFlowAffordance/FieldFlowAffordance.js +104 -0
  7. package/lib/commonjs/components/FieldFlowAffordance/FieldFlowAffordance.js.map +1 -0
  8. package/lib/commonjs/components/FieldFlowAffordance/index.js +13 -0
  9. package/lib/commonjs/components/FieldFlowAffordance/index.js.map +1 -0
  10. package/lib/commonjs/components/FieldFlowCheckbox/FieldFlowCheckbox.js +131 -0
  11. package/lib/commonjs/components/FieldFlowCheckbox/FieldFlowCheckbox.js.map +1 -0
  12. package/lib/commonjs/components/FieldFlowCheckbox/index.js +13 -0
  13. package/lib/commonjs/components/FieldFlowCheckbox/index.js.map +1 -0
  14. package/lib/commonjs/components/FieldFlowCreditCard/FieldFlowCreditCard.js +146 -0
  15. package/lib/commonjs/components/FieldFlowCreditCard/FieldFlowCreditCard.js.map +1 -0
  16. package/lib/commonjs/components/FieldFlowCreditCard/index.js +13 -0
  17. package/lib/commonjs/components/FieldFlowCreditCard/index.js.map +1 -0
  18. package/lib/commonjs/components/FieldFlowDateTimePicker/FieldFlowDateTimePicker.js +536 -0
  19. package/lib/commonjs/components/FieldFlowDateTimePicker/FieldFlowDateTimePicker.js.map +1 -0
  20. package/lib/commonjs/components/FieldFlowDateTimePicker/index.js +13 -0
  21. package/lib/commonjs/components/FieldFlowDateTimePicker/index.js.map +1 -0
  22. package/lib/commonjs/components/FieldFlowDateTimePicker/types.js +6 -0
  23. package/lib/commonjs/components/FieldFlowDateTimePicker/types.js.map +1 -0
  24. package/lib/commonjs/components/FieldFlowDraftBanner/FieldFlowDraftBanner.js +156 -0
  25. package/lib/commonjs/components/FieldFlowDraftBanner/FieldFlowDraftBanner.js.map +1 -0
  26. package/lib/commonjs/components/FieldFlowDraftBanner/index.js +13 -0
  27. package/lib/commonjs/components/FieldFlowDraftBanner/index.js.map +1 -0
  28. package/lib/commonjs/components/FieldFlowDropdown/FieldFlowDropdown.js +24 -9
  29. package/lib/commonjs/components/FieldFlowDropdown/FieldFlowDropdown.js.map +1 -1
  30. package/lib/commonjs/components/FieldFlowInput/FieldFlowInput.js +187 -56
  31. package/lib/commonjs/components/FieldFlowInput/FieldFlowInput.js.map +1 -1
  32. package/lib/commonjs/components/FieldFlowInput/styles.js +48 -11
  33. package/lib/commonjs/components/FieldFlowInput/styles.js.map +1 -1
  34. package/lib/commonjs/components/FieldFlowMaskedInput/FieldFlowMaskedInput.js +66 -0
  35. package/lib/commonjs/components/FieldFlowMaskedInput/FieldFlowMaskedInput.js.map +1 -0
  36. package/lib/commonjs/components/FieldFlowMaskedInput/index.js +13 -0
  37. package/lib/commonjs/components/FieldFlowMaskedInput/index.js.map +1 -0
  38. package/lib/commonjs/components/FieldFlowMaskedInput/types.js +6 -0
  39. package/lib/commonjs/components/FieldFlowMaskedInput/types.js.map +1 -0
  40. package/lib/commonjs/components/FieldFlowNumberStepper/FieldFlowNumberStepper.js +136 -0
  41. package/lib/commonjs/components/FieldFlowNumberStepper/FieldFlowNumberStepper.js.map +1 -0
  42. package/lib/commonjs/components/FieldFlowNumberStepper/index.js +13 -0
  43. package/lib/commonjs/components/FieldFlowNumberStepper/index.js.map +1 -0
  44. package/lib/commonjs/components/FieldFlowOTP/FieldFlowOTP.js +255 -0
  45. package/lib/commonjs/components/FieldFlowOTP/FieldFlowOTP.js.map +1 -0
  46. package/lib/commonjs/components/FieldFlowOTP/index.js +13 -0
  47. package/lib/commonjs/components/FieldFlowOTP/index.js.map +1 -0
  48. package/lib/commonjs/components/FieldFlowOTP/types.js +6 -0
  49. package/lib/commonjs/components/FieldFlowOTP/types.js.map +1 -0
  50. package/lib/commonjs/components/FieldFlowPasswordStrength/FieldFlowPasswordStrength.js +122 -0
  51. package/lib/commonjs/components/FieldFlowPasswordStrength/FieldFlowPasswordStrength.js.map +1 -0
  52. package/lib/commonjs/components/FieldFlowPasswordStrength/index.js +13 -0
  53. package/lib/commonjs/components/FieldFlowPasswordStrength/index.js.map +1 -0
  54. package/lib/commonjs/components/FieldFlowPhone/FieldFlowPhone.js +263 -0
  55. package/lib/commonjs/components/FieldFlowPhone/FieldFlowPhone.js.map +1 -0
  56. package/lib/commonjs/components/FieldFlowPhone/index.js +13 -0
  57. package/lib/commonjs/components/FieldFlowPhone/index.js.map +1 -0
  58. package/lib/commonjs/components/FieldFlowRadio/FieldFlowRadio.js +164 -0
  59. package/lib/commonjs/components/FieldFlowRadio/FieldFlowRadio.js.map +1 -0
  60. package/lib/commonjs/components/FieldFlowRadio/index.js +13 -0
  61. package/lib/commonjs/components/FieldFlowRadio/index.js.map +1 -0
  62. package/lib/commonjs/components/FieldFlowRating/FieldFlowRating.js +106 -0
  63. package/lib/commonjs/components/FieldFlowRating/FieldFlowRating.js.map +1 -0
  64. package/lib/commonjs/components/FieldFlowRating/index.js +13 -0
  65. package/lib/commonjs/components/FieldFlowRating/index.js.map +1 -0
  66. package/lib/commonjs/components/FieldFlowSection/FieldFlowSection.js +141 -0
  67. package/lib/commonjs/components/FieldFlowSection/FieldFlowSection.js.map +1 -0
  68. package/lib/commonjs/components/FieldFlowSection/index.js +13 -0
  69. package/lib/commonjs/components/FieldFlowSection/index.js.map +1 -0
  70. package/lib/commonjs/components/FieldFlowSegmented/FieldFlowSegmented.js +195 -0
  71. package/lib/commonjs/components/FieldFlowSegmented/FieldFlowSegmented.js.map +1 -0
  72. package/lib/commonjs/components/FieldFlowSegmented/index.js +13 -0
  73. package/lib/commonjs/components/FieldFlowSegmented/index.js.map +1 -0
  74. package/lib/commonjs/components/FieldFlowSignature/FieldFlowSignature.js +200 -0
  75. package/lib/commonjs/components/FieldFlowSignature/FieldFlowSignature.js.map +1 -0
  76. package/lib/commonjs/components/FieldFlowSignature/index.js +13 -0
  77. package/lib/commonjs/components/FieldFlowSignature/index.js.map +1 -0
  78. package/lib/commonjs/components/FieldFlowSlider/FieldFlowSlider.js +178 -0
  79. package/lib/commonjs/components/FieldFlowSlider/FieldFlowSlider.js.map +1 -0
  80. package/lib/commonjs/components/FieldFlowSlider/index.js +13 -0
  81. package/lib/commonjs/components/FieldFlowSlider/index.js.map +1 -0
  82. package/lib/commonjs/components/FieldFlowStepper/FieldFlowStepper.js +166 -0
  83. package/lib/commonjs/components/FieldFlowStepper/FieldFlowStepper.js.map +1 -0
  84. package/lib/commonjs/components/FieldFlowStepper/index.js +13 -0
  85. package/lib/commonjs/components/FieldFlowStepper/index.js.map +1 -0
  86. package/lib/commonjs/components/FieldFlowSwitch/FieldFlowSwitch.js +152 -0
  87. package/lib/commonjs/components/FieldFlowSwitch/FieldFlowSwitch.js.map +1 -0
  88. package/lib/commonjs/components/FieldFlowSwitch/index.js +13 -0
  89. package/lib/commonjs/components/FieldFlowSwitch/index.js.map +1 -0
  90. package/lib/commonjs/components/FieldFlowTags/FieldFlowTags.js +240 -0
  91. package/lib/commonjs/components/FieldFlowTags/FieldFlowTags.js.map +1 -0
  92. package/lib/commonjs/components/FieldFlowTags/index.js +13 -0
  93. package/lib/commonjs/components/FieldFlowTags/index.js.map +1 -0
  94. package/lib/commonjs/components/FieldFlowTypeahead/FieldFlowTypeahead.js +227 -0
  95. package/lib/commonjs/components/FieldFlowTypeahead/FieldFlowTypeahead.js.map +1 -0
  96. package/lib/commonjs/components/FieldFlowTypeahead/index.js +13 -0
  97. package/lib/commonjs/components/FieldFlowTypeahead/index.js.map +1 -0
  98. package/lib/commonjs/components/FieldFlowUpload/FieldFlowUpload.js +191 -0
  99. package/lib/commonjs/components/FieldFlowUpload/FieldFlowUpload.js.map +1 -0
  100. package/lib/commonjs/components/FieldFlowUpload/index.js +13 -0
  101. package/lib/commonjs/components/FieldFlowUpload/index.js.map +1 -0
  102. package/lib/commonjs/hooks/index.js +35 -0
  103. package/lib/commonjs/hooks/index.js.map +1 -1
  104. package/lib/commonjs/hooks/useFieldFlowArray.js +110 -0
  105. package/lib/commonjs/hooks/useFieldFlowArray.js.map +1 -0
  106. package/lib/commonjs/hooks/useFieldFlowDirtyGuard.js +53 -0
  107. package/lib/commonjs/hooks/useFieldFlowDirtyGuard.js.map +1 -0
  108. package/lib/commonjs/hooks/useFieldFlowDraft.js +168 -0
  109. package/lib/commonjs/hooks/useFieldFlowDraft.js.map +1 -0
  110. package/lib/commonjs/hooks/useFieldFlowForm.js +350 -41
  111. package/lib/commonjs/hooks/useFieldFlowForm.js.map +1 -1
  112. package/lib/commonjs/hooks/useFieldFlowSteps.js +77 -0
  113. package/lib/commonjs/hooks/useFieldFlowSteps.js.map +1 -0
  114. package/lib/commonjs/hooks/useFormIntelligence.js +130 -0
  115. package/lib/commonjs/hooks/useFormIntelligence.js.map +1 -0
  116. package/lib/commonjs/i18n/index.js +25 -0
  117. package/lib/commonjs/i18n/index.js.map +1 -0
  118. package/lib/commonjs/i18n/messages.js +88 -0
  119. package/lib/commonjs/i18n/messages.js.map +1 -0
  120. package/lib/commonjs/icons/Icon.js +719 -30
  121. package/lib/commonjs/icons/Icon.js.map +1 -1
  122. package/lib/commonjs/icons/index.js +7 -0
  123. package/lib/commonjs/icons/index.js.map +1 -1
  124. package/lib/commonjs/icons/renderIcon.js +24 -0
  125. package/lib/commonjs/icons/renderIcon.js.map +1 -0
  126. package/lib/commonjs/index.js +449 -0
  127. package/lib/commonjs/index.js.map +1 -1
  128. package/lib/commonjs/intelligence/formAccessibility.js +79 -0
  129. package/lib/commonjs/intelligence/formAccessibility.js.map +1 -0
  130. package/lib/commonjs/intelligence/index.js +31 -0
  131. package/lib/commonjs/intelligence/index.js.map +1 -0
  132. package/lib/commonjs/intelligence/types.js +2 -0
  133. package/lib/commonjs/intelligence/types.js.map +1 -0
  134. package/lib/commonjs/motion/index.js +20 -0
  135. package/lib/commonjs/motion/index.js.map +1 -0
  136. package/lib/commonjs/motion/useFieldMotion.js +111 -0
  137. package/lib/commonjs/motion/useFieldMotion.js.map +1 -0
  138. package/lib/commonjs/motion/useReducedMotion.js +32 -0
  139. package/lib/commonjs/motion/useReducedMotion.js.map +1 -0
  140. package/lib/commonjs/theme/index.js +13 -0
  141. package/lib/commonjs/theme/index.js.map +1 -1
  142. package/lib/commonjs/theme/presets.js +142 -0
  143. package/lib/commonjs/theme/presets.js.map +1 -0
  144. package/lib/commonjs/utils/affordance.js +151 -0
  145. package/lib/commonjs/utils/affordance.js.map +1 -0
  146. package/lib/commonjs/utils/masks.js +130 -0
  147. package/lib/commonjs/utils/masks.js.map +1 -0
  148. package/lib/commonjs/utils/passwordStrength.js +79 -0
  149. package/lib/commonjs/utils/passwordStrength.js.map +1 -0
  150. package/lib/commonjs/utils/phoneCountries.js +119 -0
  151. package/lib/commonjs/utils/phoneCountries.js.map +1 -0
  152. package/lib/commonjs/validation/index.js +25 -0
  153. package/lib/commonjs/validation/index.js.map +1 -1
  154. package/lib/commonjs/validation/validators.js +10 -7
  155. package/lib/commonjs/validation/validators.js.map +1 -1
  156. package/lib/commonjs/validation/zodAdapter.js +91 -0
  157. package/lib/commonjs/validation/zodAdapter.js.map +1 -0
  158. package/lib/module/adapters/index.js +4 -0
  159. package/lib/module/adapters/index.js.map +1 -0
  160. package/lib/module/adapters/reactHookForm.js +100 -0
  161. package/lib/module/adapters/reactHookForm.js.map +1 -0
  162. package/lib/module/components/FieldFlowAffordance/FieldFlowAffordance.js +99 -0
  163. package/lib/module/components/FieldFlowAffordance/FieldFlowAffordance.js.map +1 -0
  164. package/lib/module/components/FieldFlowAffordance/index.js +4 -0
  165. package/lib/module/components/FieldFlowAffordance/index.js.map +1 -0
  166. package/lib/module/components/FieldFlowCheckbox/FieldFlowCheckbox.js +126 -0
  167. package/lib/module/components/FieldFlowCheckbox/FieldFlowCheckbox.js.map +1 -0
  168. package/lib/module/components/FieldFlowCheckbox/index.js +4 -0
  169. package/lib/module/components/FieldFlowCheckbox/index.js.map +1 -0
  170. package/lib/module/components/FieldFlowCreditCard/FieldFlowCreditCard.js +141 -0
  171. package/lib/module/components/FieldFlowCreditCard/FieldFlowCreditCard.js.map +1 -0
  172. package/lib/module/components/FieldFlowCreditCard/index.js +4 -0
  173. package/lib/module/components/FieldFlowCreditCard/index.js.map +1 -0
  174. package/lib/module/components/FieldFlowDateTimePicker/FieldFlowDateTimePicker.js +531 -0
  175. package/lib/module/components/FieldFlowDateTimePicker/FieldFlowDateTimePicker.js.map +1 -0
  176. package/lib/module/components/FieldFlowDateTimePicker/index.js +4 -0
  177. package/lib/module/components/FieldFlowDateTimePicker/index.js.map +1 -0
  178. package/lib/module/components/FieldFlowDateTimePicker/types.js +4 -0
  179. package/lib/module/components/FieldFlowDateTimePicker/types.js.map +1 -0
  180. package/lib/module/components/FieldFlowDraftBanner/FieldFlowDraftBanner.js +151 -0
  181. package/lib/module/components/FieldFlowDraftBanner/FieldFlowDraftBanner.js.map +1 -0
  182. package/lib/module/components/FieldFlowDraftBanner/index.js +4 -0
  183. package/lib/module/components/FieldFlowDraftBanner/index.js.map +1 -0
  184. package/lib/module/components/FieldFlowDropdown/FieldFlowDropdown.js +24 -9
  185. package/lib/module/components/FieldFlowDropdown/FieldFlowDropdown.js.map +1 -1
  186. package/lib/module/components/FieldFlowInput/FieldFlowInput.js +190 -59
  187. package/lib/module/components/FieldFlowInput/FieldFlowInput.js.map +1 -1
  188. package/lib/module/components/FieldFlowInput/styles.js +48 -11
  189. package/lib/module/components/FieldFlowInput/styles.js.map +1 -1
  190. package/lib/module/components/FieldFlowMaskedInput/FieldFlowMaskedInput.js +61 -0
  191. package/lib/module/components/FieldFlowMaskedInput/FieldFlowMaskedInput.js.map +1 -0
  192. package/lib/module/components/FieldFlowMaskedInput/index.js +4 -0
  193. package/lib/module/components/FieldFlowMaskedInput/index.js.map +1 -0
  194. package/lib/module/components/FieldFlowMaskedInput/types.js +4 -0
  195. package/lib/module/components/FieldFlowMaskedInput/types.js.map +1 -0
  196. package/lib/module/components/FieldFlowNumberStepper/FieldFlowNumberStepper.js +131 -0
  197. package/lib/module/components/FieldFlowNumberStepper/FieldFlowNumberStepper.js.map +1 -0
  198. package/lib/module/components/FieldFlowNumberStepper/index.js +4 -0
  199. package/lib/module/components/FieldFlowNumberStepper/index.js.map +1 -0
  200. package/lib/module/components/FieldFlowOTP/FieldFlowOTP.js +250 -0
  201. package/lib/module/components/FieldFlowOTP/FieldFlowOTP.js.map +1 -0
  202. package/lib/module/components/FieldFlowOTP/index.js +4 -0
  203. package/lib/module/components/FieldFlowOTP/index.js.map +1 -0
  204. package/lib/module/components/FieldFlowOTP/types.js +4 -0
  205. package/lib/module/components/FieldFlowOTP/types.js.map +1 -0
  206. package/lib/module/components/FieldFlowPasswordStrength/FieldFlowPasswordStrength.js +117 -0
  207. package/lib/module/components/FieldFlowPasswordStrength/FieldFlowPasswordStrength.js.map +1 -0
  208. package/lib/module/components/FieldFlowPasswordStrength/index.js +4 -0
  209. package/lib/module/components/FieldFlowPasswordStrength/index.js.map +1 -0
  210. package/lib/module/components/FieldFlowPhone/FieldFlowPhone.js +258 -0
  211. package/lib/module/components/FieldFlowPhone/FieldFlowPhone.js.map +1 -0
  212. package/lib/module/components/FieldFlowPhone/index.js +4 -0
  213. package/lib/module/components/FieldFlowPhone/index.js.map +1 -0
  214. package/lib/module/components/FieldFlowRadio/FieldFlowRadio.js +159 -0
  215. package/lib/module/components/FieldFlowRadio/FieldFlowRadio.js.map +1 -0
  216. package/lib/module/components/FieldFlowRadio/index.js +4 -0
  217. package/lib/module/components/FieldFlowRadio/index.js.map +1 -0
  218. package/lib/module/components/FieldFlowRating/FieldFlowRating.js +101 -0
  219. package/lib/module/components/FieldFlowRating/FieldFlowRating.js.map +1 -0
  220. package/lib/module/components/FieldFlowRating/index.js +4 -0
  221. package/lib/module/components/FieldFlowRating/index.js.map +1 -0
  222. package/lib/module/components/FieldFlowSection/FieldFlowSection.js +136 -0
  223. package/lib/module/components/FieldFlowSection/FieldFlowSection.js.map +1 -0
  224. package/lib/module/components/FieldFlowSection/index.js +4 -0
  225. package/lib/module/components/FieldFlowSection/index.js.map +1 -0
  226. package/lib/module/components/FieldFlowSegmented/FieldFlowSegmented.js +190 -0
  227. package/lib/module/components/FieldFlowSegmented/FieldFlowSegmented.js.map +1 -0
  228. package/lib/module/components/FieldFlowSegmented/index.js +4 -0
  229. package/lib/module/components/FieldFlowSegmented/index.js.map +1 -0
  230. package/lib/module/components/FieldFlowSignature/FieldFlowSignature.js +195 -0
  231. package/lib/module/components/FieldFlowSignature/FieldFlowSignature.js.map +1 -0
  232. package/lib/module/components/FieldFlowSignature/index.js +4 -0
  233. package/lib/module/components/FieldFlowSignature/index.js.map +1 -0
  234. package/lib/module/components/FieldFlowSlider/FieldFlowSlider.js +173 -0
  235. package/lib/module/components/FieldFlowSlider/FieldFlowSlider.js.map +1 -0
  236. package/lib/module/components/FieldFlowSlider/index.js +4 -0
  237. package/lib/module/components/FieldFlowSlider/index.js.map +1 -0
  238. package/lib/module/components/FieldFlowStepper/FieldFlowStepper.js +161 -0
  239. package/lib/module/components/FieldFlowStepper/FieldFlowStepper.js.map +1 -0
  240. package/lib/module/components/FieldFlowStepper/index.js +4 -0
  241. package/lib/module/components/FieldFlowStepper/index.js.map +1 -0
  242. package/lib/module/components/FieldFlowSwitch/FieldFlowSwitch.js +147 -0
  243. package/lib/module/components/FieldFlowSwitch/FieldFlowSwitch.js.map +1 -0
  244. package/lib/module/components/FieldFlowSwitch/index.js +4 -0
  245. package/lib/module/components/FieldFlowSwitch/index.js.map +1 -0
  246. package/lib/module/components/FieldFlowTags/FieldFlowTags.js +235 -0
  247. package/lib/module/components/FieldFlowTags/FieldFlowTags.js.map +1 -0
  248. package/lib/module/components/FieldFlowTags/index.js +4 -0
  249. package/lib/module/components/FieldFlowTags/index.js.map +1 -0
  250. package/lib/module/components/FieldFlowTypeahead/FieldFlowTypeahead.js +222 -0
  251. package/lib/module/components/FieldFlowTypeahead/FieldFlowTypeahead.js.map +1 -0
  252. package/lib/module/components/FieldFlowTypeahead/index.js +4 -0
  253. package/lib/module/components/FieldFlowTypeahead/index.js.map +1 -0
  254. package/lib/module/components/FieldFlowUpload/FieldFlowUpload.js +186 -0
  255. package/lib/module/components/FieldFlowUpload/FieldFlowUpload.js.map +1 -0
  256. package/lib/module/components/FieldFlowUpload/index.js +4 -0
  257. package/lib/module/components/FieldFlowUpload/index.js.map +1 -0
  258. package/lib/module/hooks/index.js +5 -0
  259. package/lib/module/hooks/index.js.map +1 -1
  260. package/lib/module/hooks/useFieldFlowArray.js +106 -0
  261. package/lib/module/hooks/useFieldFlowArray.js.map +1 -0
  262. package/lib/module/hooks/useFieldFlowDirtyGuard.js +49 -0
  263. package/lib/module/hooks/useFieldFlowDirtyGuard.js.map +1 -0
  264. package/lib/module/hooks/useFieldFlowDraft.js +165 -0
  265. package/lib/module/hooks/useFieldFlowDraft.js.map +1 -0
  266. package/lib/module/hooks/useFieldFlowForm.js +351 -42
  267. package/lib/module/hooks/useFieldFlowForm.js.map +1 -1
  268. package/lib/module/hooks/useFieldFlowSteps.js +73 -0
  269. package/lib/module/hooks/useFieldFlowSteps.js.map +1 -0
  270. package/lib/module/hooks/useFormIntelligence.js +126 -0
  271. package/lib/module/hooks/useFormIntelligence.js.map +1 -0
  272. package/lib/module/i18n/index.js +4 -0
  273. package/lib/module/i18n/index.js.map +1 -0
  274. package/lib/module/i18n/messages.js +82 -0
  275. package/lib/module/i18n/messages.js.map +1 -0
  276. package/lib/module/icons/Icon.js +720 -31
  277. package/lib/module/icons/Icon.js.map +1 -1
  278. package/lib/module/icons/index.js +1 -0
  279. package/lib/module/icons/index.js.map +1 -1
  280. package/lib/module/icons/renderIcon.js +19 -0
  281. package/lib/module/icons/renderIcon.js.map +1 -0
  282. package/lib/module/index.js +42 -5
  283. package/lib/module/index.js.map +1 -1
  284. package/lib/module/intelligence/formAccessibility.js +72 -0
  285. package/lib/module/intelligence/formAccessibility.js.map +1 -0
  286. package/lib/module/intelligence/index.js +4 -0
  287. package/lib/module/intelligence/index.js.map +1 -0
  288. package/lib/module/intelligence/types.js +2 -0
  289. package/lib/module/intelligence/types.js.map +1 -0
  290. package/lib/module/motion/index.js +5 -0
  291. package/lib/module/motion/index.js.map +1 -0
  292. package/lib/module/motion/useFieldMotion.js +107 -0
  293. package/lib/module/motion/useFieldMotion.js.map +1 -0
  294. package/lib/module/motion/useReducedMotion.js +29 -0
  295. package/lib/module/motion/useReducedMotion.js.map +1 -0
  296. package/lib/module/theme/index.js +1 -0
  297. package/lib/module/theme/index.js.map +1 -1
  298. package/lib/module/theme/presets.js +138 -0
  299. package/lib/module/theme/presets.js.map +1 -0
  300. package/lib/module/utils/affordance.js +140 -0
  301. package/lib/module/utils/affordance.js.map +1 -0
  302. package/lib/module/utils/masks.js +118 -0
  303. package/lib/module/utils/masks.js.map +1 -0
  304. package/lib/module/utils/passwordStrength.js +74 -0
  305. package/lib/module/utils/passwordStrength.js.map +1 -0
  306. package/lib/module/utils/phoneCountries.js +113 -0
  307. package/lib/module/utils/phoneCountries.js.map +1 -0
  308. package/lib/module/validation/index.js +1 -0
  309. package/lib/module/validation/index.js.map +1 -1
  310. package/lib/module/validation/validators.js +10 -7
  311. package/lib/module/validation/validators.js.map +1 -1
  312. package/lib/module/validation/zodAdapter.js +84 -0
  313. package/lib/module/validation/zodAdapter.js.map +1 -0
  314. package/lib/typescript/adapters/index.d.ts +3 -0
  315. package/lib/typescript/adapters/index.d.ts.map +1 -0
  316. package/lib/typescript/adapters/reactHookForm.d.ts +56 -0
  317. package/lib/typescript/adapters/reactHookForm.d.ts.map +1 -0
  318. package/lib/typescript/components/FieldFlowAffordance/FieldFlowAffordance.d.ts +29 -0
  319. package/lib/typescript/components/FieldFlowAffordance/FieldFlowAffordance.d.ts.map +1 -0
  320. package/lib/typescript/components/FieldFlowAffordance/index.d.ts +3 -0
  321. package/lib/typescript/components/FieldFlowAffordance/index.d.ts.map +1 -0
  322. package/lib/typescript/components/FieldFlowCheckbox/FieldFlowCheckbox.d.ts +36 -0
  323. package/lib/typescript/components/FieldFlowCheckbox/FieldFlowCheckbox.d.ts.map +1 -0
  324. package/lib/typescript/components/FieldFlowCheckbox/index.d.ts +3 -0
  325. package/lib/typescript/components/FieldFlowCheckbox/index.d.ts.map +1 -0
  326. package/lib/typescript/components/FieldFlowCreditCard/FieldFlowCreditCard.d.ts +27 -0
  327. package/lib/typescript/components/FieldFlowCreditCard/FieldFlowCreditCard.d.ts.map +1 -0
  328. package/lib/typescript/components/FieldFlowCreditCard/index.d.ts +3 -0
  329. package/lib/typescript/components/FieldFlowCreditCard/index.d.ts.map +1 -0
  330. package/lib/typescript/components/FieldFlowDateTimePicker/FieldFlowDateTimePicker.d.ts +4 -0
  331. package/lib/typescript/components/FieldFlowDateTimePicker/FieldFlowDateTimePicker.d.ts.map +1 -0
  332. package/lib/typescript/components/FieldFlowDateTimePicker/index.d.ts +3 -0
  333. package/lib/typescript/components/FieldFlowDateTimePicker/index.d.ts.map +1 -0
  334. package/lib/typescript/components/FieldFlowDateTimePicker/types.d.ts +55 -0
  335. package/lib/typescript/components/FieldFlowDateTimePicker/types.d.ts.map +1 -0
  336. package/lib/typescript/components/FieldFlowDraftBanner/FieldFlowDraftBanner.d.ts +24 -0
  337. package/lib/typescript/components/FieldFlowDraftBanner/FieldFlowDraftBanner.d.ts.map +1 -0
  338. package/lib/typescript/components/FieldFlowDraftBanner/index.d.ts +3 -0
  339. package/lib/typescript/components/FieldFlowDraftBanner/index.d.ts.map +1 -0
  340. package/lib/typescript/components/FieldFlowDropdown/FieldFlowDropdown.d.ts.map +1 -1
  341. package/lib/typescript/components/FieldFlowDropdown/types.d.ts +7 -1
  342. package/lib/typescript/components/FieldFlowDropdown/types.d.ts.map +1 -1
  343. package/lib/typescript/components/FieldFlowInput/FieldFlowInput.d.ts.map +1 -1
  344. package/lib/typescript/components/FieldFlowInput/styles.d.ts +35 -2
  345. package/lib/typescript/components/FieldFlowInput/styles.d.ts.map +1 -1
  346. package/lib/typescript/components/FieldFlowInput/types.d.ts +55 -4
  347. package/lib/typescript/components/FieldFlowInput/types.d.ts.map +1 -1
  348. package/lib/typescript/components/FieldFlowMaskedInput/FieldFlowMaskedInput.d.ts +5 -0
  349. package/lib/typescript/components/FieldFlowMaskedInput/FieldFlowMaskedInput.d.ts.map +1 -0
  350. package/lib/typescript/components/FieldFlowMaskedInput/index.d.ts +3 -0
  351. package/lib/typescript/components/FieldFlowMaskedInput/index.d.ts.map +1 -0
  352. package/lib/typescript/components/FieldFlowMaskedInput/types.d.ts +20 -0
  353. package/lib/typescript/components/FieldFlowMaskedInput/types.d.ts.map +1 -0
  354. package/lib/typescript/components/FieldFlowNumberStepper/FieldFlowNumberStepper.d.ts +34 -0
  355. package/lib/typescript/components/FieldFlowNumberStepper/FieldFlowNumberStepper.d.ts.map +1 -0
  356. package/lib/typescript/components/FieldFlowNumberStepper/index.d.ts +3 -0
  357. package/lib/typescript/components/FieldFlowNumberStepper/index.d.ts.map +1 -0
  358. package/lib/typescript/components/FieldFlowOTP/FieldFlowOTP.d.ts +4 -0
  359. package/lib/typescript/components/FieldFlowOTP/FieldFlowOTP.d.ts.map +1 -0
  360. package/lib/typescript/components/FieldFlowOTP/index.d.ts +3 -0
  361. package/lib/typescript/components/FieldFlowOTP/index.d.ts.map +1 -0
  362. package/lib/typescript/components/FieldFlowOTP/types.d.ts +52 -0
  363. package/lib/typescript/components/FieldFlowOTP/types.d.ts.map +1 -0
  364. package/lib/typescript/components/FieldFlowPasswordStrength/FieldFlowPasswordStrength.d.ts +26 -0
  365. package/lib/typescript/components/FieldFlowPasswordStrength/FieldFlowPasswordStrength.d.ts.map +1 -0
  366. package/lib/typescript/components/FieldFlowPasswordStrength/index.d.ts +3 -0
  367. package/lib/typescript/components/FieldFlowPasswordStrength/index.d.ts.map +1 -0
  368. package/lib/typescript/components/FieldFlowPhone/FieldFlowPhone.d.ts +40 -0
  369. package/lib/typescript/components/FieldFlowPhone/FieldFlowPhone.d.ts.map +1 -0
  370. package/lib/typescript/components/FieldFlowPhone/index.d.ts +3 -0
  371. package/lib/typescript/components/FieldFlowPhone/index.d.ts.map +1 -0
  372. package/lib/typescript/components/FieldFlowRadio/FieldFlowRadio.d.ts +39 -0
  373. package/lib/typescript/components/FieldFlowRadio/FieldFlowRadio.d.ts.map +1 -0
  374. package/lib/typescript/components/FieldFlowRadio/index.d.ts +3 -0
  375. package/lib/typescript/components/FieldFlowRadio/index.d.ts.map +1 -0
  376. package/lib/typescript/components/FieldFlowRating/FieldFlowRating.d.ts +30 -0
  377. package/lib/typescript/components/FieldFlowRating/FieldFlowRating.d.ts.map +1 -0
  378. package/lib/typescript/components/FieldFlowRating/index.d.ts +3 -0
  379. package/lib/typescript/components/FieldFlowRating/index.d.ts.map +1 -0
  380. package/lib/typescript/components/FieldFlowSection/FieldFlowSection.d.ts +35 -0
  381. package/lib/typescript/components/FieldFlowSection/FieldFlowSection.d.ts.map +1 -0
  382. package/lib/typescript/components/FieldFlowSection/index.d.ts +3 -0
  383. package/lib/typescript/components/FieldFlowSection/index.d.ts.map +1 -0
  384. package/lib/typescript/components/FieldFlowSegmented/FieldFlowSegmented.d.ts +28 -0
  385. package/lib/typescript/components/FieldFlowSegmented/FieldFlowSegmented.d.ts.map +1 -0
  386. package/lib/typescript/components/FieldFlowSegmented/index.d.ts +3 -0
  387. package/lib/typescript/components/FieldFlowSegmented/index.d.ts.map +1 -0
  388. package/lib/typescript/components/FieldFlowSignature/FieldFlowSignature.d.ts +41 -0
  389. package/lib/typescript/components/FieldFlowSignature/FieldFlowSignature.d.ts.map +1 -0
  390. package/lib/typescript/components/FieldFlowSignature/index.d.ts +3 -0
  391. package/lib/typescript/components/FieldFlowSignature/index.d.ts.map +1 -0
  392. package/lib/typescript/components/FieldFlowSlider/FieldFlowSlider.d.ts +30 -0
  393. package/lib/typescript/components/FieldFlowSlider/FieldFlowSlider.d.ts.map +1 -0
  394. package/lib/typescript/components/FieldFlowSlider/index.d.ts +3 -0
  395. package/lib/typescript/components/FieldFlowSlider/index.d.ts.map +1 -0
  396. package/lib/typescript/components/FieldFlowStepper/FieldFlowStepper.d.ts +31 -0
  397. package/lib/typescript/components/FieldFlowStepper/FieldFlowStepper.d.ts.map +1 -0
  398. package/lib/typescript/components/FieldFlowStepper/index.d.ts +3 -0
  399. package/lib/typescript/components/FieldFlowStepper/index.d.ts.map +1 -0
  400. package/lib/typescript/components/FieldFlowSwitch/FieldFlowSwitch.d.ts +31 -0
  401. package/lib/typescript/components/FieldFlowSwitch/FieldFlowSwitch.d.ts.map +1 -0
  402. package/lib/typescript/components/FieldFlowSwitch/index.d.ts +3 -0
  403. package/lib/typescript/components/FieldFlowSwitch/index.d.ts.map +1 -0
  404. package/lib/typescript/components/FieldFlowTags/FieldFlowTags.d.ts +41 -0
  405. package/lib/typescript/components/FieldFlowTags/FieldFlowTags.d.ts.map +1 -0
  406. package/lib/typescript/components/FieldFlowTags/index.d.ts +3 -0
  407. package/lib/typescript/components/FieldFlowTags/index.d.ts.map +1 -0
  408. package/lib/typescript/components/FieldFlowTypeahead/FieldFlowTypeahead.d.ts +43 -0
  409. package/lib/typescript/components/FieldFlowTypeahead/FieldFlowTypeahead.d.ts.map +1 -0
  410. package/lib/typescript/components/FieldFlowTypeahead/index.d.ts +3 -0
  411. package/lib/typescript/components/FieldFlowTypeahead/index.d.ts.map +1 -0
  412. package/lib/typescript/components/FieldFlowUpload/FieldFlowUpload.d.ts +52 -0
  413. package/lib/typescript/components/FieldFlowUpload/FieldFlowUpload.d.ts.map +1 -0
  414. package/lib/typescript/components/FieldFlowUpload/index.d.ts +3 -0
  415. package/lib/typescript/components/FieldFlowUpload/index.d.ts.map +1 -0
  416. package/lib/typescript/hooks/index.d.ts +11 -1
  417. package/lib/typescript/hooks/index.d.ts.map +1 -1
  418. package/lib/typescript/hooks/useFieldFlowArray.d.ts +54 -0
  419. package/lib/typescript/hooks/useFieldFlowArray.d.ts.map +1 -0
  420. package/lib/typescript/hooks/useFieldFlowDirtyGuard.d.ts +26 -0
  421. package/lib/typescript/hooks/useFieldFlowDirtyGuard.d.ts.map +1 -0
  422. package/lib/typescript/hooks/useFieldFlowDraft.d.ts +64 -0
  423. package/lib/typescript/hooks/useFieldFlowDraft.d.ts.map +1 -0
  424. package/lib/typescript/hooks/useFieldFlowForm.d.ts +124 -7
  425. package/lib/typescript/hooks/useFieldFlowForm.d.ts.map +1 -1
  426. package/lib/typescript/hooks/useFieldFlowSteps.d.ts +42 -0
  427. package/lib/typescript/hooks/useFieldFlowSteps.d.ts.map +1 -0
  428. package/lib/typescript/hooks/useFormIntelligence.d.ts +23 -0
  429. package/lib/typescript/hooks/useFormIntelligence.d.ts.map +1 -0
  430. package/lib/typescript/i18n/index.d.ts +3 -0
  431. package/lib/typescript/i18n/index.d.ts.map +1 -0
  432. package/lib/typescript/i18n/messages.d.ts +16 -0
  433. package/lib/typescript/i18n/messages.d.ts.map +1 -0
  434. package/lib/typescript/icons/Icon.d.ts +2 -2
  435. package/lib/typescript/icons/Icon.d.ts.map +1 -1
  436. package/lib/typescript/icons/index.d.ts +2 -0
  437. package/lib/typescript/icons/index.d.ts.map +1 -1
  438. package/lib/typescript/icons/renderIcon.d.ts +6 -0
  439. package/lib/typescript/icons/renderIcon.d.ts.map +1 -0
  440. package/lib/typescript/index.d.ts +67 -9
  441. package/lib/typescript/index.d.ts.map +1 -1
  442. package/lib/typescript/intelligence/formAccessibility.d.ts +21 -0
  443. package/lib/typescript/intelligence/formAccessibility.d.ts.map +1 -0
  444. package/lib/typescript/intelligence/index.d.ts +4 -0
  445. package/lib/typescript/intelligence/index.d.ts.map +1 -0
  446. package/lib/typescript/intelligence/types.d.ts +36 -0
  447. package/lib/typescript/intelligence/types.d.ts.map +1 -0
  448. package/lib/typescript/motion/index.d.ts +4 -0
  449. package/lib/typescript/motion/index.d.ts.map +1 -0
  450. package/lib/typescript/motion/useFieldMotion.d.ts +31 -0
  451. package/lib/typescript/motion/useFieldMotion.d.ts.map +1 -0
  452. package/lib/typescript/motion/useReducedMotion.d.ts +5 -0
  453. package/lib/typescript/motion/useReducedMotion.d.ts.map +1 -0
  454. package/lib/typescript/theme/index.d.ts +2 -0
  455. package/lib/typescript/theme/index.d.ts.map +1 -1
  456. package/lib/typescript/theme/presets.d.ts +134 -0
  457. package/lib/typescript/theme/presets.d.ts.map +1 -0
  458. package/lib/typescript/types/index.d.ts +4 -0
  459. package/lib/typescript/types/index.d.ts.map +1 -1
  460. package/lib/typescript/utils/affordance.d.ts +36 -0
  461. package/lib/typescript/utils/affordance.d.ts.map +1 -0
  462. package/lib/typescript/utils/masks.d.ts +37 -0
  463. package/lib/typescript/utils/masks.d.ts.map +1 -0
  464. package/lib/typescript/utils/passwordStrength.d.ts +26 -0
  465. package/lib/typescript/utils/passwordStrength.d.ts.map +1 -0
  466. package/lib/typescript/utils/phoneCountries.d.ts +12 -0
  467. package/lib/typescript/utils/phoneCountries.d.ts.map +1 -0
  468. package/lib/typescript/validation/index.d.ts +2 -0
  469. package/lib/typescript/validation/index.d.ts.map +1 -1
  470. package/lib/typescript/validation/validators.d.ts +3 -1
  471. package/lib/typescript/validation/validators.d.ts.map +1 -1
  472. package/lib/typescript/validation/zodAdapter.d.ts +53 -0
  473. package/lib/typescript/validation/zodAdapter.d.ts.map +1 -0
  474. package/package.json +34 -3
  475. package/src/adapters/index.ts +9 -0
  476. package/src/adapters/reactHookForm.tsx +152 -0
  477. package/src/components/FieldFlowAffordance/FieldFlowAffordance.tsx +143 -0
  478. package/src/components/FieldFlowAffordance/index.ts +2 -0
  479. package/src/components/FieldFlowCheckbox/FieldFlowCheckbox.tsx +174 -0
  480. package/src/components/FieldFlowCheckbox/index.ts +2 -0
  481. package/src/components/FieldFlowCreditCard/FieldFlowCreditCard.tsx +152 -0
  482. package/src/components/FieldFlowCreditCard/index.ts +2 -0
  483. package/src/components/FieldFlowDateTimePicker/FieldFlowDateTimePicker.tsx +585 -0
  484. package/src/components/FieldFlowDateTimePicker/index.ts +2 -0
  485. package/src/components/FieldFlowDateTimePicker/types.ts +57 -0
  486. package/src/components/FieldFlowDraftBanner/FieldFlowDraftBanner.tsx +169 -0
  487. package/src/components/FieldFlowDraftBanner/index.ts +2 -0
  488. package/src/components/FieldFlowDropdown/FieldFlowDropdown.tsx +17 -7
  489. package/src/components/FieldFlowDropdown/types.ts +8 -1
  490. package/src/components/FieldFlowInput/FieldFlowInput.tsx +230 -66
  491. package/src/components/FieldFlowInput/styles.ts +57 -6
  492. package/src/components/FieldFlowInput/types.ts +56 -4
  493. package/src/components/FieldFlowMaskedInput/FieldFlowMaskedInput.tsx +76 -0
  494. package/src/components/FieldFlowMaskedInput/index.ts +2 -0
  495. package/src/components/FieldFlowMaskedInput/types.ts +22 -0
  496. package/src/components/FieldFlowNumberStepper/FieldFlowNumberStepper.tsx +156 -0
  497. package/src/components/FieldFlowNumberStepper/index.ts +2 -0
  498. package/src/components/FieldFlowOTP/FieldFlowOTP.tsx +305 -0
  499. package/src/components/FieldFlowOTP/index.ts +2 -0
  500. package/src/components/FieldFlowOTP/types.ts +57 -0
  501. package/src/components/FieldFlowPasswordStrength/FieldFlowPasswordStrength.tsx +148 -0
  502. package/src/components/FieldFlowPasswordStrength/index.ts +2 -0
  503. package/src/components/FieldFlowPhone/FieldFlowPhone.tsx +298 -0
  504. package/src/components/FieldFlowPhone/index.ts +2 -0
  505. package/src/components/FieldFlowRadio/FieldFlowRadio.tsx +215 -0
  506. package/src/components/FieldFlowRadio/index.ts +2 -0
  507. package/src/components/FieldFlowRating/FieldFlowRating.tsx +121 -0
  508. package/src/components/FieldFlowRating/index.ts +2 -0
  509. package/src/components/FieldFlowSection/FieldFlowSection.tsx +176 -0
  510. package/src/components/FieldFlowSection/index.ts +2 -0
  511. package/src/components/FieldFlowSegmented/FieldFlowSegmented.tsx +248 -0
  512. package/src/components/FieldFlowSegmented/index.ts +2 -0
  513. package/src/components/FieldFlowSignature/FieldFlowSignature.tsx +241 -0
  514. package/src/components/FieldFlowSignature/index.ts +7 -0
  515. package/src/components/FieldFlowSlider/FieldFlowSlider.tsx +190 -0
  516. package/src/components/FieldFlowSlider/index.ts +2 -0
  517. package/src/components/FieldFlowStepper/FieldFlowStepper.tsx +190 -0
  518. package/src/components/FieldFlowStepper/index.ts +2 -0
  519. package/src/components/FieldFlowSwitch/FieldFlowSwitch.tsx +172 -0
  520. package/src/components/FieldFlowSwitch/index.ts +2 -0
  521. package/src/components/FieldFlowTags/FieldFlowTags.tsx +319 -0
  522. package/src/components/FieldFlowTags/index.ts +2 -0
  523. package/src/components/FieldFlowTypeahead/FieldFlowTypeahead.tsx +261 -0
  524. package/src/components/FieldFlowTypeahead/index.ts +2 -0
  525. package/src/components/FieldFlowUpload/FieldFlowUpload.tsx +226 -0
  526. package/src/components/FieldFlowUpload/index.ts +6 -0
  527. package/src/hooks/index.ts +34 -0
  528. package/src/hooks/useFieldFlowArray.ts +153 -0
  529. package/src/hooks/useFieldFlowDirtyGuard.ts +70 -0
  530. package/src/hooks/useFieldFlowDraft.ts +221 -0
  531. package/src/hooks/useFieldFlowForm.ts +545 -40
  532. package/src/hooks/useFieldFlowSteps.ts +130 -0
  533. package/src/hooks/useFormIntelligence.ts +207 -0
  534. package/src/i18n/index.ts +6 -0
  535. package/src/i18n/messages.ts +101 -0
  536. package/src/icons/Icon.tsx +451 -5
  537. package/src/icons/index.ts +2 -0
  538. package/src/icons/renderIcon.tsx +17 -0
  539. package/src/index.ts +208 -7
  540. package/src/intelligence/formAccessibility.ts +87 -0
  541. package/src/intelligence/index.ts +12 -0
  542. package/src/intelligence/types.ts +34 -0
  543. package/src/motion/index.ts +3 -0
  544. package/src/motion/useFieldMotion.ts +120 -0
  545. package/src/motion/useReducedMotion.ts +31 -0
  546. package/src/theme/index.ts +2 -0
  547. package/src/theme/presets.ts +120 -0
  548. package/src/types/index.ts +5 -0
  549. package/src/utils/affordance.ts +138 -0
  550. package/src/utils/masks.ts +137 -0
  551. package/src/utils/passwordStrength.ts +109 -0
  552. package/src/utils/phoneCountries.ts +44 -0
  553. package/src/validation/index.ts +7 -0
  554. package/src/validation/validators.ts +17 -7
  555. package/src/validation/zodAdapter.ts +103 -0
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+
3
+ import React, { useMemo } from 'react';
4
+ import { Pressable, StyleSheet, Text, View } from 'react-native';
5
+ import { useFieldFlowTheme, mergeDeep } from '../../theme/ThemeProvider';
6
+ import { defaultTheme } from '../../theme/defaultTheme';
7
+ import { renderFieldFlowIcon } from '../../icons/renderIcon';
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ function formatRelativeTime(savedAt) {
10
+ const delta = Math.max(0, Date.now() - savedAt);
11
+ const minutes = Math.floor(delta / 60000);
12
+ if (minutes < 1) return 'just now';
13
+ if (minutes < 60) return `${minutes}m ago`;
14
+ const hours = Math.floor(minutes / 60);
15
+ if (hours < 24) return `${hours}h ago`;
16
+ const days = Math.floor(hours / 24);
17
+ return `${days}d ago`;
18
+ }
19
+
20
+ /**
21
+ * Themed “Resume where you left off?” banner for `useFieldFlowDraft`.
22
+ */
23
+ export function FieldFlowDraftBanner({
24
+ visible,
25
+ savedAt,
26
+ title = 'Resume your draft?',
27
+ subtitle,
28
+ resumeLabel = 'Resume',
29
+ discardLabel = 'Discard',
30
+ onResume,
31
+ onDiscard,
32
+ containerStyle,
33
+ titleStyle,
34
+ subtitleStyle,
35
+ theme: themeOverride,
36
+ testID
37
+ }) {
38
+ const contextTheme = useFieldFlowTheme();
39
+ const theme = useMemo(() => themeOverride ? mergeDeep(contextTheme ?? defaultTheme, themeOverride) : contextTheme ?? defaultTheme, [contextTheme, themeOverride]);
40
+ const styles = useMemo(() => createStyles(theme), [theme]);
41
+ const resolvedSubtitle = subtitle ?? (savedAt ? `Saved ${formatRelativeTime(savedAt)}. Pick up where you left off.` : 'Pick up where you left off.');
42
+ if (!visible) return null;
43
+ return /*#__PURE__*/_jsxs(View, {
44
+ style: [styles.banner, containerStyle],
45
+ testID: testID,
46
+ accessibilityRole: "summary",
47
+ accessibilityLabel: `${title}. ${resolvedSubtitle}`,
48
+ children: [/*#__PURE__*/_jsx(View, {
49
+ style: styles.iconWrap,
50
+ children: renderFieldFlowIcon('file', theme.colors.borderFocused, 18)
51
+ }), /*#__PURE__*/_jsxs(View, {
52
+ style: styles.copy,
53
+ children: [/*#__PURE__*/_jsx(Text, {
54
+ style: [styles.title, titleStyle],
55
+ children: title
56
+ }), /*#__PURE__*/_jsx(Text, {
57
+ style: [styles.subtitle, subtitleStyle],
58
+ children: resolvedSubtitle
59
+ })]
60
+ }), /*#__PURE__*/_jsxs(View, {
61
+ style: styles.actions,
62
+ children: [/*#__PURE__*/_jsx(Pressable, {
63
+ onPress: onDiscard,
64
+ hitSlop: 6,
65
+ accessibilityRole: "button",
66
+ accessibilityLabel: discardLabel,
67
+ style: styles.ghostBtn,
68
+ children: /*#__PURE__*/_jsx(Text, {
69
+ style: styles.ghostText,
70
+ children: discardLabel
71
+ })
72
+ }), /*#__PURE__*/_jsx(Pressable, {
73
+ onPress: onResume,
74
+ hitSlop: 6,
75
+ accessibilityRole: "button",
76
+ accessibilityLabel: resumeLabel,
77
+ style: styles.primaryBtn,
78
+ children: /*#__PURE__*/_jsx(Text, {
79
+ style: styles.primaryText,
80
+ children: resumeLabel
81
+ })
82
+ })]
83
+ })]
84
+ });
85
+ }
86
+ function createStyles(theme) {
87
+ return StyleSheet.create({
88
+ banner: {
89
+ flexDirection: 'row',
90
+ flexWrap: 'wrap',
91
+ alignItems: 'center',
92
+ gap: theme.spacing.gap,
93
+ padding: theme.spacing.paddingHorizontal,
94
+ marginBottom: theme.spacing.gap * 2,
95
+ borderRadius: theme.spacing.borderRadius,
96
+ borderWidth: theme.spacing.borderWidth,
97
+ borderColor: theme.colors.borderFocused,
98
+ backgroundColor: theme.colors.background
99
+ },
100
+ iconWrap: {
101
+ width: 32,
102
+ height: 32,
103
+ borderRadius: 8,
104
+ alignItems: 'center',
105
+ justifyContent: 'center',
106
+ backgroundColor: theme.colors.backgroundDisabled
107
+ },
108
+ copy: {
109
+ flex: 1,
110
+ minWidth: 140
111
+ },
112
+ title: {
113
+ fontSize: theme.typography.fontSize,
114
+ fontWeight: '600',
115
+ color: theme.colors.text,
116
+ fontFamily: theme.typography.fontFamily
117
+ },
118
+ subtitle: {
119
+ marginTop: 2,
120
+ fontSize: theme.typography.helperFontSize,
121
+ color: theme.colors.label,
122
+ fontFamily: theme.typography.fontFamily
123
+ },
124
+ actions: {
125
+ flexDirection: 'row',
126
+ alignItems: 'center',
127
+ gap: theme.spacing.gap
128
+ },
129
+ ghostBtn: {
130
+ paddingHorizontal: 10,
131
+ paddingVertical: 8
132
+ },
133
+ ghostText: {
134
+ fontSize: theme.typography.helperFontSize,
135
+ color: theme.colors.label,
136
+ fontWeight: '500'
137
+ },
138
+ primaryBtn: {
139
+ paddingHorizontal: 12,
140
+ paddingVertical: 8,
141
+ borderRadius: theme.spacing.borderRadius,
142
+ backgroundColor: theme.colors.borderFocused
143
+ },
144
+ primaryText: {
145
+ fontSize: theme.typography.helperFontSize,
146
+ color: '#FFFFFF',
147
+ fontWeight: '600'
148
+ }
149
+ });
150
+ }
151
+ //# sourceMappingURL=FieldFlowDraftBanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useMemo","Pressable","StyleSheet","Text","View","useFieldFlowTheme","mergeDeep","defaultTheme","renderFieldFlowIcon","jsx","_jsx","jsxs","_jsxs","formatRelativeTime","savedAt","delta","Math","max","Date","now","minutes","floor","hours","days","FieldFlowDraftBanner","visible","title","subtitle","resumeLabel","discardLabel","onResume","onDiscard","containerStyle","titleStyle","subtitleStyle","theme","themeOverride","testID","contextTheme","styles","createStyles","resolvedSubtitle","style","banner","accessibilityRole","accessibilityLabel","children","iconWrap","colors","borderFocused","copy","actions","onPress","hitSlop","ghostBtn","ghostText","primaryBtn","primaryText","create","flexDirection","flexWrap","alignItems","gap","spacing","padding","paddingHorizontal","marginBottom","borderRadius","borderWidth","borderColor","backgroundColor","background","width","height","justifyContent","backgroundDisabled","flex","minWidth","fontSize","typography","fontWeight","color","text","fontFamily","marginTop","helperFontSize","label","paddingVertical"],"sourceRoot":"../../../../src","sources":["components/FieldFlowDraftBanner/FieldFlowDraftBanner.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export { FieldFlowDraftBanner } from './FieldFlowDraftBanner';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FieldFlowDraftBanner"],"sourceRoot":"../../../../src","sources":["components/FieldFlowDraftBanner/index.ts"],"mappings":";;AAAA,SAASA,oBAAoB,QAAQ,wBAAwB","ignoreList":[]}
@@ -6,6 +6,7 @@ import { useFieldFlowTheme, mergeDeep } from '../../theme/ThemeProvider';
6
6
  import { defaultTheme } from '../../theme/defaultTheme';
7
7
  import { useFieldState } from '../../hooks/useFieldState';
8
8
  import { FieldFlowIcon } from '../../icons/Icon';
9
+ import { renderFieldFlowIcon } from '../../icons/renderIcon';
9
10
  import { createDropdownStyles } from './styles';
10
11
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
11
12
  export function FieldFlowDropdown(props) {
@@ -26,6 +27,9 @@ export function FieldFlowDropdown(props) {
26
27
  emptyText = 'No options found',
27
28
  maxModalHeight,
28
29
  clearable,
30
+ leftIcon,
31
+ rightIcon,
32
+ iconSize = 16,
29
33
  containerStyle,
30
34
  triggerStyle,
31
35
  labelStyle,
@@ -120,7 +124,13 @@ export function FieldFlowDropdown(props) {
120
124
  onPress: handlePress,
121
125
  disabled: item.disabled,
122
126
  style: styles.optionRow,
123
- children: [/*#__PURE__*/_jsxs(View, {
127
+ children: [item.icon ? /*#__PURE__*/_jsx(View, {
128
+ style: {
129
+ marginRight: 10,
130
+ marginTop: 2
131
+ },
132
+ children: renderFieldFlowIcon(item.icon, theme.colors.icon, 18)
133
+ }) : null, /*#__PURE__*/_jsxs(View, {
124
134
  style: {
125
135
  flex: 1
126
136
  },
@@ -203,19 +213,24 @@ export function FieldFlowDropdown(props) {
203
213
  onPress: openDropdown,
204
214
  disabled: disabled,
205
215
  style: [styles.trigger, triggerStyle],
206
- children: [triggerLabel ? /*#__PURE__*/_jsx(Text, {
207
- style: styles.triggerText,
216
+ children: [leftIcon ? /*#__PURE__*/_jsx(View, {
217
+ style: {
218
+ marginRight: 8
219
+ },
220
+ children: renderFieldFlowIcon(leftIcon, theme.colors.icon, iconSize)
221
+ }) : null, triggerLabel ? /*#__PURE__*/_jsx(Text, {
222
+ style: [styles.triggerText, {
223
+ flex: 1
224
+ }],
208
225
  numberOfLines: 1,
209
226
  children: triggerLabel
210
227
  }) : /*#__PURE__*/_jsx(Text, {
211
- style: styles.placeholderText,
228
+ style: [styles.placeholderText, {
229
+ flex: 1
230
+ }],
212
231
  numberOfLines: 1,
213
232
  children: placeholder
214
- }), /*#__PURE__*/_jsx(FieldFlowIcon, {
215
- name: "chevronDown",
216
- size: 16,
217
- color: theme.colors.icon
218
- })]
233
+ }), renderFieldFlowIcon(rightIcon ?? 'chevronDown', theme.colors.icon, iconSize)]
219
234
  })
220
235
  }), (helperText || resolvedError) && /*#__PURE__*/_jsx(View, {
221
236
  style: styles.footerRow,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","useRef","useState","FlatList","Modal","Pressable","Text","TextInput","View","Dimensions","useFieldFlowTheme","mergeDeep","defaultTheme","useFieldState","FieldFlowIcon","createDropdownStyles","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","FieldFlowDropdown","props","options","label","placeholder","helperText","errorText","hasError","disabled","required","title","presentation","searchable","searchThreshold","searchPlaceholder","emptyText","maxModalHeight","clearable","containerStyle","triggerStyle","labelStyle","theme","themeOverride","testID","multiple","contextTheme","isOpen","setIsOpen","query","setQuery","draftValues","setDraftValues","values","anchorLayout","setAnchorLayout","triggerRef","resolvedError","state","isFocused","Boolean","styles","selectedValues","value","shouldShowSearch","length","filteredOptions","trim","q","toLowerCase","filter","o","includes","openDropdown","current","measureInWindow","x","y","width","height","closeDropdown","commitSingle","onChange","closeOnSelect","toggleMultiDraft","prev","v","next","onChangeMulti","confirmMulti","clearSelection","triggerLabel","labels","map","maxShown","maxLabelsShown","join","slice","renderOption","item","isSelected","handlePress","onPress","style","optionRow","children","flex","optionLabel","optionLabelSelected","optionLabelDisabled","description","optionDescription","checkbox","checkboxChecked","name","size","color","colors","borderFocused","listContent","searchWrapper","onChangeText","placeholderTextColor","searchInput","data","keyExtractor","renderItem","keyboardShouldPersistTaps","maxHeight","ListEmptyComponent","confirmButton","confirmButtonText","confirmLabel","header","modalHeader","modalTitle","hitSlop","modalClearButton","wrapper","ref","collapsable","trigger","triggerText","numberOfLines","placeholderText","icon","footerRow","transparent","visible","animationType","onRequestClose","inlineDropdown","inlinePosition","popupWrapper","bottomSheetWrapper","popupCard","sheetCard","e","stopPropagation","dragHandle","anchor","screenHeight","get","spaceBelow","openUpward","left","bottom","top"],"sourceRoot":"../../../../src","sources":["components/FieldFlowDropdown/FieldFlowDropdown.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","useRef","useState","FlatList","Modal","Pressable","Text","TextInput","View","Dimensions","useFieldFlowTheme","mergeDeep","defaultTheme","useFieldState","FieldFlowIcon","renderFieldFlowIcon","createDropdownStyles","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","FieldFlowDropdown","props","options","label","placeholder","helperText","errorText","hasError","disabled","required","title","presentation","searchable","searchThreshold","searchPlaceholder","emptyText","maxModalHeight","clearable","leftIcon","rightIcon","iconSize","containerStyle","triggerStyle","labelStyle","theme","themeOverride","testID","multiple","contextTheme","isOpen","setIsOpen","query","setQuery","draftValues","setDraftValues","values","anchorLayout","setAnchorLayout","triggerRef","resolvedError","state","isFocused","Boolean","styles","selectedValues","value","shouldShowSearch","length","filteredOptions","trim","q","toLowerCase","filter","o","includes","openDropdown","current","measureInWindow","x","y","width","height","closeDropdown","commitSingle","onChange","closeOnSelect","toggleMultiDraft","prev","v","next","onChangeMulti","confirmMulti","clearSelection","triggerLabel","labels","map","maxShown","maxLabelsShown","join","slice","renderOption","item","isSelected","handlePress","onPress","style","optionRow","children","icon","marginRight","marginTop","colors","flex","optionLabel","optionLabelSelected","optionLabelDisabled","description","optionDescription","checkbox","checkboxChecked","name","size","color","borderFocused","listContent","searchWrapper","onChangeText","placeholderTextColor","searchInput","data","keyExtractor","renderItem","keyboardShouldPersistTaps","maxHeight","ListEmptyComponent","confirmButton","confirmButtonText","confirmLabel","header","modalHeader","modalTitle","hitSlop","modalClearButton","wrapper","ref","collapsable","trigger","triggerText","numberOfLines","placeholderText","footerRow","transparent","visible","animationType","onRequestClose","inlineDropdown","inlinePosition","popupWrapper","bottomSheetWrapper","popupCard","sheetCard","e","stopPropagation","dragHandle","anchor","screenHeight","get","spaceBelow","openUpward","left","bottom","top"],"sourceRoot":"../../../../src","sources":["components/FieldFlowDropdown/FieldFlowDropdown.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,29 +1,29 @@
1
1
  "use strict";
2
2
 
3
- import React, { forwardRef, useCallback, useImperativeHandle, useMemo, useRef, useState } from 'react';
4
- import { Pressable, Text, TextInput, View } from 'react-native';
3
+ import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';
4
+ import { Animated, Pressable, Text, TextInput, View } from 'react-native';
5
5
  import { useFieldFlowTheme, mergeDeep } from '../../theme/ThemeProvider';
6
6
  import { defaultTheme } from '../../theme/defaultTheme';
7
7
  import { useFieldState } from '../../hooks/useFieldState';
8
8
  import { resolveFieldConfig, implicitRulesForType } from '../../utils/keyboardTypes';
9
9
  import { sanitizeNumeric, sanitizePhone, truncate } from '../../utils/formatters';
10
10
  import { runRules } from '../../validation/validators';
11
- import { FieldFlowIcon } from '../../icons/Icon';
12
- import { createStyles, iconColorFor } from './styles';
11
+ import { renderFieldFlowIcon } from '../../icons/renderIcon';
12
+ import { useFieldMotion } from '../../motion/useFieldMotion';
13
+ import { FieldFlowAffordance } from '../FieldFlowAffordance';
14
+ import { FieldFlowPasswordStrength } from '../FieldFlowPasswordStrength';
15
+ import { affordanceKindFromFieldType } from '../../utils/affordance';
16
+ import { createStyles, iconColorFor, labelColorFor } from './styles';
13
17
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
- function renderIconNode(icon, color) {
15
- if (!icon) return null;
16
- if (typeof icon === 'string') {
17
- return /*#__PURE__*/_jsx(FieldFlowIcon, {
18
- name: icon,
19
- color: color,
20
- size: 18
21
- });
22
- }
23
- return icon;
24
- }
18
+ const DEFAULT_ICONS = {
19
+ search: 'search',
20
+ email: 'mail',
21
+ phone: 'phone',
22
+ password: 'lock'
23
+ };
25
24
  export const FieldFlowInput = /*#__PURE__*/forwardRef(function FieldFlowInput({
26
25
  type = 'text',
26
+ variant = 'outlined',
27
27
  label,
28
28
  helperText,
29
29
  errorText,
@@ -46,16 +46,26 @@ export const FieldFlowInput = /*#__PURE__*/forwardRef(function FieldFlowInput({
46
46
  rightIcon,
47
47
  onLeftIconPress,
48
48
  onRightIconPress,
49
+ iconSize = 18,
49
50
  clearable,
51
+ suggestions,
52
+ suggestionsAlwaysVisible = false,
53
+ showStrength,
54
+ prefix,
55
+ suffix,
56
+ motion = true,
50
57
  maxLength,
51
58
  showCharacterCount,
52
59
  onSubmitEditing,
53
60
  containerStyle,
61
+ inputContainerStyle,
54
62
  inputStyle,
55
63
  labelStyle,
56
64
  helperStyle,
65
+ errorStyle,
57
66
  theme: themeOverride,
58
67
  testID,
68
+ placeholder,
59
69
  ...rest
60
70
  }, forwardedRef) {
61
71
  const contextTheme = useFieldFlowTheme();
@@ -85,8 +95,26 @@ export const FieldFlowInput = /*#__PURE__*/forwardRef(function FieldFlowInput({
85
95
  readOnly,
86
96
  loading
87
97
  });
88
- const styles = useMemo(() => createStyles(theme, state, fieldConfig.multiline && type !== 'chat'), [theme, state, fieldConfig.multiline, type]);
98
+ const styles = useMemo(() => createStyles(theme, state, fieldConfig.multiline && type !== 'chat', variant), [theme, state, fieldConfig.multiline, type, variant]);
89
99
  const iconColor = iconColorFor(theme, state);
100
+ const fieldMotion = useFieldMotion({
101
+ enabled: motion,
102
+ isFocused,
103
+ hasError: Boolean(hasError || resolvedError),
104
+ isSuccess: Boolean(isSuccess || successText),
105
+ duration: theme.animation.duration
106
+ });
107
+ const isFloating = variant === 'floating';
108
+ const floatUp = isFocused || currentValue.length > 0;
109
+ const floatAnim = useRef(new Animated.Value(floatUp ? 1 : 0)).current;
110
+ useEffect(() => {
111
+ if (!isFloating) return;
112
+ Animated.timing(floatAnim, {
113
+ toValue: floatUp ? 1 : 0,
114
+ duration: theme.animation.duration,
115
+ useNativeDriver: false
116
+ }).start();
117
+ }, [floatAnim, floatUp, isFloating, theme.animation.duration]);
90
118
  const runValidation = useCallback(nextValue => {
91
119
  const result = runRules(nextValue, effectiveRules);
92
120
  setLocalError(result.valid ? undefined : result.message);
@@ -103,15 +131,27 @@ export const FieldFlowInput = /*#__PURE__*/forwardRef(function FieldFlowInput({
103
131
  onChangeText?.(next);
104
132
  if (validateOnChange) runValidation(next);
105
133
  }, [type, maxLength, isControlled, onChangeText, validateOnChange, runValidation]);
134
+ const blurHideTimer = useRef(null);
106
135
  const handleFocus = useCallback(() => {
136
+ if (blurHideTimer.current) {
137
+ clearTimeout(blurHideTimer.current);
138
+ blurHideTimer.current = null;
139
+ }
107
140
  setIsFocused(true);
108
141
  onFocus?.();
109
142
  }, [onFocus]);
110
143
  const handleBlur = useCallback(() => {
111
- setIsFocused(false);
144
+ // Delay hiding suggestion chips so a chip press can register first
145
+ blurHideTimer.current = setTimeout(() => {
146
+ setIsFocused(false);
147
+ blurHideTimer.current = null;
148
+ }, 180);
112
149
  runValidation(currentValue);
113
150
  onBlur?.();
114
151
  }, [runValidation, currentValue, onBlur]);
152
+ useEffect(() => () => {
153
+ if (blurHideTimer.current) clearTimeout(blurHideTimer.current);
154
+ }, []);
115
155
  const handleClear = useCallback(() => {
116
156
  if (!isControlled) setInternalValue('');
117
157
  onChangeText?.('');
@@ -119,10 +159,10 @@ export const FieldFlowInput = /*#__PURE__*/forwardRef(function FieldFlowInput({
119
159
  }, [isControlled, onChangeText]);
120
160
  const isClearable = clearable ?? type === 'search';
121
161
  const showClearButton = isClearable && currentValue.length > 0 && !disabled && !readOnly && !loading;
122
- const resolvedLeftIcon = leftIcon ?? (type === 'search' ? 'search' : undefined);
123
- let resolvedRightIcon = rightIcon;
162
+ const resolvedLeftIcon = leftIcon === null ? undefined : leftIcon !== undefined ? leftIcon : DEFAULT_ICONS[type];
163
+ let resolvedRightIcon = rightIcon === null ? undefined : rightIcon;
124
164
  let rightIconPress = onRightIconPress;
125
- if (!resolvedRightIcon) {
165
+ if (rightIcon === undefined) {
126
166
  if (loading) {
127
167
  resolvedRightIcon = 'spinner';
128
168
  } else if (type === 'password') {
@@ -137,59 +177,150 @@ export const FieldFlowInput = /*#__PURE__*/forwardRef(function FieldFlowInput({
137
177
  resolvedRightIcon = 'check';
138
178
  }
139
179
  }
180
+ const floatingLabelStyle = {
181
+ top: floatAnim.interpolate({
182
+ inputRange: [0, 1],
183
+ outputRange: [theme.spacing.paddingVertical + (theme.typography.fontSize - theme.typography.labelFontSize) / 2 + 2, -theme.typography.labelFontSize / 2 - 2]
184
+ }),
185
+ fontSize: floatAnim.interpolate({
186
+ inputRange: [0, 1],
187
+ outputRange: [theme.typography.fontSize, theme.typography.labelFontSize]
188
+ }),
189
+ color: labelColorFor(theme, state),
190
+ left: theme.spacing.paddingHorizontal + (resolvedLeftIcon ? iconSize + theme.spacing.gap : 0)
191
+ };
192
+ const showExternalLabel = Boolean(label) && !isFloating;
193
+ const affordanceConfig = useMemo(() => {
194
+ if (!suggestions) return null;
195
+ if (suggestions === true) {
196
+ const kind = affordanceKindFromFieldType(type);
197
+ return kind ? {
198
+ kind,
199
+ chips: undefined
200
+ } : null;
201
+ }
202
+ if (typeof suggestions === 'string') {
203
+ return {
204
+ kind: suggestions,
205
+ chips: undefined
206
+ };
207
+ }
208
+ return {
209
+ kind: 'custom',
210
+ chips: suggestions
211
+ };
212
+ }, [suggestions, type]);
213
+ const showAffordance = Boolean(affordanceConfig) && !disabled && !readOnly && (suggestionsAlwaysVisible || isFocused);
214
+ const renderAffix = (affix, side) => {
215
+ if (affix == null || affix === false) return null;
216
+ if (typeof affix === 'string') {
217
+ return /*#__PURE__*/_jsx(Text, {
218
+ style: [styles.affixText, side === 'left' ? styles.iconSlotLeft : styles.iconSlotRight],
219
+ numberOfLines: 1,
220
+ children: affix
221
+ });
222
+ }
223
+ return /*#__PURE__*/_jsx(View, {
224
+ style: side === 'left' ? styles.iconSlotLeft : styles.iconSlotRight,
225
+ children: affix
226
+ });
227
+ };
140
228
  return /*#__PURE__*/_jsxs(View, {
141
229
  style: [styles.wrapper, containerStyle],
142
230
  testID: testID,
143
- children: [label ? /*#__PURE__*/_jsxs(Text, {
231
+ children: [showExternalLabel ? /*#__PURE__*/_jsxs(Text, {
144
232
  style: [styles.label, labelStyle],
145
233
  children: [label, required ? ' *' : '']
146
- }) : null, /*#__PURE__*/_jsxs(View, {
147
- style: styles.inputContainer,
148
- children: [resolvedLeftIcon ? /*#__PURE__*/_jsx(Pressable, {
149
- onPress: onLeftIconPress,
150
- disabled: !onLeftIconPress,
151
- style: [styles.iconSlot, styles.iconSlotLeft],
152
- hitSlop: 8,
153
- children: renderIconNode(resolvedLeftIcon, iconColor)
154
- }) : null, /*#__PURE__*/_jsx(TextInput, {
155
- ref: innerRef,
156
- value: currentValue,
157
- onChangeText: handleChangeText,
158
- onFocus: handleFocus,
159
- onBlur: handleBlur,
160
- onSubmitEditing: onSubmitEditing,
161
- editable: !disabled && !readOnly && !loading,
162
- placeholderTextColor: theme.colors.placeholder,
163
- keyboardType: fieldConfig.keyboardType,
164
- secureTextEntry: fieldConfig.secureTextEntry && !showPassword,
165
- autoCapitalize: fieldConfig.autoCapitalize,
166
- autoCorrect: fieldConfig.autoCorrect,
167
- multiline: fieldConfig.multiline && type !== 'chat',
168
- maxLength: maxLength,
169
- returnKeyType: fieldConfig.multiline ? 'default' : 'done',
170
- style: [styles.input, inputStyle],
171
- ...rest
172
- }), resolvedRightIcon ? /*#__PURE__*/_jsx(Pressable, {
173
- onPress: rightIconPress,
174
- disabled: !rightIconPress,
175
- style: [styles.iconSlot, styles.iconSlotRight],
176
- hitSlop: 8,
177
- children: renderIconNode(resolvedRightIcon, iconColor)
178
- }) : null]
179
- }), (helperText || resolvedError || successText || showCharacterCount && maxLength) && /*#__PURE__*/_jsxs(View, {
180
- style: styles.footerRow,
234
+ }) : null, /*#__PURE__*/_jsx(Animated.View, {
235
+ style: fieldMotion.containerStyle,
236
+ children: /*#__PURE__*/_jsxs(View, {
237
+ style: [styles.inputContainer, inputContainerStyle],
238
+ children: [motion ? /*#__PURE__*/_jsx(Animated.View, {
239
+ pointerEvents: "none",
240
+ style: [styles.focusGlow, {
241
+ opacity: fieldMotion.glowOpacity.interpolate({
242
+ inputRange: [0, 1],
243
+ outputRange: [0, 0.22]
244
+ }),
245
+ borderColor: theme.colors.borderFocused,
246
+ borderRadius: theme.spacing.borderRadius + 2
247
+ }]
248
+ }) : null, isFloating && label ? /*#__PURE__*/_jsxs(Animated.Text, {
249
+ style: [styles.floatingLabel, floatingLabelStyle, labelStyle],
250
+ pointerEvents: "none",
251
+ children: [label, required ? ' *' : '']
252
+ }) : null, resolvedLeftIcon ? /*#__PURE__*/_jsx(Pressable, {
253
+ onPress: onLeftIconPress,
254
+ disabled: !onLeftIconPress,
255
+ style: [styles.iconSlot, styles.iconSlotLeft],
256
+ hitSlop: 8,
257
+ accessibilityRole: onLeftIconPress ? 'button' : undefined,
258
+ children: renderFieldFlowIcon(resolvedLeftIcon, iconColor, iconSize)
259
+ }) : null, renderAffix(prefix, 'left'), /*#__PURE__*/_jsx(TextInput, {
260
+ ref: innerRef,
261
+ value: currentValue,
262
+ onChangeText: handleChangeText,
263
+ onFocus: handleFocus,
264
+ onBlur: handleBlur,
265
+ onSubmitEditing: onSubmitEditing,
266
+ editable: !disabled && !readOnly && !loading,
267
+ placeholder: isFloating ? floatUp ? placeholder : undefined : placeholder,
268
+ placeholderTextColor: theme.colors.placeholder,
269
+ keyboardType: fieldConfig.keyboardType,
270
+ secureTextEntry: fieldConfig.secureTextEntry && !showPassword,
271
+ autoCapitalize: fieldConfig.autoCapitalize,
272
+ autoCorrect: fieldConfig.autoCorrect,
273
+ multiline: fieldConfig.multiline && type !== 'chat',
274
+ maxLength: maxLength,
275
+ returnKeyType: fieldConfig.multiline ? 'default' : 'done',
276
+ style: [styles.input, inputStyle],
277
+ ...rest
278
+ }), renderAffix(suffix, 'right'), resolvedRightIcon ? /*#__PURE__*/_jsx(Animated.View, {
279
+ style: {
280
+ transform: [{
281
+ scale: fieldMotion.successScale
282
+ }]
283
+ },
284
+ children: /*#__PURE__*/_jsx(Pressable, {
285
+ onPress: rightIconPress,
286
+ disabled: !rightIconPress,
287
+ style: [styles.iconSlot, styles.iconSlotRight],
288
+ hitSlop: 8,
289
+ accessibilityRole: rightIconPress ? 'button' : undefined,
290
+ children: renderFieldFlowIcon(resolvedRightIcon, iconColor, iconSize)
291
+ })
292
+ }) : null]
293
+ })
294
+ }), showAffordance && affordanceConfig ? /*#__PURE__*/_jsx(FieldFlowAffordance, {
295
+ kind: affordanceConfig.kind,
296
+ chips: affordanceConfig.chips,
297
+ value: currentValue,
298
+ onSelect: next => {
299
+ handleChangeText(next);
300
+ innerRef.current?.focus();
301
+ },
302
+ theme: themeOverride
303
+ }) : null, type === 'password' && showStrength ? /*#__PURE__*/_jsx(FieldFlowPasswordStrength, {
304
+ password: currentValue,
305
+ showRules: typeof showStrength === 'object' ? showStrength.showRules : true,
306
+ rules: typeof showStrength === 'object' ? showStrength.rules : undefined,
307
+ theme: themeOverride
308
+ }) : null, (helperText || resolvedError || successText || showCharacterCount && maxLength) && /*#__PURE__*/_jsxs(Animated.View, {
309
+ style: [styles.footerRow, {
310
+ opacity: fieldMotion.messageOpacity
311
+ }],
181
312
  children: [/*#__PURE__*/_jsx(View, {
182
313
  style: {
183
314
  flex: 1
184
315
  },
185
316
  children: resolvedError ? /*#__PURE__*/_jsx(Text, {
186
- style: styles.errorText,
317
+ style: [styles.errorText, errorStyle, helperStyle],
187
318
  children: resolvedError
188
319
  }) : successText ? /*#__PURE__*/_jsx(Text, {
189
- style: styles.successText,
320
+ style: [styles.successText, helperStyle],
190
321
  children: successText
191
322
  }) : helperText ? /*#__PURE__*/_jsx(Text, {
192
- style: styles.helperText,
323
+ style: [styles.helperText, helperStyle],
193
324
  children: helperText
194
325
  }) : null
195
326
  }), showCharacterCount && maxLength ? /*#__PURE__*/_jsxs(Text, {