rn-inputforge 0.5.0 → 0.5.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 (277) hide show
  1. package/README.md +236 -0
  2. package/lib/commonjs/a11y/audit.js +72 -0
  3. package/lib/commonjs/a11y/audit.js.map +1 -0
  4. package/lib/commonjs/a11y/index.js +13 -0
  5. package/lib/commonjs/a11y/index.js.map +1 -0
  6. package/lib/commonjs/autofill/index.js +25 -0
  7. package/lib/commonjs/autofill/index.js.map +1 -0
  8. package/lib/commonjs/autofill/profiles.js +199 -0
  9. package/lib/commonjs/autofill/profiles.js.map +1 -0
  10. package/lib/commonjs/components/FieldFlowA11yAudit/FieldFlowA11yAudit.js +99 -0
  11. package/lib/commonjs/components/FieldFlowA11yAudit/FieldFlowA11yAudit.js.map +1 -0
  12. package/lib/commonjs/components/FieldFlowA11yAudit/index.js +13 -0
  13. package/lib/commonjs/components/FieldFlowA11yAudit/index.js.map +1 -0
  14. package/lib/commonjs/components/FieldFlowAuthActions/FieldFlowAuthActions.js +130 -0
  15. package/lib/commonjs/components/FieldFlowAuthActions/FieldFlowAuthActions.js.map +1 -0
  16. package/lib/commonjs/components/FieldFlowAuthActions/index.js +13 -0
  17. package/lib/commonjs/components/FieldFlowAuthActions/index.js.map +1 -0
  18. package/lib/commonjs/components/FieldFlowCompleteness/FieldFlowCompleteness.js +100 -0
  19. package/lib/commonjs/components/FieldFlowCompleteness/FieldFlowCompleteness.js.map +1 -0
  20. package/lib/commonjs/components/FieldFlowCompleteness/index.js +13 -0
  21. package/lib/commonjs/components/FieldFlowCompleteness/index.js.map +1 -0
  22. package/lib/commonjs/components/FieldFlowFormHeader/FieldFlowFormHeader.js +102 -0
  23. package/lib/commonjs/components/FieldFlowFormHeader/FieldFlowFormHeader.js.map +1 -0
  24. package/lib/commonjs/components/FieldFlowFormHeader/index.js +13 -0
  25. package/lib/commonjs/components/FieldFlowFormHeader/index.js.map +1 -0
  26. package/lib/commonjs/components/FieldFlowInfoTip/FieldFlowInfoTip.js +121 -0
  27. package/lib/commonjs/components/FieldFlowInfoTip/FieldFlowInfoTip.js.map +1 -0
  28. package/lib/commonjs/components/FieldFlowInfoTip/index.js +13 -0
  29. package/lib/commonjs/components/FieldFlowInfoTip/index.js.map +1 -0
  30. package/lib/commonjs/components/FieldFlowInlineAlert/FieldFlowInlineAlert.js +142 -0
  31. package/lib/commonjs/components/FieldFlowInlineAlert/FieldFlowInlineAlert.js.map +1 -0
  32. package/lib/commonjs/components/FieldFlowInlineAlert/index.js +13 -0
  33. package/lib/commonjs/components/FieldFlowInlineAlert/index.js.map +1 -0
  34. package/lib/commonjs/components/FieldFlowInput/FieldFlowInput.js +44 -18
  35. package/lib/commonjs/components/FieldFlowInput/FieldFlowInput.js.map +1 -1
  36. package/lib/commonjs/components/FieldFlowInput/styles.js +49 -13
  37. package/lib/commonjs/components/FieldFlowInput/styles.js.map +1 -1
  38. package/lib/commonjs/components/FieldFlowKeyboardToolbar/FieldFlowKeyboardToolbar.js +137 -0
  39. package/lib/commonjs/components/FieldFlowKeyboardToolbar/FieldFlowKeyboardToolbar.js.map +1 -0
  40. package/lib/commonjs/components/FieldFlowKeyboardToolbar/index.js +19 -0
  41. package/lib/commonjs/components/FieldFlowKeyboardToolbar/index.js.map +1 -0
  42. package/lib/commonjs/components/FieldFlowSkeleton/FieldFlowSkeleton.js +101 -0
  43. package/lib/commonjs/components/FieldFlowSkeleton/FieldFlowSkeleton.js.map +1 -0
  44. package/lib/commonjs/components/FieldFlowSkeleton/index.js +13 -0
  45. package/lib/commonjs/components/FieldFlowSkeleton/index.js.map +1 -0
  46. package/lib/commonjs/components/KeyboardAwareFormWrapper/KeyboardAwareFormWrapper.js +6 -4
  47. package/lib/commonjs/components/KeyboardAwareFormWrapper/KeyboardAwareFormWrapper.js.map +1 -1
  48. package/lib/commonjs/hooks/index.js +21 -0
  49. package/lib/commonjs/hooks/index.js.map +1 -1
  50. package/lib/commonjs/hooks/useFieldFlowCompleteness.js +46 -0
  51. package/lib/commonjs/hooks/useFieldFlowCompleteness.js.map +1 -0
  52. package/lib/commonjs/hooks/useFieldFlowSubmitQueue.js +145 -0
  53. package/lib/commonjs/hooks/useFieldFlowSubmitQueue.js.map +1 -0
  54. package/lib/commonjs/hooks/useKeyboardManager.js +15 -0
  55. package/lib/commonjs/hooks/useKeyboardManager.js.map +1 -1
  56. package/lib/commonjs/hooks/useSmartPaste.js +27 -0
  57. package/lib/commonjs/hooks/useSmartPaste.js.map +1 -0
  58. package/lib/commonjs/index.js +144 -0
  59. package/lib/commonjs/index.js.map +1 -1
  60. package/lib/commonjs/paste/index.js +19 -0
  61. package/lib/commonjs/paste/index.js.map +1 -0
  62. package/lib/commonjs/paste/smartPaste.js +113 -0
  63. package/lib/commonjs/paste/smartPaste.js.map +1 -0
  64. package/lib/commonjs/schema/FieldFlowSchemaForm.js +219 -0
  65. package/lib/commonjs/schema/FieldFlowSchemaForm.js.map +1 -0
  66. package/lib/commonjs/schema/index.js +13 -0
  67. package/lib/commonjs/schema/index.js.map +1 -0
  68. package/lib/commonjs/schema/types.js +6 -0
  69. package/lib/commonjs/schema/types.js.map +1 -0
  70. package/lib/commonjs/theme/ThemeProvider.js +65 -4
  71. package/lib/commonjs/theme/ThemeProvider.js.map +1 -1
  72. package/lib/commonjs/theme/appearance.js +93 -0
  73. package/lib/commonjs/theme/appearance.js.map +1 -0
  74. package/lib/commonjs/theme/defaultTheme.js +17 -2
  75. package/lib/commonjs/theme/defaultTheme.js.map +1 -1
  76. package/lib/commonjs/theme/index.js +19 -0
  77. package/lib/commonjs/theme/index.js.map +1 -1
  78. package/lib/commonjs/types/globals.d.js +2 -0
  79. package/lib/commonjs/types/globals.d.js.map +1 -0
  80. package/lib/module/a11y/audit.js +68 -0
  81. package/lib/module/a11y/audit.js.map +1 -0
  82. package/lib/module/a11y/index.js +4 -0
  83. package/lib/module/a11y/index.js.map +1 -0
  84. package/lib/module/autofill/index.js +4 -0
  85. package/lib/module/autofill/index.js.map +1 -0
  86. package/lib/module/autofill/profiles.js +193 -0
  87. package/lib/module/autofill/profiles.js.map +1 -0
  88. package/lib/module/components/FieldFlowA11yAudit/FieldFlowA11yAudit.js +94 -0
  89. package/lib/module/components/FieldFlowA11yAudit/FieldFlowA11yAudit.js.map +1 -0
  90. package/lib/module/components/FieldFlowA11yAudit/index.js +4 -0
  91. package/lib/module/components/FieldFlowA11yAudit/index.js.map +1 -0
  92. package/lib/module/components/FieldFlowAuthActions/FieldFlowAuthActions.js +125 -0
  93. package/lib/module/components/FieldFlowAuthActions/FieldFlowAuthActions.js.map +1 -0
  94. package/lib/module/components/FieldFlowAuthActions/index.js +4 -0
  95. package/lib/module/components/FieldFlowAuthActions/index.js.map +1 -0
  96. package/lib/module/components/FieldFlowCompleteness/FieldFlowCompleteness.js +95 -0
  97. package/lib/module/components/FieldFlowCompleteness/FieldFlowCompleteness.js.map +1 -0
  98. package/lib/module/components/FieldFlowCompleteness/index.js +4 -0
  99. package/lib/module/components/FieldFlowCompleteness/index.js.map +1 -0
  100. package/lib/module/components/FieldFlowFormHeader/FieldFlowFormHeader.js +97 -0
  101. package/lib/module/components/FieldFlowFormHeader/FieldFlowFormHeader.js.map +1 -0
  102. package/lib/module/components/FieldFlowFormHeader/index.js +4 -0
  103. package/lib/module/components/FieldFlowFormHeader/index.js.map +1 -0
  104. package/lib/module/components/FieldFlowInfoTip/FieldFlowInfoTip.js +116 -0
  105. package/lib/module/components/FieldFlowInfoTip/FieldFlowInfoTip.js.map +1 -0
  106. package/lib/module/components/FieldFlowInfoTip/index.js +4 -0
  107. package/lib/module/components/FieldFlowInfoTip/index.js.map +1 -0
  108. package/lib/module/components/FieldFlowInlineAlert/FieldFlowInlineAlert.js +137 -0
  109. package/lib/module/components/FieldFlowInlineAlert/FieldFlowInlineAlert.js.map +1 -0
  110. package/lib/module/components/FieldFlowInlineAlert/index.js +4 -0
  111. package/lib/module/components/FieldFlowInlineAlert/index.js.map +1 -0
  112. package/lib/module/components/FieldFlowInput/FieldFlowInput.js +44 -18
  113. package/lib/module/components/FieldFlowInput/FieldFlowInput.js.map +1 -1
  114. package/lib/module/components/FieldFlowInput/styles.js +49 -13
  115. package/lib/module/components/FieldFlowInput/styles.js.map +1 -1
  116. package/lib/module/components/FieldFlowKeyboardToolbar/FieldFlowKeyboardToolbar.js +131 -0
  117. package/lib/module/components/FieldFlowKeyboardToolbar/FieldFlowKeyboardToolbar.js.map +1 -0
  118. package/lib/module/components/FieldFlowKeyboardToolbar/index.js +4 -0
  119. package/lib/module/components/FieldFlowKeyboardToolbar/index.js.map +1 -0
  120. package/lib/module/components/FieldFlowSkeleton/FieldFlowSkeleton.js +96 -0
  121. package/lib/module/components/FieldFlowSkeleton/FieldFlowSkeleton.js.map +1 -0
  122. package/lib/module/components/FieldFlowSkeleton/index.js +4 -0
  123. package/lib/module/components/FieldFlowSkeleton/index.js.map +1 -0
  124. package/lib/module/components/KeyboardAwareFormWrapper/KeyboardAwareFormWrapper.js +5 -3
  125. package/lib/module/components/KeyboardAwareFormWrapper/KeyboardAwareFormWrapper.js.map +1 -1
  126. package/lib/module/hooks/index.js +3 -0
  127. package/lib/module/hooks/index.js.map +1 -1
  128. package/lib/module/hooks/useFieldFlowCompleteness.js +42 -0
  129. package/lib/module/hooks/useFieldFlowCompleteness.js.map +1 -0
  130. package/lib/module/hooks/useFieldFlowSubmitQueue.js +141 -0
  131. package/lib/module/hooks/useFieldFlowSubmitQueue.js.map +1 -0
  132. package/lib/module/hooks/useKeyboardManager.js +15 -0
  133. package/lib/module/hooks/useKeyboardManager.js.map +1 -1
  134. package/lib/module/hooks/useSmartPaste.js +23 -0
  135. package/lib/module/hooks/useSmartPaste.js.map +1 -0
  136. package/lib/module/index.js +17 -2
  137. package/lib/module/index.js.map +1 -1
  138. package/lib/module/paste/index.js +4 -0
  139. package/lib/module/paste/index.js.map +1 -0
  140. package/lib/module/paste/smartPaste.js +108 -0
  141. package/lib/module/paste/smartPaste.js.map +1 -0
  142. package/lib/module/schema/FieldFlowSchemaForm.js +214 -0
  143. package/lib/module/schema/FieldFlowSchemaForm.js.map +1 -0
  144. package/lib/module/schema/index.js +4 -0
  145. package/lib/module/schema/index.js.map +1 -0
  146. package/lib/module/schema/types.js +4 -0
  147. package/lib/module/schema/types.js.map +1 -0
  148. package/lib/module/theme/ThemeProvider.js +66 -5
  149. package/lib/module/theme/ThemeProvider.js.map +1 -1
  150. package/lib/module/theme/appearance.js +87 -0
  151. package/lib/module/theme/appearance.js.map +1 -0
  152. package/lib/module/theme/defaultTheme.js +17 -2
  153. package/lib/module/theme/defaultTheme.js.map +1 -1
  154. package/lib/module/theme/index.js +1 -0
  155. package/lib/module/theme/index.js.map +1 -1
  156. package/lib/module/types/globals.d.js +2 -0
  157. package/lib/module/types/globals.d.js.map +1 -0
  158. package/lib/typescript/a11y/audit.d.ts +32 -0
  159. package/lib/typescript/a11y/audit.d.ts.map +1 -0
  160. package/lib/typescript/a11y/index.d.ts +3 -0
  161. package/lib/typescript/a11y/index.d.ts.map +1 -0
  162. package/lib/typescript/autofill/index.d.ts +3 -0
  163. package/lib/typescript/autofill/index.d.ts.map +1 -0
  164. package/lib/typescript/autofill/profiles.d.ts +48 -0
  165. package/lib/typescript/autofill/profiles.d.ts.map +1 -0
  166. package/lib/typescript/components/FieldFlowA11yAudit/FieldFlowA11yAudit.d.ts +21 -0
  167. package/lib/typescript/components/FieldFlowA11yAudit/FieldFlowA11yAudit.d.ts.map +1 -0
  168. package/lib/typescript/components/FieldFlowA11yAudit/index.d.ts +3 -0
  169. package/lib/typescript/components/FieldFlowA11yAudit/index.d.ts.map +1 -0
  170. package/lib/typescript/components/FieldFlowAuthActions/FieldFlowAuthActions.d.ts +29 -0
  171. package/lib/typescript/components/FieldFlowAuthActions/FieldFlowAuthActions.d.ts.map +1 -0
  172. package/lib/typescript/components/FieldFlowAuthActions/index.d.ts +3 -0
  173. package/lib/typescript/components/FieldFlowAuthActions/index.d.ts.map +1 -0
  174. package/lib/typescript/components/FieldFlowCompleteness/FieldFlowCompleteness.d.ts +25 -0
  175. package/lib/typescript/components/FieldFlowCompleteness/FieldFlowCompleteness.d.ts.map +1 -0
  176. package/lib/typescript/components/FieldFlowCompleteness/index.d.ts +3 -0
  177. package/lib/typescript/components/FieldFlowCompleteness/index.d.ts.map +1 -0
  178. package/lib/typescript/components/FieldFlowFormHeader/FieldFlowFormHeader.d.ts +23 -0
  179. package/lib/typescript/components/FieldFlowFormHeader/FieldFlowFormHeader.d.ts.map +1 -0
  180. package/lib/typescript/components/FieldFlowFormHeader/index.d.ts +3 -0
  181. package/lib/typescript/components/FieldFlowFormHeader/index.d.ts.map +1 -0
  182. package/lib/typescript/components/FieldFlowInfoTip/FieldFlowInfoTip.d.ts +19 -0
  183. package/lib/typescript/components/FieldFlowInfoTip/FieldFlowInfoTip.d.ts.map +1 -0
  184. package/lib/typescript/components/FieldFlowInfoTip/index.d.ts +3 -0
  185. package/lib/typescript/components/FieldFlowInfoTip/index.d.ts.map +1 -0
  186. package/lib/typescript/components/FieldFlowInlineAlert/FieldFlowInlineAlert.d.ts +22 -0
  187. package/lib/typescript/components/FieldFlowInlineAlert/FieldFlowInlineAlert.d.ts.map +1 -0
  188. package/lib/typescript/components/FieldFlowInlineAlert/index.d.ts +3 -0
  189. package/lib/typescript/components/FieldFlowInlineAlert/index.d.ts.map +1 -0
  190. package/lib/typescript/components/FieldFlowInput/FieldFlowInput.d.ts.map +1 -1
  191. package/lib/typescript/components/FieldFlowInput/styles.d.ts +36 -1
  192. package/lib/typescript/components/FieldFlowInput/styles.d.ts.map +1 -1
  193. package/lib/typescript/components/FieldFlowInput/types.d.ts +18 -0
  194. package/lib/typescript/components/FieldFlowInput/types.d.ts.map +1 -1
  195. package/lib/typescript/components/FieldFlowKeyboardToolbar/FieldFlowKeyboardToolbar.d.ts +30 -0
  196. package/lib/typescript/components/FieldFlowKeyboardToolbar/FieldFlowKeyboardToolbar.d.ts.map +1 -0
  197. package/lib/typescript/components/FieldFlowKeyboardToolbar/index.d.ts +3 -0
  198. package/lib/typescript/components/FieldFlowKeyboardToolbar/index.d.ts.map +1 -0
  199. package/lib/typescript/components/FieldFlowSkeleton/FieldFlowSkeleton.d.ts +21 -0
  200. package/lib/typescript/components/FieldFlowSkeleton/FieldFlowSkeleton.d.ts.map +1 -0
  201. package/lib/typescript/components/FieldFlowSkeleton/index.d.ts +3 -0
  202. package/lib/typescript/components/FieldFlowSkeleton/index.d.ts.map +1 -0
  203. package/lib/typescript/components/KeyboardAwareFormWrapper/KeyboardAwareFormWrapper.d.ts +3 -2
  204. package/lib/typescript/components/KeyboardAwareFormWrapper/KeyboardAwareFormWrapper.d.ts.map +1 -1
  205. package/lib/typescript/hooks/index.d.ts +6 -0
  206. package/lib/typescript/hooks/index.d.ts.map +1 -1
  207. package/lib/typescript/hooks/useFieldFlowCompleteness.d.ts +28 -0
  208. package/lib/typescript/hooks/useFieldFlowCompleteness.d.ts.map +1 -0
  209. package/lib/typescript/hooks/useFieldFlowSubmitQueue.d.ts +45 -0
  210. package/lib/typescript/hooks/useFieldFlowSubmitQueue.d.ts.map +1 -0
  211. package/lib/typescript/hooks/useKeyboardManager.d.ts +6 -0
  212. package/lib/typescript/hooks/useKeyboardManager.d.ts.map +1 -1
  213. package/lib/typescript/hooks/useSmartPaste.d.ts +14 -0
  214. package/lib/typescript/hooks/useSmartPaste.d.ts.map +1 -0
  215. package/lib/typescript/index.d.ts +28 -4
  216. package/lib/typescript/index.d.ts.map +1 -1
  217. package/lib/typescript/paste/index.d.ts +3 -0
  218. package/lib/typescript/paste/index.d.ts.map +1 -0
  219. package/lib/typescript/paste/smartPaste.d.ts +32 -0
  220. package/lib/typescript/paste/smartPaste.d.ts.map +1 -0
  221. package/lib/typescript/schema/FieldFlowSchemaForm.d.ts +28 -0
  222. package/lib/typescript/schema/FieldFlowSchemaForm.d.ts.map +1 -0
  223. package/lib/typescript/schema/index.d.ts +4 -0
  224. package/lib/typescript/schema/index.d.ts.map +1 -0
  225. package/lib/typescript/schema/types.d.ts +43 -0
  226. package/lib/typescript/schema/types.d.ts.map +1 -0
  227. package/lib/typescript/theme/ThemeProvider.d.ts +18 -4
  228. package/lib/typescript/theme/ThemeProvider.d.ts.map +1 -1
  229. package/lib/typescript/theme/appearance.d.ts +19 -0
  230. package/lib/typescript/theme/appearance.d.ts.map +1 -0
  231. package/lib/typescript/theme/defaultTheme.d.ts.map +1 -1
  232. package/lib/typescript/theme/index.d.ts +1 -0
  233. package/lib/typescript/theme/index.d.ts.map +1 -1
  234. package/lib/typescript/types/index.d.ts +26 -0
  235. package/lib/typescript/types/index.d.ts.map +1 -1
  236. package/package.json +2 -2
  237. package/src/a11y/audit.ts +99 -0
  238. package/src/a11y/index.ts +7 -0
  239. package/src/autofill/index.ts +10 -0
  240. package/src/autofill/profiles.ts +224 -0
  241. package/src/components/FieldFlowA11yAudit/FieldFlowA11yAudit.tsx +112 -0
  242. package/src/components/FieldFlowA11yAudit/index.ts +2 -0
  243. package/src/components/FieldFlowAuthActions/FieldFlowAuthActions.tsx +146 -0
  244. package/src/components/FieldFlowAuthActions/index.ts +6 -0
  245. package/src/components/FieldFlowCompleteness/FieldFlowCompleteness.tsx +109 -0
  246. package/src/components/FieldFlowCompleteness/index.ts +2 -0
  247. package/src/components/FieldFlowFormHeader/FieldFlowFormHeader.tsx +106 -0
  248. package/src/components/FieldFlowFormHeader/index.ts +2 -0
  249. package/src/components/FieldFlowInfoTip/FieldFlowInfoTip.tsx +120 -0
  250. package/src/components/FieldFlowInfoTip/index.ts +2 -0
  251. package/src/components/FieldFlowInlineAlert/FieldFlowInlineAlert.tsx +134 -0
  252. package/src/components/FieldFlowInlineAlert/index.ts +2 -0
  253. package/src/components/FieldFlowInput/FieldFlowInput.tsx +71 -13
  254. package/src/components/FieldFlowInput/styles.ts +58 -16
  255. package/src/components/FieldFlowInput/types.ts +21 -0
  256. package/src/components/FieldFlowKeyboardToolbar/FieldFlowKeyboardToolbar.tsx +150 -0
  257. package/src/components/FieldFlowKeyboardToolbar/index.ts +5 -0
  258. package/src/components/FieldFlowSkeleton/FieldFlowSkeleton.tsx +105 -0
  259. package/src/components/FieldFlowSkeleton/index.ts +2 -0
  260. package/src/components/KeyboardAwareFormWrapper/KeyboardAwareFormWrapper.tsx +8 -4
  261. package/src/hooks/index.ts +17 -0
  262. package/src/hooks/useFieldFlowCompleteness.ts +69 -0
  263. package/src/hooks/useFieldFlowSubmitQueue.ts +206 -0
  264. package/src/hooks/useKeyboardManager.ts +26 -0
  265. package/src/hooks/useSmartPaste.ts +33 -0
  266. package/src/index.ts +90 -0
  267. package/src/paste/index.ts +7 -0
  268. package/src/paste/smartPaste.ts +132 -0
  269. package/src/schema/FieldFlowSchemaForm.tsx +274 -0
  270. package/src/schema/index.ts +8 -0
  271. package/src/schema/types.ts +63 -0
  272. package/src/theme/ThemeProvider.tsx +96 -7
  273. package/src/theme/appearance.ts +105 -0
  274. package/src/theme/defaultTheme.ts +11 -0
  275. package/src/theme/index.ts +1 -0
  276. package/src/types/globals.d.ts +2 -0
  277. package/src/types/index.ts +28 -0
@@ -8,6 +8,7 @@ exports.createStyles = createStyles;
8
8
  exports.iconColorFor = iconColorFor;
9
9
  exports.labelColorFor = labelColorFor;
10
10
  var _reactNative = require("react-native");
11
+ var _appearance = require("../../theme/appearance");
11
12
  function borderColorFor(theme, state) {
12
13
  switch (state) {
13
14
  case 'focused':
@@ -32,40 +33,55 @@ function createStyles(theme, state, multiline, variant = 'outlined') {
32
33
  const isUnderline = variant === 'underline';
33
34
  const isFilled = variant === 'filled';
34
35
  const isFloating = variant === 'floating';
36
+ const appearance = theme.appearance;
37
+ const surface = appearance?.surface ?? 'flat';
38
+ const focusRing = appearance?.focusRing ?? 'softGlow';
35
39
  const borderW = state === 'focused' ? theme.spacing.borderWidthFocused : theme.spacing.borderWidth;
40
+ const shadow = !isUnderline ? (0, _appearance.surfaceShadow)(surface) : null;
41
+ let backgroundColor = theme.colors.background;
42
+ if (state === 'disabled') backgroundColor = theme.colors.backgroundDisabled;else if (isFilled || surface === 'soft') backgroundColor = theme.colors.surfaceMuted ?? theme.colors.backgroundDisabled;else if (surface === 'inset') backgroundColor = theme.colors.surfaceMuted ?? theme.colors.backgroundDisabled;else if (surface === 'elevated') backgroundColor = theme.colors.surfaceElevated ?? theme.colors.background;else if (isUnderline) backgroundColor = 'transparent';
43
+ const glowPad = focusRing === 'solid' ? 2 : focusRing === 'softGlow' ? 3 : 0;
36
44
  return _reactNative.StyleSheet.create({
37
45
  wrapper: {
38
46
  marginBottom: theme.spacing.gap * 2
39
47
  },
48
+ labelRow: {
49
+ flexDirection: 'row',
50
+ alignItems: 'center',
51
+ gap: 6,
52
+ marginBottom: theme.spacing.gap / 1.5
53
+ },
40
54
  label: {
41
55
  fontSize: theme.typography.labelFontSize,
42
- marginBottom: theme.spacing.gap / 1.5,
43
56
  color: labelColorFor(theme, state),
44
57
  fontWeight: '500',
45
- fontFamily: theme.typography.fontFamily
58
+ fontFamily: theme.typography.fontFamily,
59
+ flexShrink: 1
46
60
  },
47
61
  inputContainer: {
48
62
  position: 'relative',
49
63
  overflow: 'visible',
50
64
  flexDirection: 'row',
51
65
  alignItems: multiline ? 'flex-start' : 'center',
52
- backgroundColor: state === 'disabled' ? theme.colors.backgroundDisabled : isFilled ? theme.colors.backgroundDisabled : isUnderline ? 'transparent' : theme.colors.background,
66
+ backgroundColor,
53
67
  borderRadius: isUnderline ? 0 : theme.spacing.borderRadius,
54
- borderWidth: isUnderline ? 0 : isFilled ? 0 : borderW,
55
- borderBottomWidth: isUnderline ? borderW + (state === 'focused' ? 0.5 : 0) : isFilled ? 0 : borderW,
68
+ borderWidth: isUnderline ? 0 : isFilled && surface !== 'inset' ? 0 : borderW,
69
+ borderBottomWidth: isUnderline ? borderW + (state === 'focused' && focusRing === 'underlinePulse' ? 1 : state === 'focused' ? 0.5 : 0) : isFilled && surface !== 'inset' ? 0 : borderW,
56
70
  borderColor: borderColorFor(theme, state),
57
71
  paddingHorizontal: theme.spacing.paddingHorizontal,
58
72
  paddingVertical: multiline ? theme.spacing.paddingVertical : 0,
59
73
  minHeight: multiline ? undefined : theme.spacing.paddingVertical * 2 + theme.typography.fontSize + 6 + (isFloating ? 6 : 0),
60
- paddingTop: isFloating && !multiline ? theme.spacing.paddingVertical + 6 : undefined
74
+ paddingTop: isFloating && !multiline ? theme.spacing.paddingVertical + 6 : undefined,
75
+ ...(shadow ?? null)
61
76
  },
62
77
  focusGlow: {
63
78
  position: 'absolute',
64
- top: -3,
65
- left: -3,
66
- right: -3,
67
- bottom: -3,
68
- borderWidth: 3
79
+ top: -glowPad,
80
+ left: -glowPad,
81
+ right: -glowPad,
82
+ bottom: -glowPad,
83
+ borderWidth: focusRing === 'solid' ? 2 : focusRing === 'softGlow' ? 3 : 0,
84
+ borderRadius: theme.spacing.borderRadius + glowPad
69
85
  },
70
86
  affixText: {
71
87
  fontSize: theme.typography.fontSize,
@@ -76,7 +92,7 @@ function createStyles(theme, state, multiline, variant = 'outlined') {
76
92
  floatingLabel: {
77
93
  position: 'absolute',
78
94
  left: theme.spacing.paddingHorizontal,
79
- backgroundColor: isFilled ? theme.colors.backgroundDisabled : theme.colors.background,
95
+ backgroundColor: isFilled || surface === 'soft' || surface === 'inset' ? theme.colors.surfaceMuted ?? theme.colors.backgroundDisabled : theme.colors.background,
80
96
  paddingHorizontal: 4,
81
97
  zIndex: 2,
82
98
  fontFamily: theme.typography.fontFamily
@@ -104,8 +120,16 @@ function createStyles(theme, state, multiline, variant = 'outlined') {
104
120
  },
105
121
  footerRow: {
106
122
  flexDirection: 'row',
123
+ alignItems: 'flex-start',
107
124
  justifyContent: 'space-between',
108
- marginTop: theme.spacing.gap / 1.5
125
+ marginTop: theme.spacing.gap / 1.5,
126
+ gap: 6
127
+ },
128
+ helperRow: {
129
+ flex: 1,
130
+ flexDirection: 'row',
131
+ alignItems: 'flex-start',
132
+ gap: 6
109
133
  },
110
134
  helperText: {
111
135
  fontSize: theme.typography.helperFontSize,
@@ -125,6 +149,18 @@ function createStyles(theme, state, multiline, variant = 'outlined') {
125
149
  flexShrink: 1,
126
150
  fontFamily: theme.typography.fontFamily
127
151
  },
152
+ warningText: {
153
+ fontSize: theme.typography.helperFontSize,
154
+ color: theme.colors.warning,
155
+ flexShrink: 1,
156
+ fontFamily: theme.typography.fontFamily
157
+ },
158
+ infoText: {
159
+ fontSize: theme.typography.helperFontSize,
160
+ color: theme.colors.info,
161
+ flexShrink: 1,
162
+ fontFamily: theme.typography.fontFamily
163
+ },
128
164
  charCount: {
129
165
  fontSize: theme.typography.helperFontSize,
130
166
  color: theme.colors.placeholder,
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","borderColorFor","theme","state","colors","borderFocused","borderError","borderSuccess","border","labelColorFor","error","labelFocused","label","iconColorFor","iconFocused","icon","createStyles","multiline","variant","isUnderline","isFilled","isFloating","borderW","spacing","borderWidthFocused","borderWidth","StyleSheet","create","wrapper","marginBottom","gap","fontSize","typography","labelFontSize","color","fontWeight","fontFamily","inputContainer","position","overflow","flexDirection","alignItems","backgroundColor","backgroundDisabled","background","borderRadius","borderBottomWidth","borderColor","paddingHorizontal","paddingVertical","minHeight","undefined","paddingTop","focusGlow","top","left","right","bottom","affixText","floatingLabel","zIndex","input","flex","text","textAlignVertical","iconSlot","justifyContent","marginTop","iconSlotLeft","marginRight","iconSlotRight","marginLeft","footerRow","helperText","helperFontSize","flexShrink","errorText","successText","success","charCount","placeholder"],"sourceRoot":"../../../../src","sources":["components/FieldFlowInput/styles.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_appearance","borderColorFor","theme","state","colors","borderFocused","borderError","borderSuccess","border","labelColorFor","error","labelFocused","label","iconColorFor","iconFocused","icon","createStyles","multiline","variant","isUnderline","isFilled","isFloating","appearance","surface","focusRing","borderW","spacing","borderWidthFocused","borderWidth","shadow","surfaceShadow","backgroundColor","background","backgroundDisabled","surfaceMuted","surfaceElevated","glowPad","StyleSheet","create","wrapper","marginBottom","gap","labelRow","flexDirection","alignItems","fontSize","typography","labelFontSize","color","fontWeight","fontFamily","flexShrink","inputContainer","position","overflow","borderRadius","borderBottomWidth","borderColor","paddingHorizontal","paddingVertical","minHeight","undefined","paddingTop","focusGlow","top","left","right","bottom","affixText","floatingLabel","zIndex","input","flex","text","textAlignVertical","iconSlot","justifyContent","marginTop","iconSlotLeft","marginRight","iconSlotRight","marginLeft","footerRow","helperRow","helperText","helperFontSize","errorText","successText","success","warningText","warning","infoText","info","charCount","placeholder"],"sourceRoot":"../../../../src","sources":["components/FieldFlowInput/styles.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FIELD_FLOW_KEYBOARD_TOOLBAR_ID = void 0;
7
+ exports.FieldFlowKeyboardToolbar = FieldFlowKeyboardToolbar;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _reactNative = require("react-native");
10
+ var _ThemeProvider = require("../../theme/ThemeProvider");
11
+ var _defaultTheme = require("../../theme/defaultTheme");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
14
+ /**
15
+ * Prev / Next / Done accessory above the keyboard.
16
+ * iOS: native `InputAccessoryView`. Android: optional floating bar (`androidFloating`).
17
+ * Pair with `useKeyboardManager` focus helpers.
18
+ */
19
+ function FieldFlowKeyboardToolbar({
20
+ nativeID,
21
+ onPrevious,
22
+ onNext,
23
+ onDone,
24
+ canPrevious = true,
25
+ canNext = true,
26
+ previousLabel = 'Previous',
27
+ nextLabel = 'Next',
28
+ doneLabel = 'Done',
29
+ androidFloating = true,
30
+ visible = true,
31
+ containerStyle,
32
+ theme: themeOverride,
33
+ testID
34
+ }) {
35
+ const contextTheme = (0, _ThemeProvider.useFieldFlowTheme)();
36
+ const theme = (0, _react.useMemo)(() => themeOverride ? (0, _ThemeProvider.mergeDeep)(contextTheme ?? _defaultTheme.defaultTheme, themeOverride) : contextTheme ?? _defaultTheme.defaultTheme, [contextTheme, themeOverride]);
37
+ const styles = (0, _react.useMemo)(() => createStyles(theme), [theme]);
38
+ const bar = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
39
+ style: [styles.bar, containerStyle],
40
+ testID: testID,
41
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
42
+ onPress: onPrevious,
43
+ disabled: !canPrevious || !onPrevious,
44
+ style: [styles.btn, (!canPrevious || !onPrevious) && styles.btnDisabled],
45
+ accessibilityRole: "button",
46
+ accessibilityLabel: previousLabel,
47
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
48
+ style: styles.btnText,
49
+ children: previousLabel
50
+ })
51
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
52
+ onPress: onNext,
53
+ disabled: !canNext || !onNext,
54
+ style: [styles.btn, (!canNext || !onNext) && styles.btnDisabled],
55
+ accessibilityRole: "button",
56
+ accessibilityLabel: nextLabel,
57
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
58
+ style: styles.btnText,
59
+ children: nextLabel
60
+ })
61
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
62
+ style: {
63
+ flex: 1
64
+ }
65
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
66
+ onPress: () => {
67
+ onDone?.();
68
+ _reactNative.Keyboard.dismiss();
69
+ },
70
+ style: styles.done,
71
+ accessibilityRole: "button",
72
+ accessibilityLabel: doneLabel,
73
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
74
+ style: styles.doneText,
75
+ children: doneLabel
76
+ })
77
+ })]
78
+ });
79
+ if (!visible) return null;
80
+ if (_reactNative.Platform.OS === 'ios') {
81
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.InputAccessoryView, {
82
+ nativeID: nativeID,
83
+ backgroundColor: theme.colors.backgroundDisabled,
84
+ children: bar
85
+ });
86
+ }
87
+ if (!androidFloating) return null;
88
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
89
+ style: styles.androidWrap,
90
+ children: bar
91
+ });
92
+ }
93
+
94
+ /** Stable default accessory id for FieldFlow forms. */
95
+ const FIELD_FLOW_KEYBOARD_TOOLBAR_ID = exports.FIELD_FLOW_KEYBOARD_TOOLBAR_ID = 'fieldflow-keyboard-toolbar';
96
+ function createStyles(theme) {
97
+ return _reactNative.StyleSheet.create({
98
+ androidWrap: {
99
+ borderTopWidth: _reactNative.StyleSheet.hairlineWidth,
100
+ borderTopColor: theme.colors.border
101
+ },
102
+ bar: {
103
+ flexDirection: 'row',
104
+ alignItems: 'center',
105
+ paddingHorizontal: 10,
106
+ paddingVertical: 8,
107
+ backgroundColor: theme.colors.backgroundDisabled,
108
+ borderTopWidth: _reactNative.StyleSheet.hairlineWidth,
109
+ borderTopColor: theme.colors.border,
110
+ gap: 4
111
+ },
112
+ btn: {
113
+ paddingHorizontal: 10,
114
+ paddingVertical: 6
115
+ },
116
+ btnDisabled: {
117
+ opacity: 0.35
118
+ },
119
+ btnText: {
120
+ fontSize: theme.typography.helperFontSize + 1,
121
+ color: theme.colors.borderFocused,
122
+ fontWeight: '600'
123
+ },
124
+ done: {
125
+ paddingHorizontal: 12,
126
+ paddingVertical: 6,
127
+ borderRadius: 8,
128
+ backgroundColor: theme.colors.borderFocused
129
+ },
130
+ doneText: {
131
+ fontSize: theme.typography.helperFontSize + 1,
132
+ color: '#fff',
133
+ fontWeight: '700'
134
+ }
135
+ });
136
+ }
137
+ //# sourceMappingURL=FieldFlowKeyboardToolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_ThemeProvider","_defaultTheme","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FieldFlowKeyboardToolbar","nativeID","onPrevious","onNext","onDone","canPrevious","canNext","previousLabel","nextLabel","doneLabel","androidFloating","visible","containerStyle","theme","themeOverride","testID","contextTheme","useFieldFlowTheme","useMemo","mergeDeep","defaultTheme","styles","createStyles","bar","jsxs","View","style","children","jsx","Pressable","onPress","disabled","btn","btnDisabled","accessibilityRole","accessibilityLabel","Text","btnText","flex","Keyboard","dismiss","done","doneText","Platform","OS","InputAccessoryView","backgroundColor","colors","backgroundDisabled","androidWrap","FIELD_FLOW_KEYBOARD_TOOLBAR_ID","exports","StyleSheet","create","borderTopWidth","hairlineWidth","borderTopColor","border","flexDirection","alignItems","paddingHorizontal","paddingVertical","gap","opacity","fontSize","typography","helperFontSize","color","borderFocused","fontWeight","borderRadius"],"sourceRoot":"../../../../src","sources":["components/FieldFlowKeyboardToolbar/FieldFlowKeyboardToolbar.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "FIELD_FLOW_KEYBOARD_TOOLBAR_ID", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _FieldFlowKeyboardToolbar.FIELD_FLOW_KEYBOARD_TOOLBAR_ID;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "FieldFlowKeyboardToolbar", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _FieldFlowKeyboardToolbar.FieldFlowKeyboardToolbar;
16
+ }
17
+ });
18
+ var _FieldFlowKeyboardToolbar = require("./FieldFlowKeyboardToolbar");
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_FieldFlowKeyboardToolbar","require"],"sourceRoot":"../../../../src","sources":["components/FieldFlowKeyboardToolbar/index.ts"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,yBAAA,GAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FieldFlowSkeleton = FieldFlowSkeleton;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _ThemeProvider = require("../../theme/ThemeProvider");
10
+ var _defaultTheme = require("../../theme/defaultTheme");
11
+ var _useReducedMotion = require("../../motion/useReducedMotion");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
14
+ /**
15
+ * Soft shimmer placeholders while a form hydrates (draft / API).
16
+ */
17
+ function FieldFlowSkeleton({
18
+ count = 3,
19
+ variant = 'outlined',
20
+ showLabels = true,
21
+ lastMultiline = false,
22
+ containerStyle,
23
+ theme: themeOverride,
24
+ testID
25
+ }) {
26
+ const contextTheme = (0, _ThemeProvider.useFieldFlowTheme)();
27
+ const theme = (0, _react.useMemo)(() => themeOverride ? (0, _ThemeProvider.mergeDeep)(contextTheme ?? _defaultTheme.defaultTheme, themeOverride) : contextTheme ?? _defaultTheme.defaultTheme, [contextTheme, themeOverride]);
28
+ const styles = (0, _react.useMemo)(() => createStyles(theme, variant), [theme, variant]);
29
+ const reducedMotion = (0, _useReducedMotion.useReducedMotion)();
30
+ const pulse = (0, _react.useRef)(new _reactNative.Animated.Value(0.45)).current;
31
+ (0, _react.useEffect)(() => {
32
+ if (reducedMotion) {
33
+ pulse.setValue(0.55);
34
+ return;
35
+ }
36
+ const loop = _reactNative.Animated.loop(_reactNative.Animated.sequence([_reactNative.Animated.timing(pulse, {
37
+ toValue: 0.9,
38
+ duration: 700,
39
+ easing: _reactNative.Easing.inOut(_reactNative.Easing.quad),
40
+ useNativeDriver: true
41
+ }), _reactNative.Animated.timing(pulse, {
42
+ toValue: 0.45,
43
+ duration: 700,
44
+ easing: _reactNative.Easing.inOut(_reactNative.Easing.quad),
45
+ useNativeDriver: true
46
+ })]));
47
+ loop.start();
48
+ return () => loop.stop();
49
+ }, [reducedMotion, pulse]);
50
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
51
+ style: [styles.wrap, containerStyle],
52
+ testID: testID,
53
+ accessibilityLabel: "Loading form",
54
+ children: Array.from({
55
+ length: count
56
+ }, (_, i) => {
57
+ const tall = lastMultiline && i === count - 1;
58
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
59
+ style: styles.item,
60
+ children: [showLabels ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
61
+ style: [styles.label, {
62
+ opacity: pulse
63
+ }]
64
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
65
+ style: [styles.field, tall && styles.fieldTall, {
66
+ opacity: pulse
67
+ }]
68
+ })]
69
+ }, i);
70
+ })
71
+ });
72
+ }
73
+ function createStyles(theme, variant) {
74
+ const height = theme.spacing.paddingVertical * 2 + theme.typography.fontSize + 6 + (variant === 'floating' ? 6 : 0);
75
+ return _reactNative.StyleSheet.create({
76
+ wrap: {
77
+ marginBottom: theme.spacing.gap
78
+ },
79
+ item: {
80
+ marginBottom: theme.spacing.gap * 2
81
+ },
82
+ label: {
83
+ width: '32%',
84
+ height: theme.typography.labelFontSize,
85
+ borderRadius: 4,
86
+ backgroundColor: theme.colors.backgroundDisabled,
87
+ marginBottom: theme.spacing.gap
88
+ },
89
+ field: {
90
+ height,
91
+ borderRadius: theme.spacing.borderRadius,
92
+ backgroundColor: theme.colors.backgroundDisabled,
93
+ borderWidth: _reactNative.StyleSheet.hairlineWidth,
94
+ borderColor: theme.colors.border
95
+ },
96
+ fieldTall: {
97
+ height: 88
98
+ }
99
+ });
100
+ }
101
+ //# sourceMappingURL=FieldFlowSkeleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_ThemeProvider","_defaultTheme","_useReducedMotion","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FieldFlowSkeleton","count","variant","showLabels","lastMultiline","containerStyle","theme","themeOverride","testID","contextTheme","useFieldFlowTheme","useMemo","mergeDeep","defaultTheme","styles","createStyles","reducedMotion","useReducedMotion","pulse","useRef","Animated","Value","current","useEffect","setValue","loop","sequence","timing","toValue","duration","easing","Easing","inOut","quad","useNativeDriver","start","stop","jsx","View","style","wrap","accessibilityLabel","children","Array","from","length","_","tall","jsxs","item","label","opacity","field","fieldTall","height","spacing","paddingVertical","typography","fontSize","StyleSheet","create","marginBottom","gap","width","labelFontSize","borderRadius","backgroundColor","colors","backgroundDisabled","borderWidth","hairlineWidth","borderColor","border"],"sourceRoot":"../../../../src","sources":["components/FieldFlowSkeleton/FieldFlowSkeleton.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "FieldFlowSkeleton", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _FieldFlowSkeleton.FieldFlowSkeleton;
10
+ }
11
+ });
12
+ var _FieldFlowSkeleton = require("./FieldFlowSkeleton");
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_FieldFlowSkeleton","require"],"sourceRoot":"../../../../src","sources":["components/FieldFlowSkeleton/index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA","ignoreList":[]}
@@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.KeyboardAwareFormWrapper = KeyboardAwareFormWrapper;
7
- var _react = _interopRequireDefault(require("react"));
7
+ var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _jsxRuntime = require("react/jsx-runtime");
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
11
11
  /**
12
12
  * Wrap your form fields in this instead of a plain ScrollView. It automatically
13
13
  * keeps the focused field visible above the keyboard and animates smoothly on
14
14
  * both iOS and Android; pass it the same `keyboardManager` you got from
15
- * `useKeyboardManager()`.
15
+ * `useKeyboardManager()` when you want auto-scroll + Next/Done focus.
16
16
  */
17
17
  function KeyboardAwareFormWrapper({
18
18
  keyboardManager,
@@ -20,12 +20,14 @@ function KeyboardAwareFormWrapper({
20
20
  contentContainerStyle,
21
21
  style
22
22
  }) {
23
+ const fallbackScrollRef = (0, _react.useRef)(null);
24
+ const scrollRef = keyboardManager?.scrollViewRef ?? fallbackScrollRef;
23
25
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.KeyboardAvoidingView, {
24
26
  style: [styles.flex, style],
25
27
  behavior: _reactNative.Platform.OS === 'ios' ? 'padding' : undefined,
26
28
  keyboardVerticalOffset: _reactNative.Platform.OS === 'ios' ? 64 : 0,
27
29
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
28
- ref: keyboardManager.scrollViewRef,
30
+ ref: scrollRef,
29
31
  keyboardShouldPersistTaps: "handled",
30
32
  contentContainerStyle: [styles.content, contentContainerStyle],
31
33
  showsVerticalScrollIndicator: false,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_jsxRuntime","e","__esModule","default","KeyboardAwareFormWrapper","keyboardManager","children","contentContainerStyle","style","jsx","KeyboardAvoidingView","styles","flex","behavior","Platform","OS","undefined","keyboardVerticalOffset","ScrollView","ref","scrollViewRef","keyboardShouldPersistTaps","content","showsVerticalScrollIndicator","StyleSheet","create","flexGrow"],"sourceRoot":"../../../../src","sources":["components/KeyboardAwareFormWrapper/KeyboardAwareFormWrapper.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAiG,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAUjG;AACA;AACA;AACA;AACA;AACA;AACO,SAASG,wBAAwBA,CAAC;EACvCC,eAAe;EACfC,QAAQ;EACRC,qBAAqB;EACrBC;AAC6B,CAAC,EAAE;EAChC,oBACE,IAAAR,WAAA,CAAAS,GAAA,EAACV,YAAA,CAAAW,oBAAoB;IACnBF,KAAK,EAAE,CAACG,MAAM,CAACC,IAAI,EAAEJ,KAAK,CAAE;IAC5BK,QAAQ,EAAEC,qBAAQ,CAACC,EAAE,KAAK,KAAK,GAAG,SAAS,GAAGC,SAAU;IACxDC,sBAAsB,EAAEH,qBAAQ,CAACC,EAAE,KAAK,KAAK,GAAG,EAAE,GAAG,CAAE;IAAAT,QAAA,eAEvD,IAAAN,WAAA,CAAAS,GAAA,EAACV,YAAA,CAAAmB,UAAU;MACTC,GAAG,EAAEd,eAAe,CAACe,aAAc;MACnCC,yBAAyB,EAAC,SAAS;MACnCd,qBAAqB,EAAE,CAACI,MAAM,CAACW,OAAO,EAAEf,qBAAqB,CAAE;MAC/DgB,4BAA4B,EAAE,KAAM;MAAAjB,QAAA,EAEnCA;IAAQ,CACC;EAAC,CACO,CAAC;AAE3B;AAEA,MAAMK,MAAM,GAAGa,uBAAU,CAACC,MAAM,CAAC;EAC/Bb,IAAI,EAAE;IAAEA,IAAI,EAAE;EAAE,CAAC;EACjBU,OAAO,EAAE;IAAEI,QAAQ,EAAE;EAAE;AACzB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","KeyboardAwareFormWrapper","keyboardManager","children","contentContainerStyle","style","fallbackScrollRef","useRef","scrollRef","scrollViewRef","jsx","KeyboardAvoidingView","styles","flex","behavior","Platform","OS","undefined","keyboardVerticalOffset","ScrollView","ref","keyboardShouldPersistTaps","content","showsVerticalScrollIndicator","StyleSheet","create","flexGrow"],"sourceRoot":"../../../../src","sources":["components/KeyboardAwareFormWrapper/KeyboardAwareFormWrapper.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAiG,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,wBAAAI,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAN,uBAAA,YAAAA,CAAAI,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAWjG;AACA;AACA;AACA;AACA;AACA;AACO,SAASkB,wBAAwBA,CAAC;EACvCC,eAAe;EACfC,QAAQ;EACRC,qBAAqB;EACrBC;AAC6B,CAAC,EAAE;EAChC,MAAMC,iBAAiB,GAAG,IAAAC,aAAM,EAAa,IAAI,CAAC;EAClD,MAAMC,SAAS,GAAGN,eAAe,EAAEO,aAAa,IAAIH,iBAAiB;EAErE,oBACE,IAAAzB,WAAA,CAAA6B,GAAA,EAAC9B,YAAA,CAAA+B,oBAAoB;IACnBN,KAAK,EAAE,CAACO,MAAM,CAACC,IAAI,EAAER,KAAK,CAAE;IAC5BS,QAAQ,EAAEC,qBAAQ,CAACC,EAAE,KAAK,KAAK,GAAG,SAAS,GAAGC,SAAU;IACxDC,sBAAsB,EAAEH,qBAAQ,CAACC,EAAE,KAAK,KAAK,GAAG,EAAE,GAAG,CAAE;IAAAb,QAAA,eAEvD,IAAAtB,WAAA,CAAA6B,GAAA,EAAC9B,YAAA,CAAAuC,UAAU;MACTC,GAAG,EAAEZ,SAAU;MACfa,yBAAyB,EAAC,SAAS;MACnCjB,qBAAqB,EAAE,CAACQ,MAAM,CAACU,OAAO,EAAElB,qBAAqB,CAAE;MAC/DmB,4BAA4B,EAAE,KAAM;MAAApB,QAAA,EAEnCA;IAAQ,CACC;EAAC,CACO,CAAC;AAE3B;AAEA,MAAMS,MAAM,GAAGY,uBAAU,CAACC,MAAM,CAAC;EAC/BZ,IAAI,EAAE;IAAEA,IAAI,EAAE;EAAE,CAAC;EACjBS,OAAO,EAAE;IAAEI,QAAQ,EAAE;EAAE;AACzB,CAAC,CAAC","ignoreList":[]}
@@ -9,6 +9,12 @@ Object.defineProperty(exports, "useFieldFlowArray", {
9
9
  return _useFieldFlowArray.useFieldFlowArray;
10
10
  }
11
11
  });
12
+ Object.defineProperty(exports, "useFieldFlowCompleteness", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _useFieldFlowCompleteness.useFieldFlowCompleteness;
16
+ }
17
+ });
12
18
  Object.defineProperty(exports, "useFieldFlowDirtyGuard", {
13
19
  enumerable: true,
14
20
  get: function () {
@@ -33,6 +39,12 @@ Object.defineProperty(exports, "useFieldFlowSteps", {
33
39
  return _useFieldFlowSteps.useFieldFlowSteps;
34
40
  }
35
41
  });
42
+ Object.defineProperty(exports, "useFieldFlowSubmitQueue", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _useFieldFlowSubmitQueue.useFieldFlowSubmitQueue;
46
+ }
47
+ });
36
48
  Object.defineProperty(exports, "useFieldState", {
37
49
  enumerable: true,
38
50
  get: function () {
@@ -51,6 +63,12 @@ Object.defineProperty(exports, "useKeyboardManager", {
51
63
  return _useKeyboardManager.useKeyboardManager;
52
64
  }
53
65
  });
66
+ Object.defineProperty(exports, "useSmartPaste", {
67
+ enumerable: true,
68
+ get: function () {
69
+ return _useSmartPaste.useSmartPaste;
70
+ }
71
+ });
54
72
  var _useKeyboardManager = require("./useKeyboardManager");
55
73
  var _useFieldFlowForm = require("./useFieldFlowForm");
56
74
  var _useFieldState = require("./useFieldState");
@@ -59,4 +77,7 @@ var _useFieldFlowArray = require("./useFieldFlowArray");
59
77
  var _useFieldFlowDraft = require("./useFieldFlowDraft");
60
78
  var _useFieldFlowSteps = require("./useFieldFlowSteps");
61
79
  var _useFieldFlowDirtyGuard = require("./useFieldFlowDirtyGuard");
80
+ var _useFieldFlowCompleteness = require("./useFieldFlowCompleteness");
81
+ var _useFieldFlowSubmitQueue = require("./useFieldFlowSubmitQueue");
82
+ var _useSmartPaste = require("./useSmartPaste");
62
83
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_useKeyboardManager","require","_useFieldFlowForm","_useFieldState","_useFormIntelligence","_useFieldFlowArray","_useFieldFlowDraft","_useFieldFlowSteps","_useFieldFlowDirtyGuard"],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAGA,IAAAC,iBAAA,GAAAD,OAAA;AAcA,IAAAE,cAAA,GAAAF,OAAA;AAGA,IAAAG,oBAAA,GAAAH,OAAA;AAGA,IAAAI,kBAAA,GAAAJ,OAAA;AAGA,IAAAK,kBAAA,GAAAL,OAAA;AAQA,IAAAM,kBAAA,GAAAN,OAAA;AAOA,IAAAO,uBAAA,GAAAP,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_useKeyboardManager","require","_useFieldFlowForm","_useFieldState","_useFormIntelligence","_useFieldFlowArray","_useFieldFlowDraft","_useFieldFlowSteps","_useFieldFlowDirtyGuard","_useFieldFlowCompleteness","_useFieldFlowSubmitQueue","_useSmartPaste"],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAGA,IAAAC,iBAAA,GAAAD,OAAA;AAcA,IAAAE,cAAA,GAAAF,OAAA;AAGA,IAAAG,oBAAA,GAAAH,OAAA;AAGA,IAAAI,kBAAA,GAAAJ,OAAA;AAGA,IAAAK,kBAAA,GAAAL,OAAA;AAQA,IAAAM,kBAAA,GAAAN,OAAA;AAOA,IAAAO,uBAAA,GAAAP,OAAA;AAMA,IAAAQ,yBAAA,GAAAR,OAAA;AAMA,IAAAS,wBAAA,GAAAT,OAAA;AAQA,IAAAU,cAAA,GAAAV,OAAA","ignoreList":[]}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useFieldFlowCompleteness = useFieldFlowCompleteness;
7
+ var _react = require("react");
8
+ function defaultFilled(value) {
9
+ return value.trim().length > 0;
10
+ }
11
+
12
+ /**
13
+ * Live form completeness for required fields — powers `FieldFlowCompleteness`.
14
+ */
15
+ function useFieldFlowCompleteness({
16
+ values,
17
+ requiredFields,
18
+ isFilled,
19
+ secondsPerField = 8
20
+ }) {
21
+ return (0, _react.useMemo)(() => {
22
+ const filledFields = [];
23
+ const remainingFields = [];
24
+ for (const field of requiredFields) {
25
+ const value = values[field] ?? '';
26
+ const ok = isFilled ? isFilled(field, value, values) : defaultFilled(value);
27
+ if (ok) filledFields.push(field);else remainingFields.push(field);
28
+ }
29
+ const total = requiredFields.length;
30
+ const filled = filledFields.length;
31
+ const remaining = remainingFields.length;
32
+ const progress = total === 0 ? 1 : filled / total;
33
+ return {
34
+ total,
35
+ filled,
36
+ remaining,
37
+ progress,
38
+ percent: Math.round(progress * 100),
39
+ remainingFields,
40
+ filledFields,
41
+ isComplete: remaining === 0,
42
+ estimatedSecondsLeft: remaining * secondsPerField
43
+ };
44
+ }, [values, requiredFields, isFilled, secondsPerField]);
45
+ }
46
+ //# sourceMappingURL=useFieldFlowCompleteness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","defaultFilled","value","trim","length","useFieldFlowCompleteness","values","requiredFields","isFilled","secondsPerField","useMemo","filledFields","remainingFields","field","ok","push","total","filled","remaining","progress","percent","Math","round","isComplete","estimatedSecondsLeft"],"sourceRoot":"../../../src","sources":["hooks/useFieldFlowCompleteness.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AA2BA,SAASC,aAAaA,CAACC,KAAa,EAAW;EAC7C,OAAOA,KAAK,CAACC,IAAI,CAAC,CAAC,CAACC,MAAM,GAAG,CAAC;AAChC;;AAEA;AACA;AACA;AACO,SAASC,wBAAwBA,CAAmC;EACzEC,MAAM;EACNC,cAAc;EACdC,QAAQ;EACRC,eAAe,GAAG;AACgB,CAAC,EAAqC;EACxE,OAAO,IAAAC,cAAO,EAAC,MAAM;IACnB,MAAMC,YAAyB,GAAG,EAAE;IACpC,MAAMC,eAA4B,GAAG,EAAE;IAEvC,KAAK,MAAMC,KAAK,IAAIN,cAAc,EAAE;MAClC,MAAML,KAAK,GAAGI,MAAM,CAACO,KAAK,CAAC,IAAI,EAAE;MACjC,MAAMC,EAAE,GAAGN,QAAQ,GAAGA,QAAQ,CAACK,KAAK,EAAEX,KAAK,EAAEI,MAAM,CAAC,GAAGL,aAAa,CAACC,KAAK,CAAC;MAC3E,IAAIY,EAAE,EAAEH,YAAY,CAACI,IAAI,CAACF,KAAK,CAAC,CAAC,KAC5BD,eAAe,CAACG,IAAI,CAACF,KAAK,CAAC;IAClC;IAEA,MAAMG,KAAK,GAAGT,cAAc,CAACH,MAAM;IACnC,MAAMa,MAAM,GAAGN,YAAY,CAACP,MAAM;IAClC,MAAMc,SAAS,GAAGN,eAAe,CAACR,MAAM;IACxC,MAAMe,QAAQ,GAAGH,KAAK,KAAK,CAAC,GAAG,CAAC,GAAGC,MAAM,GAAGD,KAAK;IAEjD,OAAO;MACLA,KAAK;MACLC,MAAM;MACNC,SAAS;MACTC,QAAQ;MACRC,OAAO,EAAEC,IAAI,CAACC,KAAK,CAACH,QAAQ,GAAG,GAAG,CAAC;MACnCP,eAAe;MACfD,YAAY;MACZY,UAAU,EAAEL,SAAS,KAAK,CAAC;MAC3BM,oBAAoB,EAAEN,SAAS,GAAGT;IACpC,CAAC;EACH,CAAC,EAAE,CAACH,MAAM,EAAEC,cAAc,EAAEC,QAAQ,EAAEC,eAAe,CAAC,CAAC;AACzD","ignoreList":[]}