@xyo-network/react-form-credit-card 2.81.2

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 (851) hide show
  1. package/LICENSE +165 -0
  2. package/README.md +13 -0
  3. package/dist/browser/american-express-TTLTB43R.svg +69 -0
  4. package/dist/browser/components/controls/WithFormControlProps.d.cts +6 -0
  5. package/dist/browser/components/controls/WithFormControlProps.d.cts.map +1 -0
  6. package/dist/browser/components/controls/WithFormControlProps.d.mts +6 -0
  7. package/dist/browser/components/controls/WithFormControlProps.d.mts.map +1 -0
  8. package/dist/browser/components/controls/WithFormControlProps.d.ts +6 -0
  9. package/dist/browser/components/controls/WithFormControlProps.d.ts.map +1 -0
  10. package/dist/browser/components/controls/card/Email.d.cts +3 -0
  11. package/dist/browser/components/controls/card/Email.d.cts.map +1 -0
  12. package/dist/browser/components/controls/card/Email.d.mts +3 -0
  13. package/dist/browser/components/controls/card/Email.d.mts.map +1 -0
  14. package/dist/browser/components/controls/card/Email.d.ts +3 -0
  15. package/dist/browser/components/controls/card/Email.d.ts.map +1 -0
  16. package/dist/browser/components/controls/card/Expiration.d.cts +3 -0
  17. package/dist/browser/components/controls/card/Expiration.d.cts.map +1 -0
  18. package/dist/browser/components/controls/card/Expiration.d.mts +3 -0
  19. package/dist/browser/components/controls/card/Expiration.d.mts.map +1 -0
  20. package/dist/browser/components/controls/card/Expiration.d.ts +3 -0
  21. package/dist/browser/components/controls/card/Expiration.d.ts.map +1 -0
  22. package/dist/browser/components/controls/card/FormControlTextField.d.cts +9 -0
  23. package/dist/browser/components/controls/card/FormControlTextField.d.cts.map +1 -0
  24. package/dist/browser/components/controls/card/FormControlTextField.d.mts +9 -0
  25. package/dist/browser/components/controls/card/FormControlTextField.d.mts.map +1 -0
  26. package/dist/browser/components/controls/card/FormControlTextField.d.ts +9 -0
  27. package/dist/browser/components/controls/card/FormControlTextField.d.ts.map +1 -0
  28. package/dist/browser/components/controls/card/Name.d.cts +6 -0
  29. package/dist/browser/components/controls/card/Name.d.cts.map +1 -0
  30. package/dist/browser/components/controls/card/Name.d.mts +6 -0
  31. package/dist/browser/components/controls/card/Name.d.mts.map +1 -0
  32. package/dist/browser/components/controls/card/Name.d.ts +6 -0
  33. package/dist/browser/components/controls/card/Name.d.ts.map +1 -0
  34. package/dist/browser/components/controls/card/Options.d.cts +12 -0
  35. package/dist/browser/components/controls/card/Options.d.cts.map +1 -0
  36. package/dist/browser/components/controls/card/Options.d.mts +12 -0
  37. package/dist/browser/components/controls/card/Options.d.mts.map +1 -0
  38. package/dist/browser/components/controls/card/Options.d.ts +12 -0
  39. package/dist/browser/components/controls/card/Options.d.ts.map +1 -0
  40. package/dist/browser/components/controls/card/Zip.d.cts +3 -0
  41. package/dist/browser/components/controls/card/Zip.d.cts.map +1 -0
  42. package/dist/browser/components/controls/card/Zip.d.mts +3 -0
  43. package/dist/browser/components/controls/card/Zip.d.mts.map +1 -0
  44. package/dist/browser/components/controls/card/Zip.d.ts +3 -0
  45. package/dist/browser/components/controls/card/Zip.d.ts.map +1 -0
  46. package/dist/browser/components/controls/card/cvv/Cvv.d.cts +3 -0
  47. package/dist/browser/components/controls/card/cvv/Cvv.d.cts.map +1 -0
  48. package/dist/browser/components/controls/card/cvv/Cvv.d.mts +3 -0
  49. package/dist/browser/components/controls/card/cvv/Cvv.d.mts.map +1 -0
  50. package/dist/browser/components/controls/card/cvv/Cvv.d.ts +3 -0
  51. package/dist/browser/components/controls/card/cvv/Cvv.d.ts.map +1 -0
  52. package/dist/browser/components/controls/card/cvv/index.d.cts +3 -0
  53. package/dist/browser/components/controls/card/cvv/index.d.cts.map +1 -0
  54. package/dist/browser/components/controls/card/cvv/index.d.mts +3 -0
  55. package/dist/browser/components/controls/card/cvv/index.d.mts.map +1 -0
  56. package/dist/browser/components/controls/card/cvv/index.d.ts +3 -0
  57. package/dist/browser/components/controls/card/cvv/index.d.ts.map +1 -0
  58. package/dist/browser/components/controls/card/cvv/use.d.cts +9 -0
  59. package/dist/browser/components/controls/card/cvv/use.d.cts.map +1 -0
  60. package/dist/browser/components/controls/card/cvv/use.d.mts +9 -0
  61. package/dist/browser/components/controls/card/cvv/use.d.mts.map +1 -0
  62. package/dist/browser/components/controls/card/cvv/use.d.ts +9 -0
  63. package/dist/browser/components/controls/card/cvv/use.d.ts.map +1 -0
  64. package/dist/browser/components/controls/card/index.d.cts +10 -0
  65. package/dist/browser/components/controls/card/index.d.cts.map +1 -0
  66. package/dist/browser/components/controls/card/index.d.mts +10 -0
  67. package/dist/browser/components/controls/card/index.d.mts.map +1 -0
  68. package/dist/browser/components/controls/card/index.d.ts +10 -0
  69. package/dist/browser/components/controls/card/index.d.ts.map +1 -0
  70. package/dist/browser/components/controls/card/number/Number.d.cts +3 -0
  71. package/dist/browser/components/controls/card/number/Number.d.cts.map +1 -0
  72. package/dist/browser/components/controls/card/number/Number.d.mts +3 -0
  73. package/dist/browser/components/controls/card/number/Number.d.mts.map +1 -0
  74. package/dist/browser/components/controls/card/number/Number.d.ts +3 -0
  75. package/dist/browser/components/controls/card/number/Number.d.ts.map +1 -0
  76. package/dist/browser/components/controls/card/number/index.d.cts +3 -0
  77. package/dist/browser/components/controls/card/number/index.d.cts.map +1 -0
  78. package/dist/browser/components/controls/card/number/index.d.mts +3 -0
  79. package/dist/browser/components/controls/card/number/index.d.mts.map +1 -0
  80. package/dist/browser/components/controls/card/number/index.d.ts +3 -0
  81. package/dist/browser/components/controls/card/number/index.d.ts.map +1 -0
  82. package/dist/browser/components/controls/card/number/use.d.cts +10 -0
  83. package/dist/browser/components/controls/card/number/use.d.cts.map +1 -0
  84. package/dist/browser/components/controls/card/number/use.d.mts +10 -0
  85. package/dist/browser/components/controls/card/number/use.d.mts.map +1 -0
  86. package/dist/browser/components/controls/card/number/use.d.ts +10 -0
  87. package/dist/browser/components/controls/card/number/use.d.ts.map +1 -0
  88. package/dist/browser/components/controls/card/useCreditCardFormControl.d.cts +9 -0
  89. package/dist/browser/components/controls/card/useCreditCardFormControl.d.cts.map +1 -0
  90. package/dist/browser/components/controls/card/useCreditCardFormControl.d.mts +9 -0
  91. package/dist/browser/components/controls/card/useCreditCardFormControl.d.mts.map +1 -0
  92. package/dist/browser/components/controls/card/useCreditCardFormControl.d.ts +9 -0
  93. package/dist/browser/components/controls/card/useCreditCardFormControl.d.ts.map +1 -0
  94. package/dist/browser/components/controls/index.d.cts +3 -0
  95. package/dist/browser/components/controls/index.d.cts.map +1 -0
  96. package/dist/browser/components/controls/index.d.mts +3 -0
  97. package/dist/browser/components/controls/index.d.mts.map +1 -0
  98. package/dist/browser/components/controls/index.d.ts +3 -0
  99. package/dist/browser/components/controls/index.d.ts.map +1 -0
  100. package/dist/browser/components/form/Form.d.cts +4 -0
  101. package/dist/browser/components/form/Form.d.cts.map +1 -0
  102. package/dist/browser/components/form/Form.d.mts +4 -0
  103. package/dist/browser/components/form/Form.d.mts.map +1 -0
  104. package/dist/browser/components/form/Form.d.ts +4 -0
  105. package/dist/browser/components/form/Form.d.ts.map +1 -0
  106. package/dist/browser/components/form/InputFieldsStack.d.cts +6 -0
  107. package/dist/browser/components/form/InputFieldsStack.d.cts.map +1 -0
  108. package/dist/browser/components/form/InputFieldsStack.d.mts +6 -0
  109. package/dist/browser/components/form/InputFieldsStack.d.mts.map +1 -0
  110. package/dist/browser/components/form/InputFieldsStack.d.ts +6 -0
  111. package/dist/browser/components/form/InputFieldsStack.d.ts.map +1 -0
  112. package/dist/browser/components/form/Props.d.cts +12 -0
  113. package/dist/browser/components/form/Props.d.cts.map +1 -0
  114. package/dist/browser/components/form/Props.d.mts +12 -0
  115. package/dist/browser/components/form/Props.d.mts.map +1 -0
  116. package/dist/browser/components/form/Props.d.ts +12 -0
  117. package/dist/browser/components/form/Props.d.ts.map +1 -0
  118. package/dist/browser/components/form/index.d.cts +2 -0
  119. package/dist/browser/components/form/index.d.cts.map +1 -0
  120. package/dist/browser/components/form/index.d.mts +2 -0
  121. package/dist/browser/components/form/index.d.mts.map +1 -0
  122. package/dist/browser/components/form/index.d.ts +2 -0
  123. package/dist/browser/components/form/index.d.ts.map +1 -0
  124. package/dist/browser/components/form/useFormStorage.d.cts +5 -0
  125. package/dist/browser/components/form/useFormStorage.d.cts.map +1 -0
  126. package/dist/browser/components/form/useFormStorage.d.mts +5 -0
  127. package/dist/browser/components/form/useFormStorage.d.mts.map +1 -0
  128. package/dist/browser/components/form/useFormStorage.d.ts +5 -0
  129. package/dist/browser/components/form/useFormStorage.d.ts.map +1 -0
  130. package/dist/browser/components/img/index.d.cts +5 -0
  131. package/dist/browser/components/img/index.d.cts.map +1 -0
  132. package/dist/browser/components/img/index.d.mts +5 -0
  133. package/dist/browser/components/img/index.d.mts.map +1 -0
  134. package/dist/browser/components/img/index.d.ts +5 -0
  135. package/dist/browser/components/img/index.d.ts.map +1 -0
  136. package/dist/browser/components/index.d.cts +5 -0
  137. package/dist/browser/components/index.d.cts.map +1 -0
  138. package/dist/browser/components/index.d.mts +5 -0
  139. package/dist/browser/components/index.d.mts.map +1 -0
  140. package/dist/browser/components/index.d.ts +5 -0
  141. package/dist/browser/components/index.d.ts.map +1 -0
  142. package/dist/browser/components/support/Fields.d.cts +4 -0
  143. package/dist/browser/components/support/Fields.d.cts.map +1 -0
  144. package/dist/browser/components/support/Fields.d.mts +4 -0
  145. package/dist/browser/components/support/Fields.d.mts.map +1 -0
  146. package/dist/browser/components/support/Fields.d.ts +4 -0
  147. package/dist/browser/components/support/Fields.d.ts.map +1 -0
  148. package/dist/browser/components/support/InputError.d.cts +5 -0
  149. package/dist/browser/components/support/InputError.d.cts.map +1 -0
  150. package/dist/browser/components/support/InputError.d.mts +5 -0
  151. package/dist/browser/components/support/InputError.d.mts.map +1 -0
  152. package/dist/browser/components/support/InputError.d.ts +5 -0
  153. package/dist/browser/components/support/InputError.d.ts.map +1 -0
  154. package/dist/browser/components/support/index.d.cts +4 -0
  155. package/dist/browser/components/support/index.d.cts.map +1 -0
  156. package/dist/browser/components/support/index.d.mts +4 -0
  157. package/dist/browser/components/support/index.d.mts.map +1 -0
  158. package/dist/browser/components/support/index.d.ts +4 -0
  159. package/dist/browser/components/support/index.d.ts.map +1 -0
  160. package/dist/browser/components/support/validateCreditCardInputs.d.cts +3 -0
  161. package/dist/browser/components/support/validateCreditCardInputs.d.cts.map +1 -0
  162. package/dist/browser/components/support/validateCreditCardInputs.d.mts +3 -0
  163. package/dist/browser/components/support/validateCreditCardInputs.d.mts.map +1 -0
  164. package/dist/browser/components/support/validateCreditCardInputs.d.ts +3 -0
  165. package/dist/browser/components/support/validateCreditCardInputs.d.ts.map +1 -0
  166. package/dist/browser/context/FormGroupCreditCardContext.d.cts +7 -0
  167. package/dist/browser/context/FormGroupCreditCardContext.d.cts.map +1 -0
  168. package/dist/browser/context/FormGroupCreditCardContext.d.mts +7 -0
  169. package/dist/browser/context/FormGroupCreditCardContext.d.mts.map +1 -0
  170. package/dist/browser/context/FormGroupCreditCardContext.d.ts +7 -0
  171. package/dist/browser/context/FormGroupCreditCardContext.d.ts.map +1 -0
  172. package/dist/browser/context/FormGroupCreditCardProvider.d.cts +9 -0
  173. package/dist/browser/context/FormGroupCreditCardProvider.d.cts.map +1 -0
  174. package/dist/browser/context/FormGroupCreditCardProvider.d.mts +9 -0
  175. package/dist/browser/context/FormGroupCreditCardProvider.d.mts.map +1 -0
  176. package/dist/browser/context/FormGroupCreditCardProvider.d.ts +9 -0
  177. package/dist/browser/context/FormGroupCreditCardProvider.d.ts.map +1 -0
  178. package/dist/browser/context/index.d.cts +4 -0
  179. package/dist/browser/context/index.d.cts.map +1 -0
  180. package/dist/browser/context/index.d.mts +4 -0
  181. package/dist/browser/context/index.d.mts.map +1 -0
  182. package/dist/browser/context/index.d.ts +4 -0
  183. package/dist/browser/context/index.d.ts.map +1 -0
  184. package/dist/browser/context/useFormGroupWithCreditCard.d.cts +6 -0
  185. package/dist/browser/context/useFormGroupWithCreditCard.d.cts.map +1 -0
  186. package/dist/browser/context/useFormGroupWithCreditCard.d.mts +6 -0
  187. package/dist/browser/context/useFormGroupWithCreditCard.d.mts.map +1 -0
  188. package/dist/browser/context/useFormGroupWithCreditCard.d.ts +6 -0
  189. package/dist/browser/context/useFormGroupWithCreditCard.d.ts.map +1 -0
  190. package/dist/browser/controls/CreditCardCvv.d.cts +19 -0
  191. package/dist/browser/controls/CreditCardCvv.d.cts.map +1 -0
  192. package/dist/browser/controls/CreditCardCvv.d.mts +19 -0
  193. package/dist/browser/controls/CreditCardCvv.d.mts.map +1 -0
  194. package/dist/browser/controls/CreditCardCvv.d.ts +19 -0
  195. package/dist/browser/controls/CreditCardCvv.d.ts.map +1 -0
  196. package/dist/browser/controls/CreditCardExpiry.d.cts +19 -0
  197. package/dist/browser/controls/CreditCardExpiry.d.cts.map +1 -0
  198. package/dist/browser/controls/CreditCardExpiry.d.mts +19 -0
  199. package/dist/browser/controls/CreditCardExpiry.d.mts.map +1 -0
  200. package/dist/browser/controls/CreditCardExpiry.d.ts +19 -0
  201. package/dist/browser/controls/CreditCardExpiry.d.ts.map +1 -0
  202. package/dist/browser/controls/CreditCardNumber.d.cts +22 -0
  203. package/dist/browser/controls/CreditCardNumber.d.cts.map +1 -0
  204. package/dist/browser/controls/CreditCardNumber.d.mts +22 -0
  205. package/dist/browser/controls/CreditCardNumber.d.mts.map +1 -0
  206. package/dist/browser/controls/CreditCardNumber.d.ts +22 -0
  207. package/dist/browser/controls/CreditCardNumber.d.ts.map +1 -0
  208. package/dist/browser/controls/Email.d.cts +14 -0
  209. package/dist/browser/controls/Email.d.cts.map +1 -0
  210. package/dist/browser/controls/Email.d.mts +14 -0
  211. package/dist/browser/controls/Email.d.mts.map +1 -0
  212. package/dist/browser/controls/Email.d.ts +14 -0
  213. package/dist/browser/controls/Email.d.ts.map +1 -0
  214. package/dist/browser/controls/Name.d.cts +10 -0
  215. package/dist/browser/controls/Name.d.cts.map +1 -0
  216. package/dist/browser/controls/Name.d.mts +10 -0
  217. package/dist/browser/controls/Name.d.mts.map +1 -0
  218. package/dist/browser/controls/Name.d.ts +10 -0
  219. package/dist/browser/controls/Name.d.ts.map +1 -0
  220. package/dist/browser/controls/Zip.d.cts +13 -0
  221. package/dist/browser/controls/Zip.d.cts.map +1 -0
  222. package/dist/browser/controls/Zip.d.mts +13 -0
  223. package/dist/browser/controls/Zip.d.mts.map +1 -0
  224. package/dist/browser/controls/Zip.d.ts +13 -0
  225. package/dist/browser/controls/Zip.d.ts.map +1 -0
  226. package/dist/browser/controls/index.d.cts +7 -0
  227. package/dist/browser/controls/index.d.cts.map +1 -0
  228. package/dist/browser/controls/index.d.mts +7 -0
  229. package/dist/browser/controls/index.d.mts.map +1 -0
  230. package/dist/browser/controls/index.d.ts +7 -0
  231. package/dist/browser/controls/index.d.ts.map +1 -0
  232. package/dist/browser/discover-6CUKUO43.svg +13 -0
  233. package/dist/browser/index.cjs +855 -0
  234. package/dist/browser/index.cjs.map +1 -0
  235. package/dist/browser/index.d.cts +6 -0
  236. package/dist/browser/index.d.cts.map +1 -0
  237. package/dist/browser/index.d.mts +6 -0
  238. package/dist/browser/index.d.mts.map +1 -0
  239. package/dist/browser/index.d.ts +6 -0
  240. package/dist/browser/index.d.ts.map +1 -0
  241. package/dist/browser/index.js +822 -0
  242. package/dist/browser/index.js.map +1 -0
  243. package/dist/browser/mastercard-XKS2A7C5.svg +16 -0
  244. package/dist/browser/models/CreditCardInput.d.cts +18 -0
  245. package/dist/browser/models/CreditCardInput.d.cts.map +1 -0
  246. package/dist/browser/models/CreditCardInput.d.mts +18 -0
  247. package/dist/browser/models/CreditCardInput.d.mts.map +1 -0
  248. package/dist/browser/models/CreditCardInput.d.ts +18 -0
  249. package/dist/browser/models/CreditCardInput.d.ts.map +1 -0
  250. package/dist/browser/models/index.d.cts +2 -0
  251. package/dist/browser/models/index.d.cts.map +1 -0
  252. package/dist/browser/models/index.d.mts +2 -0
  253. package/dist/browser/models/index.d.mts.map +1 -0
  254. package/dist/browser/models/index.d.ts +2 -0
  255. package/dist/browser/models/index.d.ts.map +1 -0
  256. package/dist/browser/utils/index.d.cts +2 -0
  257. package/dist/browser/utils/index.d.cts.map +1 -0
  258. package/dist/browser/utils/index.d.mts +2 -0
  259. package/dist/browser/utils/index.d.mts.map +1 -0
  260. package/dist/browser/utils/index.d.ts +2 -0
  261. package/dist/browser/utils/index.d.ts.map +1 -0
  262. package/dist/browser/utils/umask.d.cts +2 -0
  263. package/dist/browser/utils/umask.d.cts.map +1 -0
  264. package/dist/browser/utils/umask.d.mts +2 -0
  265. package/dist/browser/utils/umask.d.mts.map +1 -0
  266. package/dist/browser/utils/umask.d.ts +2 -0
  267. package/dist/browser/utils/umask.d.ts.map +1 -0
  268. package/dist/browser/visa-NRR5YBLP.svg +1 -0
  269. package/dist/neutral/american-express-TTLTB43R.svg +69 -0
  270. package/dist/neutral/components/controls/WithFormControlProps.d.cts +6 -0
  271. package/dist/neutral/components/controls/WithFormControlProps.d.cts.map +1 -0
  272. package/dist/neutral/components/controls/WithFormControlProps.d.mts +6 -0
  273. package/dist/neutral/components/controls/WithFormControlProps.d.mts.map +1 -0
  274. package/dist/neutral/components/controls/WithFormControlProps.d.ts +6 -0
  275. package/dist/neutral/components/controls/WithFormControlProps.d.ts.map +1 -0
  276. package/dist/neutral/components/controls/card/Email.d.cts +3 -0
  277. package/dist/neutral/components/controls/card/Email.d.cts.map +1 -0
  278. package/dist/neutral/components/controls/card/Email.d.mts +3 -0
  279. package/dist/neutral/components/controls/card/Email.d.mts.map +1 -0
  280. package/dist/neutral/components/controls/card/Email.d.ts +3 -0
  281. package/dist/neutral/components/controls/card/Email.d.ts.map +1 -0
  282. package/dist/neutral/components/controls/card/Expiration.d.cts +3 -0
  283. package/dist/neutral/components/controls/card/Expiration.d.cts.map +1 -0
  284. package/dist/neutral/components/controls/card/Expiration.d.mts +3 -0
  285. package/dist/neutral/components/controls/card/Expiration.d.mts.map +1 -0
  286. package/dist/neutral/components/controls/card/Expiration.d.ts +3 -0
  287. package/dist/neutral/components/controls/card/Expiration.d.ts.map +1 -0
  288. package/dist/neutral/components/controls/card/FormControlTextField.d.cts +9 -0
  289. package/dist/neutral/components/controls/card/FormControlTextField.d.cts.map +1 -0
  290. package/dist/neutral/components/controls/card/FormControlTextField.d.mts +9 -0
  291. package/dist/neutral/components/controls/card/FormControlTextField.d.mts.map +1 -0
  292. package/dist/neutral/components/controls/card/FormControlTextField.d.ts +9 -0
  293. package/dist/neutral/components/controls/card/FormControlTextField.d.ts.map +1 -0
  294. package/dist/neutral/components/controls/card/Name.d.cts +6 -0
  295. package/dist/neutral/components/controls/card/Name.d.cts.map +1 -0
  296. package/dist/neutral/components/controls/card/Name.d.mts +6 -0
  297. package/dist/neutral/components/controls/card/Name.d.mts.map +1 -0
  298. package/dist/neutral/components/controls/card/Name.d.ts +6 -0
  299. package/dist/neutral/components/controls/card/Name.d.ts.map +1 -0
  300. package/dist/neutral/components/controls/card/Options.d.cts +12 -0
  301. package/dist/neutral/components/controls/card/Options.d.cts.map +1 -0
  302. package/dist/neutral/components/controls/card/Options.d.mts +12 -0
  303. package/dist/neutral/components/controls/card/Options.d.mts.map +1 -0
  304. package/dist/neutral/components/controls/card/Options.d.ts +12 -0
  305. package/dist/neutral/components/controls/card/Options.d.ts.map +1 -0
  306. package/dist/neutral/components/controls/card/Zip.d.cts +3 -0
  307. package/dist/neutral/components/controls/card/Zip.d.cts.map +1 -0
  308. package/dist/neutral/components/controls/card/Zip.d.mts +3 -0
  309. package/dist/neutral/components/controls/card/Zip.d.mts.map +1 -0
  310. package/dist/neutral/components/controls/card/Zip.d.ts +3 -0
  311. package/dist/neutral/components/controls/card/Zip.d.ts.map +1 -0
  312. package/dist/neutral/components/controls/card/cvv/Cvv.d.cts +3 -0
  313. package/dist/neutral/components/controls/card/cvv/Cvv.d.cts.map +1 -0
  314. package/dist/neutral/components/controls/card/cvv/Cvv.d.mts +3 -0
  315. package/dist/neutral/components/controls/card/cvv/Cvv.d.mts.map +1 -0
  316. package/dist/neutral/components/controls/card/cvv/Cvv.d.ts +3 -0
  317. package/dist/neutral/components/controls/card/cvv/Cvv.d.ts.map +1 -0
  318. package/dist/neutral/components/controls/card/cvv/index.d.cts +3 -0
  319. package/dist/neutral/components/controls/card/cvv/index.d.cts.map +1 -0
  320. package/dist/neutral/components/controls/card/cvv/index.d.mts +3 -0
  321. package/dist/neutral/components/controls/card/cvv/index.d.mts.map +1 -0
  322. package/dist/neutral/components/controls/card/cvv/index.d.ts +3 -0
  323. package/dist/neutral/components/controls/card/cvv/index.d.ts.map +1 -0
  324. package/dist/neutral/components/controls/card/cvv/use.d.cts +9 -0
  325. package/dist/neutral/components/controls/card/cvv/use.d.cts.map +1 -0
  326. package/dist/neutral/components/controls/card/cvv/use.d.mts +9 -0
  327. package/dist/neutral/components/controls/card/cvv/use.d.mts.map +1 -0
  328. package/dist/neutral/components/controls/card/cvv/use.d.ts +9 -0
  329. package/dist/neutral/components/controls/card/cvv/use.d.ts.map +1 -0
  330. package/dist/neutral/components/controls/card/index.d.cts +10 -0
  331. package/dist/neutral/components/controls/card/index.d.cts.map +1 -0
  332. package/dist/neutral/components/controls/card/index.d.mts +10 -0
  333. package/dist/neutral/components/controls/card/index.d.mts.map +1 -0
  334. package/dist/neutral/components/controls/card/index.d.ts +10 -0
  335. package/dist/neutral/components/controls/card/index.d.ts.map +1 -0
  336. package/dist/neutral/components/controls/card/number/Number.d.cts +3 -0
  337. package/dist/neutral/components/controls/card/number/Number.d.cts.map +1 -0
  338. package/dist/neutral/components/controls/card/number/Number.d.mts +3 -0
  339. package/dist/neutral/components/controls/card/number/Number.d.mts.map +1 -0
  340. package/dist/neutral/components/controls/card/number/Number.d.ts +3 -0
  341. package/dist/neutral/components/controls/card/number/Number.d.ts.map +1 -0
  342. package/dist/neutral/components/controls/card/number/index.d.cts +3 -0
  343. package/dist/neutral/components/controls/card/number/index.d.cts.map +1 -0
  344. package/dist/neutral/components/controls/card/number/index.d.mts +3 -0
  345. package/dist/neutral/components/controls/card/number/index.d.mts.map +1 -0
  346. package/dist/neutral/components/controls/card/number/index.d.ts +3 -0
  347. package/dist/neutral/components/controls/card/number/index.d.ts.map +1 -0
  348. package/dist/neutral/components/controls/card/number/use.d.cts +10 -0
  349. package/dist/neutral/components/controls/card/number/use.d.cts.map +1 -0
  350. package/dist/neutral/components/controls/card/number/use.d.mts +10 -0
  351. package/dist/neutral/components/controls/card/number/use.d.mts.map +1 -0
  352. package/dist/neutral/components/controls/card/number/use.d.ts +10 -0
  353. package/dist/neutral/components/controls/card/number/use.d.ts.map +1 -0
  354. package/dist/neutral/components/controls/card/useCreditCardFormControl.d.cts +9 -0
  355. package/dist/neutral/components/controls/card/useCreditCardFormControl.d.cts.map +1 -0
  356. package/dist/neutral/components/controls/card/useCreditCardFormControl.d.mts +9 -0
  357. package/dist/neutral/components/controls/card/useCreditCardFormControl.d.mts.map +1 -0
  358. package/dist/neutral/components/controls/card/useCreditCardFormControl.d.ts +9 -0
  359. package/dist/neutral/components/controls/card/useCreditCardFormControl.d.ts.map +1 -0
  360. package/dist/neutral/components/controls/index.d.cts +3 -0
  361. package/dist/neutral/components/controls/index.d.cts.map +1 -0
  362. package/dist/neutral/components/controls/index.d.mts +3 -0
  363. package/dist/neutral/components/controls/index.d.mts.map +1 -0
  364. package/dist/neutral/components/controls/index.d.ts +3 -0
  365. package/dist/neutral/components/controls/index.d.ts.map +1 -0
  366. package/dist/neutral/components/form/Form.d.cts +4 -0
  367. package/dist/neutral/components/form/Form.d.cts.map +1 -0
  368. package/dist/neutral/components/form/Form.d.mts +4 -0
  369. package/dist/neutral/components/form/Form.d.mts.map +1 -0
  370. package/dist/neutral/components/form/Form.d.ts +4 -0
  371. package/dist/neutral/components/form/Form.d.ts.map +1 -0
  372. package/dist/neutral/components/form/InputFieldsStack.d.cts +6 -0
  373. package/dist/neutral/components/form/InputFieldsStack.d.cts.map +1 -0
  374. package/dist/neutral/components/form/InputFieldsStack.d.mts +6 -0
  375. package/dist/neutral/components/form/InputFieldsStack.d.mts.map +1 -0
  376. package/dist/neutral/components/form/InputFieldsStack.d.ts +6 -0
  377. package/dist/neutral/components/form/InputFieldsStack.d.ts.map +1 -0
  378. package/dist/neutral/components/form/Props.d.cts +12 -0
  379. package/dist/neutral/components/form/Props.d.cts.map +1 -0
  380. package/dist/neutral/components/form/Props.d.mts +12 -0
  381. package/dist/neutral/components/form/Props.d.mts.map +1 -0
  382. package/dist/neutral/components/form/Props.d.ts +12 -0
  383. package/dist/neutral/components/form/Props.d.ts.map +1 -0
  384. package/dist/neutral/components/form/index.d.cts +2 -0
  385. package/dist/neutral/components/form/index.d.cts.map +1 -0
  386. package/dist/neutral/components/form/index.d.mts +2 -0
  387. package/dist/neutral/components/form/index.d.mts.map +1 -0
  388. package/dist/neutral/components/form/index.d.ts +2 -0
  389. package/dist/neutral/components/form/index.d.ts.map +1 -0
  390. package/dist/neutral/components/form/useFormStorage.d.cts +5 -0
  391. package/dist/neutral/components/form/useFormStorage.d.cts.map +1 -0
  392. package/dist/neutral/components/form/useFormStorage.d.mts +5 -0
  393. package/dist/neutral/components/form/useFormStorage.d.mts.map +1 -0
  394. package/dist/neutral/components/form/useFormStorage.d.ts +5 -0
  395. package/dist/neutral/components/form/useFormStorage.d.ts.map +1 -0
  396. package/dist/neutral/components/img/index.d.cts +5 -0
  397. package/dist/neutral/components/img/index.d.cts.map +1 -0
  398. package/dist/neutral/components/img/index.d.mts +5 -0
  399. package/dist/neutral/components/img/index.d.mts.map +1 -0
  400. package/dist/neutral/components/img/index.d.ts +5 -0
  401. package/dist/neutral/components/img/index.d.ts.map +1 -0
  402. package/dist/neutral/components/index.d.cts +5 -0
  403. package/dist/neutral/components/index.d.cts.map +1 -0
  404. package/dist/neutral/components/index.d.mts +5 -0
  405. package/dist/neutral/components/index.d.mts.map +1 -0
  406. package/dist/neutral/components/index.d.ts +5 -0
  407. package/dist/neutral/components/index.d.ts.map +1 -0
  408. package/dist/neutral/components/support/Fields.d.cts +4 -0
  409. package/dist/neutral/components/support/Fields.d.cts.map +1 -0
  410. package/dist/neutral/components/support/Fields.d.mts +4 -0
  411. package/dist/neutral/components/support/Fields.d.mts.map +1 -0
  412. package/dist/neutral/components/support/Fields.d.ts +4 -0
  413. package/dist/neutral/components/support/Fields.d.ts.map +1 -0
  414. package/dist/neutral/components/support/InputError.d.cts +5 -0
  415. package/dist/neutral/components/support/InputError.d.cts.map +1 -0
  416. package/dist/neutral/components/support/InputError.d.mts +5 -0
  417. package/dist/neutral/components/support/InputError.d.mts.map +1 -0
  418. package/dist/neutral/components/support/InputError.d.ts +5 -0
  419. package/dist/neutral/components/support/InputError.d.ts.map +1 -0
  420. package/dist/neutral/components/support/index.d.cts +4 -0
  421. package/dist/neutral/components/support/index.d.cts.map +1 -0
  422. package/dist/neutral/components/support/index.d.mts +4 -0
  423. package/dist/neutral/components/support/index.d.mts.map +1 -0
  424. package/dist/neutral/components/support/index.d.ts +4 -0
  425. package/dist/neutral/components/support/index.d.ts.map +1 -0
  426. package/dist/neutral/components/support/validateCreditCardInputs.d.cts +3 -0
  427. package/dist/neutral/components/support/validateCreditCardInputs.d.cts.map +1 -0
  428. package/dist/neutral/components/support/validateCreditCardInputs.d.mts +3 -0
  429. package/dist/neutral/components/support/validateCreditCardInputs.d.mts.map +1 -0
  430. package/dist/neutral/components/support/validateCreditCardInputs.d.ts +3 -0
  431. package/dist/neutral/components/support/validateCreditCardInputs.d.ts.map +1 -0
  432. package/dist/neutral/context/FormGroupCreditCardContext.d.cts +7 -0
  433. package/dist/neutral/context/FormGroupCreditCardContext.d.cts.map +1 -0
  434. package/dist/neutral/context/FormGroupCreditCardContext.d.mts +7 -0
  435. package/dist/neutral/context/FormGroupCreditCardContext.d.mts.map +1 -0
  436. package/dist/neutral/context/FormGroupCreditCardContext.d.ts +7 -0
  437. package/dist/neutral/context/FormGroupCreditCardContext.d.ts.map +1 -0
  438. package/dist/neutral/context/FormGroupCreditCardProvider.d.cts +9 -0
  439. package/dist/neutral/context/FormGroupCreditCardProvider.d.cts.map +1 -0
  440. package/dist/neutral/context/FormGroupCreditCardProvider.d.mts +9 -0
  441. package/dist/neutral/context/FormGroupCreditCardProvider.d.mts.map +1 -0
  442. package/dist/neutral/context/FormGroupCreditCardProvider.d.ts +9 -0
  443. package/dist/neutral/context/FormGroupCreditCardProvider.d.ts.map +1 -0
  444. package/dist/neutral/context/index.d.cts +4 -0
  445. package/dist/neutral/context/index.d.cts.map +1 -0
  446. package/dist/neutral/context/index.d.mts +4 -0
  447. package/dist/neutral/context/index.d.mts.map +1 -0
  448. package/dist/neutral/context/index.d.ts +4 -0
  449. package/dist/neutral/context/index.d.ts.map +1 -0
  450. package/dist/neutral/context/useFormGroupWithCreditCard.d.cts +6 -0
  451. package/dist/neutral/context/useFormGroupWithCreditCard.d.cts.map +1 -0
  452. package/dist/neutral/context/useFormGroupWithCreditCard.d.mts +6 -0
  453. package/dist/neutral/context/useFormGroupWithCreditCard.d.mts.map +1 -0
  454. package/dist/neutral/context/useFormGroupWithCreditCard.d.ts +6 -0
  455. package/dist/neutral/context/useFormGroupWithCreditCard.d.ts.map +1 -0
  456. package/dist/neutral/controls/CreditCardCvv.d.cts +19 -0
  457. package/dist/neutral/controls/CreditCardCvv.d.cts.map +1 -0
  458. package/dist/neutral/controls/CreditCardCvv.d.mts +19 -0
  459. package/dist/neutral/controls/CreditCardCvv.d.mts.map +1 -0
  460. package/dist/neutral/controls/CreditCardCvv.d.ts +19 -0
  461. package/dist/neutral/controls/CreditCardCvv.d.ts.map +1 -0
  462. package/dist/neutral/controls/CreditCardExpiry.d.cts +19 -0
  463. package/dist/neutral/controls/CreditCardExpiry.d.cts.map +1 -0
  464. package/dist/neutral/controls/CreditCardExpiry.d.mts +19 -0
  465. package/dist/neutral/controls/CreditCardExpiry.d.mts.map +1 -0
  466. package/dist/neutral/controls/CreditCardExpiry.d.ts +19 -0
  467. package/dist/neutral/controls/CreditCardExpiry.d.ts.map +1 -0
  468. package/dist/neutral/controls/CreditCardNumber.d.cts +22 -0
  469. package/dist/neutral/controls/CreditCardNumber.d.cts.map +1 -0
  470. package/dist/neutral/controls/CreditCardNumber.d.mts +22 -0
  471. package/dist/neutral/controls/CreditCardNumber.d.mts.map +1 -0
  472. package/dist/neutral/controls/CreditCardNumber.d.ts +22 -0
  473. package/dist/neutral/controls/CreditCardNumber.d.ts.map +1 -0
  474. package/dist/neutral/controls/Email.d.cts +14 -0
  475. package/dist/neutral/controls/Email.d.cts.map +1 -0
  476. package/dist/neutral/controls/Email.d.mts +14 -0
  477. package/dist/neutral/controls/Email.d.mts.map +1 -0
  478. package/dist/neutral/controls/Email.d.ts +14 -0
  479. package/dist/neutral/controls/Email.d.ts.map +1 -0
  480. package/dist/neutral/controls/Name.d.cts +10 -0
  481. package/dist/neutral/controls/Name.d.cts.map +1 -0
  482. package/dist/neutral/controls/Name.d.mts +10 -0
  483. package/dist/neutral/controls/Name.d.mts.map +1 -0
  484. package/dist/neutral/controls/Name.d.ts +10 -0
  485. package/dist/neutral/controls/Name.d.ts.map +1 -0
  486. package/dist/neutral/controls/Zip.d.cts +13 -0
  487. package/dist/neutral/controls/Zip.d.cts.map +1 -0
  488. package/dist/neutral/controls/Zip.d.mts +13 -0
  489. package/dist/neutral/controls/Zip.d.mts.map +1 -0
  490. package/dist/neutral/controls/Zip.d.ts +13 -0
  491. package/dist/neutral/controls/Zip.d.ts.map +1 -0
  492. package/dist/neutral/controls/index.d.cts +7 -0
  493. package/dist/neutral/controls/index.d.cts.map +1 -0
  494. package/dist/neutral/controls/index.d.mts +7 -0
  495. package/dist/neutral/controls/index.d.mts.map +1 -0
  496. package/dist/neutral/controls/index.d.ts +7 -0
  497. package/dist/neutral/controls/index.d.ts.map +1 -0
  498. package/dist/neutral/discover-6CUKUO43.svg +13 -0
  499. package/dist/neutral/index.cjs +855 -0
  500. package/dist/neutral/index.cjs.map +1 -0
  501. package/dist/neutral/index.d.cts +6 -0
  502. package/dist/neutral/index.d.cts.map +1 -0
  503. package/dist/neutral/index.d.mts +6 -0
  504. package/dist/neutral/index.d.mts.map +1 -0
  505. package/dist/neutral/index.d.ts +6 -0
  506. package/dist/neutral/index.d.ts.map +1 -0
  507. package/dist/neutral/index.js +822 -0
  508. package/dist/neutral/index.js.map +1 -0
  509. package/dist/neutral/mastercard-XKS2A7C5.svg +16 -0
  510. package/dist/neutral/models/CreditCardInput.d.cts +18 -0
  511. package/dist/neutral/models/CreditCardInput.d.cts.map +1 -0
  512. package/dist/neutral/models/CreditCardInput.d.mts +18 -0
  513. package/dist/neutral/models/CreditCardInput.d.mts.map +1 -0
  514. package/dist/neutral/models/CreditCardInput.d.ts +18 -0
  515. package/dist/neutral/models/CreditCardInput.d.ts.map +1 -0
  516. package/dist/neutral/models/index.d.cts +2 -0
  517. package/dist/neutral/models/index.d.cts.map +1 -0
  518. package/dist/neutral/models/index.d.mts +2 -0
  519. package/dist/neutral/models/index.d.mts.map +1 -0
  520. package/dist/neutral/models/index.d.ts +2 -0
  521. package/dist/neutral/models/index.d.ts.map +1 -0
  522. package/dist/neutral/utils/index.d.cts +2 -0
  523. package/dist/neutral/utils/index.d.cts.map +1 -0
  524. package/dist/neutral/utils/index.d.mts +2 -0
  525. package/dist/neutral/utils/index.d.mts.map +1 -0
  526. package/dist/neutral/utils/index.d.ts +2 -0
  527. package/dist/neutral/utils/index.d.ts.map +1 -0
  528. package/dist/neutral/utils/umask.d.cts +2 -0
  529. package/dist/neutral/utils/umask.d.cts.map +1 -0
  530. package/dist/neutral/utils/umask.d.mts +2 -0
  531. package/dist/neutral/utils/umask.d.mts.map +1 -0
  532. package/dist/neutral/utils/umask.d.ts +2 -0
  533. package/dist/neutral/utils/umask.d.ts.map +1 -0
  534. package/dist/neutral/visa-NRR5YBLP.svg +1 -0
  535. package/dist/node/american-express-TTLTB43R.svg +69 -0
  536. package/dist/node/components/controls/WithFormControlProps.d.cts +6 -0
  537. package/dist/node/components/controls/WithFormControlProps.d.cts.map +1 -0
  538. package/dist/node/components/controls/WithFormControlProps.d.mts +6 -0
  539. package/dist/node/components/controls/WithFormControlProps.d.mts.map +1 -0
  540. package/dist/node/components/controls/WithFormControlProps.d.ts +6 -0
  541. package/dist/node/components/controls/WithFormControlProps.d.ts.map +1 -0
  542. package/dist/node/components/controls/card/Email.d.cts +3 -0
  543. package/dist/node/components/controls/card/Email.d.cts.map +1 -0
  544. package/dist/node/components/controls/card/Email.d.mts +3 -0
  545. package/dist/node/components/controls/card/Email.d.mts.map +1 -0
  546. package/dist/node/components/controls/card/Email.d.ts +3 -0
  547. package/dist/node/components/controls/card/Email.d.ts.map +1 -0
  548. package/dist/node/components/controls/card/Expiration.d.cts +3 -0
  549. package/dist/node/components/controls/card/Expiration.d.cts.map +1 -0
  550. package/dist/node/components/controls/card/Expiration.d.mts +3 -0
  551. package/dist/node/components/controls/card/Expiration.d.mts.map +1 -0
  552. package/dist/node/components/controls/card/Expiration.d.ts +3 -0
  553. package/dist/node/components/controls/card/Expiration.d.ts.map +1 -0
  554. package/dist/node/components/controls/card/FormControlTextField.d.cts +9 -0
  555. package/dist/node/components/controls/card/FormControlTextField.d.cts.map +1 -0
  556. package/dist/node/components/controls/card/FormControlTextField.d.mts +9 -0
  557. package/dist/node/components/controls/card/FormControlTextField.d.mts.map +1 -0
  558. package/dist/node/components/controls/card/FormControlTextField.d.ts +9 -0
  559. package/dist/node/components/controls/card/FormControlTextField.d.ts.map +1 -0
  560. package/dist/node/components/controls/card/Name.d.cts +6 -0
  561. package/dist/node/components/controls/card/Name.d.cts.map +1 -0
  562. package/dist/node/components/controls/card/Name.d.mts +6 -0
  563. package/dist/node/components/controls/card/Name.d.mts.map +1 -0
  564. package/dist/node/components/controls/card/Name.d.ts +6 -0
  565. package/dist/node/components/controls/card/Name.d.ts.map +1 -0
  566. package/dist/node/components/controls/card/Options.d.cts +12 -0
  567. package/dist/node/components/controls/card/Options.d.cts.map +1 -0
  568. package/dist/node/components/controls/card/Options.d.mts +12 -0
  569. package/dist/node/components/controls/card/Options.d.mts.map +1 -0
  570. package/dist/node/components/controls/card/Options.d.ts +12 -0
  571. package/dist/node/components/controls/card/Options.d.ts.map +1 -0
  572. package/dist/node/components/controls/card/Zip.d.cts +3 -0
  573. package/dist/node/components/controls/card/Zip.d.cts.map +1 -0
  574. package/dist/node/components/controls/card/Zip.d.mts +3 -0
  575. package/dist/node/components/controls/card/Zip.d.mts.map +1 -0
  576. package/dist/node/components/controls/card/Zip.d.ts +3 -0
  577. package/dist/node/components/controls/card/Zip.d.ts.map +1 -0
  578. package/dist/node/components/controls/card/cvv/Cvv.d.cts +3 -0
  579. package/dist/node/components/controls/card/cvv/Cvv.d.cts.map +1 -0
  580. package/dist/node/components/controls/card/cvv/Cvv.d.mts +3 -0
  581. package/dist/node/components/controls/card/cvv/Cvv.d.mts.map +1 -0
  582. package/dist/node/components/controls/card/cvv/Cvv.d.ts +3 -0
  583. package/dist/node/components/controls/card/cvv/Cvv.d.ts.map +1 -0
  584. package/dist/node/components/controls/card/cvv/index.d.cts +3 -0
  585. package/dist/node/components/controls/card/cvv/index.d.cts.map +1 -0
  586. package/dist/node/components/controls/card/cvv/index.d.mts +3 -0
  587. package/dist/node/components/controls/card/cvv/index.d.mts.map +1 -0
  588. package/dist/node/components/controls/card/cvv/index.d.ts +3 -0
  589. package/dist/node/components/controls/card/cvv/index.d.ts.map +1 -0
  590. package/dist/node/components/controls/card/cvv/use.d.cts +9 -0
  591. package/dist/node/components/controls/card/cvv/use.d.cts.map +1 -0
  592. package/dist/node/components/controls/card/cvv/use.d.mts +9 -0
  593. package/dist/node/components/controls/card/cvv/use.d.mts.map +1 -0
  594. package/dist/node/components/controls/card/cvv/use.d.ts +9 -0
  595. package/dist/node/components/controls/card/cvv/use.d.ts.map +1 -0
  596. package/dist/node/components/controls/card/index.d.cts +10 -0
  597. package/dist/node/components/controls/card/index.d.cts.map +1 -0
  598. package/dist/node/components/controls/card/index.d.mts +10 -0
  599. package/dist/node/components/controls/card/index.d.mts.map +1 -0
  600. package/dist/node/components/controls/card/index.d.ts +10 -0
  601. package/dist/node/components/controls/card/index.d.ts.map +1 -0
  602. package/dist/node/components/controls/card/number/Number.d.cts +3 -0
  603. package/dist/node/components/controls/card/number/Number.d.cts.map +1 -0
  604. package/dist/node/components/controls/card/number/Number.d.mts +3 -0
  605. package/dist/node/components/controls/card/number/Number.d.mts.map +1 -0
  606. package/dist/node/components/controls/card/number/Number.d.ts +3 -0
  607. package/dist/node/components/controls/card/number/Number.d.ts.map +1 -0
  608. package/dist/node/components/controls/card/number/index.d.cts +3 -0
  609. package/dist/node/components/controls/card/number/index.d.cts.map +1 -0
  610. package/dist/node/components/controls/card/number/index.d.mts +3 -0
  611. package/dist/node/components/controls/card/number/index.d.mts.map +1 -0
  612. package/dist/node/components/controls/card/number/index.d.ts +3 -0
  613. package/dist/node/components/controls/card/number/index.d.ts.map +1 -0
  614. package/dist/node/components/controls/card/number/use.d.cts +10 -0
  615. package/dist/node/components/controls/card/number/use.d.cts.map +1 -0
  616. package/dist/node/components/controls/card/number/use.d.mts +10 -0
  617. package/dist/node/components/controls/card/number/use.d.mts.map +1 -0
  618. package/dist/node/components/controls/card/number/use.d.ts +10 -0
  619. package/dist/node/components/controls/card/number/use.d.ts.map +1 -0
  620. package/dist/node/components/controls/card/useCreditCardFormControl.d.cts +9 -0
  621. package/dist/node/components/controls/card/useCreditCardFormControl.d.cts.map +1 -0
  622. package/dist/node/components/controls/card/useCreditCardFormControl.d.mts +9 -0
  623. package/dist/node/components/controls/card/useCreditCardFormControl.d.mts.map +1 -0
  624. package/dist/node/components/controls/card/useCreditCardFormControl.d.ts +9 -0
  625. package/dist/node/components/controls/card/useCreditCardFormControl.d.ts.map +1 -0
  626. package/dist/node/components/controls/index.d.cts +3 -0
  627. package/dist/node/components/controls/index.d.cts.map +1 -0
  628. package/dist/node/components/controls/index.d.mts +3 -0
  629. package/dist/node/components/controls/index.d.mts.map +1 -0
  630. package/dist/node/components/controls/index.d.ts +3 -0
  631. package/dist/node/components/controls/index.d.ts.map +1 -0
  632. package/dist/node/components/form/Form.d.cts +4 -0
  633. package/dist/node/components/form/Form.d.cts.map +1 -0
  634. package/dist/node/components/form/Form.d.mts +4 -0
  635. package/dist/node/components/form/Form.d.mts.map +1 -0
  636. package/dist/node/components/form/Form.d.ts +4 -0
  637. package/dist/node/components/form/Form.d.ts.map +1 -0
  638. package/dist/node/components/form/InputFieldsStack.d.cts +6 -0
  639. package/dist/node/components/form/InputFieldsStack.d.cts.map +1 -0
  640. package/dist/node/components/form/InputFieldsStack.d.mts +6 -0
  641. package/dist/node/components/form/InputFieldsStack.d.mts.map +1 -0
  642. package/dist/node/components/form/InputFieldsStack.d.ts +6 -0
  643. package/dist/node/components/form/InputFieldsStack.d.ts.map +1 -0
  644. package/dist/node/components/form/Props.d.cts +12 -0
  645. package/dist/node/components/form/Props.d.cts.map +1 -0
  646. package/dist/node/components/form/Props.d.mts +12 -0
  647. package/dist/node/components/form/Props.d.mts.map +1 -0
  648. package/dist/node/components/form/Props.d.ts +12 -0
  649. package/dist/node/components/form/Props.d.ts.map +1 -0
  650. package/dist/node/components/form/index.d.cts +2 -0
  651. package/dist/node/components/form/index.d.cts.map +1 -0
  652. package/dist/node/components/form/index.d.mts +2 -0
  653. package/dist/node/components/form/index.d.mts.map +1 -0
  654. package/dist/node/components/form/index.d.ts +2 -0
  655. package/dist/node/components/form/index.d.ts.map +1 -0
  656. package/dist/node/components/form/useFormStorage.d.cts +5 -0
  657. package/dist/node/components/form/useFormStorage.d.cts.map +1 -0
  658. package/dist/node/components/form/useFormStorage.d.mts +5 -0
  659. package/dist/node/components/form/useFormStorage.d.mts.map +1 -0
  660. package/dist/node/components/form/useFormStorage.d.ts +5 -0
  661. package/dist/node/components/form/useFormStorage.d.ts.map +1 -0
  662. package/dist/node/components/img/index.d.cts +5 -0
  663. package/dist/node/components/img/index.d.cts.map +1 -0
  664. package/dist/node/components/img/index.d.mts +5 -0
  665. package/dist/node/components/img/index.d.mts.map +1 -0
  666. package/dist/node/components/img/index.d.ts +5 -0
  667. package/dist/node/components/img/index.d.ts.map +1 -0
  668. package/dist/node/components/index.d.cts +5 -0
  669. package/dist/node/components/index.d.cts.map +1 -0
  670. package/dist/node/components/index.d.mts +5 -0
  671. package/dist/node/components/index.d.mts.map +1 -0
  672. package/dist/node/components/index.d.ts +5 -0
  673. package/dist/node/components/index.d.ts.map +1 -0
  674. package/dist/node/components/support/Fields.d.cts +4 -0
  675. package/dist/node/components/support/Fields.d.cts.map +1 -0
  676. package/dist/node/components/support/Fields.d.mts +4 -0
  677. package/dist/node/components/support/Fields.d.mts.map +1 -0
  678. package/dist/node/components/support/Fields.d.ts +4 -0
  679. package/dist/node/components/support/Fields.d.ts.map +1 -0
  680. package/dist/node/components/support/InputError.d.cts +5 -0
  681. package/dist/node/components/support/InputError.d.cts.map +1 -0
  682. package/dist/node/components/support/InputError.d.mts +5 -0
  683. package/dist/node/components/support/InputError.d.mts.map +1 -0
  684. package/dist/node/components/support/InputError.d.ts +5 -0
  685. package/dist/node/components/support/InputError.d.ts.map +1 -0
  686. package/dist/node/components/support/index.d.cts +4 -0
  687. package/dist/node/components/support/index.d.cts.map +1 -0
  688. package/dist/node/components/support/index.d.mts +4 -0
  689. package/dist/node/components/support/index.d.mts.map +1 -0
  690. package/dist/node/components/support/index.d.ts +4 -0
  691. package/dist/node/components/support/index.d.ts.map +1 -0
  692. package/dist/node/components/support/validateCreditCardInputs.d.cts +3 -0
  693. package/dist/node/components/support/validateCreditCardInputs.d.cts.map +1 -0
  694. package/dist/node/components/support/validateCreditCardInputs.d.mts +3 -0
  695. package/dist/node/components/support/validateCreditCardInputs.d.mts.map +1 -0
  696. package/dist/node/components/support/validateCreditCardInputs.d.ts +3 -0
  697. package/dist/node/components/support/validateCreditCardInputs.d.ts.map +1 -0
  698. package/dist/node/context/FormGroupCreditCardContext.d.cts +7 -0
  699. package/dist/node/context/FormGroupCreditCardContext.d.cts.map +1 -0
  700. package/dist/node/context/FormGroupCreditCardContext.d.mts +7 -0
  701. package/dist/node/context/FormGroupCreditCardContext.d.mts.map +1 -0
  702. package/dist/node/context/FormGroupCreditCardContext.d.ts +7 -0
  703. package/dist/node/context/FormGroupCreditCardContext.d.ts.map +1 -0
  704. package/dist/node/context/FormGroupCreditCardProvider.d.cts +9 -0
  705. package/dist/node/context/FormGroupCreditCardProvider.d.cts.map +1 -0
  706. package/dist/node/context/FormGroupCreditCardProvider.d.mts +9 -0
  707. package/dist/node/context/FormGroupCreditCardProvider.d.mts.map +1 -0
  708. package/dist/node/context/FormGroupCreditCardProvider.d.ts +9 -0
  709. package/dist/node/context/FormGroupCreditCardProvider.d.ts.map +1 -0
  710. package/dist/node/context/index.d.cts +4 -0
  711. package/dist/node/context/index.d.cts.map +1 -0
  712. package/dist/node/context/index.d.mts +4 -0
  713. package/dist/node/context/index.d.mts.map +1 -0
  714. package/dist/node/context/index.d.ts +4 -0
  715. package/dist/node/context/index.d.ts.map +1 -0
  716. package/dist/node/context/useFormGroupWithCreditCard.d.cts +6 -0
  717. package/dist/node/context/useFormGroupWithCreditCard.d.cts.map +1 -0
  718. package/dist/node/context/useFormGroupWithCreditCard.d.mts +6 -0
  719. package/dist/node/context/useFormGroupWithCreditCard.d.mts.map +1 -0
  720. package/dist/node/context/useFormGroupWithCreditCard.d.ts +6 -0
  721. package/dist/node/context/useFormGroupWithCreditCard.d.ts.map +1 -0
  722. package/dist/node/controls/CreditCardCvv.d.cts +19 -0
  723. package/dist/node/controls/CreditCardCvv.d.cts.map +1 -0
  724. package/dist/node/controls/CreditCardCvv.d.mts +19 -0
  725. package/dist/node/controls/CreditCardCvv.d.mts.map +1 -0
  726. package/dist/node/controls/CreditCardCvv.d.ts +19 -0
  727. package/dist/node/controls/CreditCardCvv.d.ts.map +1 -0
  728. package/dist/node/controls/CreditCardExpiry.d.cts +19 -0
  729. package/dist/node/controls/CreditCardExpiry.d.cts.map +1 -0
  730. package/dist/node/controls/CreditCardExpiry.d.mts +19 -0
  731. package/dist/node/controls/CreditCardExpiry.d.mts.map +1 -0
  732. package/dist/node/controls/CreditCardExpiry.d.ts +19 -0
  733. package/dist/node/controls/CreditCardExpiry.d.ts.map +1 -0
  734. package/dist/node/controls/CreditCardNumber.d.cts +22 -0
  735. package/dist/node/controls/CreditCardNumber.d.cts.map +1 -0
  736. package/dist/node/controls/CreditCardNumber.d.mts +22 -0
  737. package/dist/node/controls/CreditCardNumber.d.mts.map +1 -0
  738. package/dist/node/controls/CreditCardNumber.d.ts +22 -0
  739. package/dist/node/controls/CreditCardNumber.d.ts.map +1 -0
  740. package/dist/node/controls/Email.d.cts +14 -0
  741. package/dist/node/controls/Email.d.cts.map +1 -0
  742. package/dist/node/controls/Email.d.mts +14 -0
  743. package/dist/node/controls/Email.d.mts.map +1 -0
  744. package/dist/node/controls/Email.d.ts +14 -0
  745. package/dist/node/controls/Email.d.ts.map +1 -0
  746. package/dist/node/controls/Name.d.cts +10 -0
  747. package/dist/node/controls/Name.d.cts.map +1 -0
  748. package/dist/node/controls/Name.d.mts +10 -0
  749. package/dist/node/controls/Name.d.mts.map +1 -0
  750. package/dist/node/controls/Name.d.ts +10 -0
  751. package/dist/node/controls/Name.d.ts.map +1 -0
  752. package/dist/node/controls/Zip.d.cts +13 -0
  753. package/dist/node/controls/Zip.d.cts.map +1 -0
  754. package/dist/node/controls/Zip.d.mts +13 -0
  755. package/dist/node/controls/Zip.d.mts.map +1 -0
  756. package/dist/node/controls/Zip.d.ts +13 -0
  757. package/dist/node/controls/Zip.d.ts.map +1 -0
  758. package/dist/node/controls/index.d.cts +7 -0
  759. package/dist/node/controls/index.d.cts.map +1 -0
  760. package/dist/node/controls/index.d.mts +7 -0
  761. package/dist/node/controls/index.d.mts.map +1 -0
  762. package/dist/node/controls/index.d.ts +7 -0
  763. package/dist/node/controls/index.d.ts.map +1 -0
  764. package/dist/node/discover-6CUKUO43.svg +13 -0
  765. package/dist/node/index.cjs +892 -0
  766. package/dist/node/index.cjs.map +1 -0
  767. package/dist/node/index.d.cts +6 -0
  768. package/dist/node/index.d.cts.map +1 -0
  769. package/dist/node/index.d.mts +6 -0
  770. package/dist/node/index.d.mts.map +1 -0
  771. package/dist/node/index.d.ts +6 -0
  772. package/dist/node/index.d.ts.map +1 -0
  773. package/dist/node/index.js +824 -0
  774. package/dist/node/index.js.map +1 -0
  775. package/dist/node/mastercard-XKS2A7C5.svg +16 -0
  776. package/dist/node/models/CreditCardInput.d.cts +18 -0
  777. package/dist/node/models/CreditCardInput.d.cts.map +1 -0
  778. package/dist/node/models/CreditCardInput.d.mts +18 -0
  779. package/dist/node/models/CreditCardInput.d.mts.map +1 -0
  780. package/dist/node/models/CreditCardInput.d.ts +18 -0
  781. package/dist/node/models/CreditCardInput.d.ts.map +1 -0
  782. package/dist/node/models/index.d.cts +2 -0
  783. package/dist/node/models/index.d.cts.map +1 -0
  784. package/dist/node/models/index.d.mts +2 -0
  785. package/dist/node/models/index.d.mts.map +1 -0
  786. package/dist/node/models/index.d.ts +2 -0
  787. package/dist/node/models/index.d.ts.map +1 -0
  788. package/dist/node/utils/index.d.cts +2 -0
  789. package/dist/node/utils/index.d.cts.map +1 -0
  790. package/dist/node/utils/index.d.mts +2 -0
  791. package/dist/node/utils/index.d.mts.map +1 -0
  792. package/dist/node/utils/index.d.ts +2 -0
  793. package/dist/node/utils/index.d.ts.map +1 -0
  794. package/dist/node/utils/umask.d.cts +2 -0
  795. package/dist/node/utils/umask.d.cts.map +1 -0
  796. package/dist/node/utils/umask.d.mts +2 -0
  797. package/dist/node/utils/umask.d.mts.map +1 -0
  798. package/dist/node/utils/umask.d.ts +2 -0
  799. package/dist/node/utils/umask.d.ts.map +1 -0
  800. package/dist/node/visa-NRR5YBLP.svg +1 -0
  801. package/package.json +89 -0
  802. package/src/components/controls/WithFormControlProps.ts +6 -0
  803. package/src/components/controls/card/Email.tsx +23 -0
  804. package/src/components/controls/card/Expiration.tsx +27 -0
  805. package/src/components/controls/card/FormControlTextField.tsx +59 -0
  806. package/src/components/controls/card/Name.tsx +36 -0
  807. package/src/components/controls/card/Options.ts +20 -0
  808. package/src/components/controls/card/Zip.tsx +23 -0
  809. package/src/components/controls/card/cvv/Cvv.tsx +23 -0
  810. package/src/components/controls/card/cvv/index.ts +2 -0
  811. package/src/components/controls/card/cvv/use.tsx +33 -0
  812. package/src/components/controls/card/index.ts +9 -0
  813. package/src/components/controls/card/number/Number.tsx +38 -0
  814. package/src/components/controls/card/number/index.ts +2 -0
  815. package/src/components/controls/card/number/use.tsx +25 -0
  816. package/src/components/controls/card/useCreditCardFormControl.tsx +38 -0
  817. package/src/components/controls/index.ts +2 -0
  818. package/src/components/form/Form.tsx +65 -0
  819. package/src/components/form/InputFieldsStack.tsx +42 -0
  820. package/src/components/form/Props.ts +13 -0
  821. package/src/components/form/index.ts +1 -0
  822. package/src/components/form/useFormStorage.tsx +31 -0
  823. package/src/components/img/american-express.svg +69 -0
  824. package/src/components/img/discover.svg +13 -0
  825. package/src/components/img/index.ts +4 -0
  826. package/src/components/img/mastercard.svg +16 -0
  827. package/src/components/img/visa.svg +1 -0
  828. package/src/components/index.ts +4 -0
  829. package/src/components/support/Fields.ts +3 -0
  830. package/src/components/support/InputError.ts +4 -0
  831. package/src/components/support/index.ts +3 -0
  832. package/src/components/support/validateCreditCardInputs.ts +17 -0
  833. package/src/context/FormGroupCreditCardContext.ts +6 -0
  834. package/src/context/FormGroupCreditCardProvider.tsx +23 -0
  835. package/src/context/index.ts +3 -0
  836. package/src/context/useFormGroupWithCreditCard.tsx +7 -0
  837. package/src/controls/CreditCardCvv.ts +84 -0
  838. package/src/controls/CreditCardExpiry.ts +88 -0
  839. package/src/controls/CreditCardNumber.ts +139 -0
  840. package/src/controls/Email.ts +47 -0
  841. package/src/controls/Name.ts +37 -0
  842. package/src/controls/Zip.ts +54 -0
  843. package/src/controls/index.ts +6 -0
  844. package/src/index.ts +5 -0
  845. package/src/models/CreditCardInput.ts +19 -0
  846. package/src/models/index.ts +1 -0
  847. package/src/stories/test.stories.tsx +20 -0
  848. package/src/types/images.d.ts +5 -0
  849. package/src/utils/index.ts +1 -0
  850. package/src/utils/umask.ts +3 -0
  851. package/typedoc.json +5 -0
@@ -0,0 +1,23 @@
1
+ import { CreditCardCvvFormControl } from '../../../../controls/index.js'
2
+ import { WithFormControlProps } from '../../WithFormControlProps.js'
3
+ import { FormControlTextField } from '../FormControlTextField.js'
4
+ import { useCreditCardCvvFormControl } from './use.js'
5
+
6
+ export const CreditCardCvvWithFormControl: React.FC<WithFormControlProps> = ({ formControlName = 'cvc', fieldLabel = 'CVC', ...props }) => {
7
+ const { creditCardFormControl, error, inputRef, value } = useCreditCardCvvFormControl(formControlName, undefined, CreditCardCvvFormControl)
8
+ const { autoComplete, autoCorrect, id, inputMode, name, spellCheck, ...cvcProps } = creditCardFormControl?.props ?? {}
9
+
10
+ return (
11
+ <FormControlTextField
12
+ fieldLabel={fieldLabel}
13
+ formControl={creditCardFormControl}
14
+ formControlError={error}
15
+ inputMode={inputMode}
16
+ inputProps={{ 'aria-label': `${fieldLabel} number on the back of your card`, autoComplete, autoCorrect, id, name, spellCheck }}
17
+ inputRef={inputRef}
18
+ value={value}
19
+ {...cvcProps}
20
+ {...props}
21
+ />
22
+ )
23
+ }
@@ -0,0 +1,2 @@
1
+ export * from './Cvv.js'
2
+ export * from './use.js'
@@ -0,0 +1,33 @@
1
+ import { StandardTextFieldProps } from '@mui/material'
2
+ import { FormControlBase } from '@xyo-network/react-form-group'
3
+ import { useEffect } from 'react'
4
+
5
+ import { useFormGroupWithCreditCardInput } from '../../../../context/index.js'
6
+ import { CreditCardCvvFormControl } from '../../../../controls/index.js'
7
+ import { useCreditCardFormControl } from '../useCreditCardFormControl.js'
8
+
9
+ export const useCreditCardCvvFormControl = (
10
+ formControlName?: string,
11
+ cardNumberControlName = 'cardNumber',
12
+ control?: new () => FormControlBase<StandardTextFieldProps>,
13
+ ) => {
14
+ const { creditCardFormControl, error, value, inputRef } = useCreditCardFormControl(formControlName, control)
15
+
16
+ // only use FormGroupContext when name is passed
17
+ const { formGroup } = useFormGroupWithCreditCardInput(!!formControlName)
18
+
19
+ const creditCardNumberFormControl = formGroup?.getControl?.(cardNumberControlName)
20
+
21
+ useEffect(() => {
22
+ if (creditCardNumberFormControl) {
23
+ const castControl = creditCardFormControl as CreditCardCvvFormControl
24
+ if (!castControl.setCardNumberFormControl) {
25
+ console.error('cannot setCardNumberFormControl on control because it is not a CreditCardCvvFormControl')
26
+ return
27
+ }
28
+ castControl.setCardNumberFormControl(creditCardNumberFormControl)
29
+ }
30
+ }, [creditCardFormControl, creditCardNumberFormControl])
31
+
32
+ return { creditCardFormControl, error, inputRef, value }
33
+ }
@@ -0,0 +1,9 @@
1
+ export * from './cvv/index.js'
2
+ export * from './Email.js'
3
+ export * from './Expiration.js'
4
+ export * from './FormControlTextField.js'
5
+ export * from './Name.js'
6
+ export * from './number/index.js'
7
+ export * from './Options.js'
8
+ export * from './useCreditCardFormControl.js'
9
+ export * from './Zip.js'
@@ -0,0 +1,38 @@
1
+ import { InputAdornment } from '@mui/material'
2
+
3
+ import { CreditCardNumberFormControl } from '../../../../controls/index.js'
4
+ import { WithFormControlProps } from '../../WithFormControlProps.js'
5
+ import { FormControlTextField } from '../FormControlTextField.js'
6
+ import { CreditCardData } from '../Options.js'
7
+ import { useCreditCardNumberFormControl } from './use.js'
8
+
9
+ export const CreditCardNumberWithFormControl: React.FC<WithFormControlProps> = ({
10
+ fieldLabel = 'Card Number',
11
+ formControlName = 'cardNumber',
12
+ ...props
13
+ }) => {
14
+ const { creditCardFormControl, error, inputRef, type, value } = useCreditCardNumberFormControl(formControlName, CreditCardNumberFormControl)
15
+ const { autoComplete, autoCorrect, id, inputMode, name, spellCheck, ...cardProps } = creditCardFormControl?.props ?? {}
16
+
17
+ return (
18
+ <FormControlTextField
19
+ fieldLabel={fieldLabel}
20
+ formControl={creditCardFormControl}
21
+ formControlError={error}
22
+ inputRef={inputRef}
23
+ inputMode={inputMode}
24
+ inputProps={{ 'aria-label': fieldLabel, autoComplete, autoCorrect, id, inputMode, name, spellCheck }}
25
+ InputProps={{
26
+ startAdornment:
27
+ type.length > 0 ?
28
+ <InputAdornment position="start">
29
+ <img height={'30px'} width={'40px'} src={CreditCardData[type].icon} />
30
+ </InputAdornment>
31
+ : null,
32
+ }}
33
+ value={value}
34
+ {...cardProps}
35
+ {...props}
36
+ />
37
+ )
38
+ }
@@ -0,0 +1,2 @@
1
+ export * from './Number.js'
2
+ export * from './use.js'
@@ -0,0 +1,25 @@
1
+ import { StandardTextFieldProps } from '@mui/material'
2
+ import { FormControlBase } from '@xyo-network/react-form-group'
3
+ import { useEffect, useState } from 'react'
4
+
5
+ import { CreditCardNumberFormControl } from '../../../../controls/index.js'
6
+ import { CreditCardOptions } from '../Options.js'
7
+ import { useCreditCardFormControl } from '../useCreditCardFormControl.js'
8
+
9
+ export const useCreditCardNumberFormControl = (formControlName?: string, control?: new () => FormControlBase<StandardTextFieldProps>) => {
10
+ const { creditCardFormControl, error, inputRef, value } = useCreditCardFormControl(formControlName, control)
11
+ const [type, setType] = useState('' as keyof CreditCardOptions)
12
+
13
+ useEffect(() => {
14
+ if (creditCardFormControl) {
15
+ const castInstance = creditCardFormControl as CreditCardNumberFormControl<StandardTextFieldProps>
16
+ if (!castInstance.onCreditCardTypeChange) {
17
+ console.error('cannot set onCreditCardTypeChange on control because it is not a CreditCardNumberFormControl')
18
+ return
19
+ }
20
+ castInstance.onCreditCardTypeChange = (type: string) => setType(type as keyof CreditCardOptions)
21
+ }
22
+ }, [creditCardFormControl, inputRef])
23
+
24
+ return { creditCardFormControl, error, inputRef, type, value }
25
+ }
@@ -0,0 +1,38 @@
1
+ import { StandardTextFieldProps } from '@mui/material'
2
+ import { FormControlBase, ValidControlValue } from '@xyo-network/react-form-group'
3
+ import { useMemo, useRef, useState } from 'react'
4
+
5
+ import { useFormGroupWithCreditCardInput } from '../../../context/index.js'
6
+
7
+ export const useCreditCardFormControl = (
8
+ formControlName?: string,
9
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
10
+ Control?: new (...args: any[]) => FormControlBase<StandardTextFieldProps>,
11
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
+ args: any[] = [],
13
+ ) => {
14
+ const [error, setError] = useState('')
15
+ const [value, setValue] = useState<ValidControlValue>('')
16
+ const inputRef = useRef<HTMLInputElement>(null)
17
+
18
+ // only use FormGroupContext when name is passed
19
+ const { formGroup } = useFormGroupWithCreditCardInput(!!formControlName)
20
+
21
+ const creditCardFormControl = useMemo(() => {
22
+ if (Control) {
23
+ const control = new Control(...args)
24
+ control.registerOnErrorChange((newError: string) => setError(newError))
25
+ control.registerOnChange((value: ValidControlValue) => setValue(value))
26
+ control.onCursorChange = (cursor: number | undefined) => {
27
+ if (inputRef.current && cursor) {
28
+ inputRef.current.setSelectionRange(cursor, cursor)
29
+ }
30
+ }
31
+
32
+ if (formControlName) formGroup?.registerControl(formControlName, control)
33
+ return control
34
+ }
35
+ }, [Control, args, formControlName, formGroup])
36
+
37
+ return { creditCardFormControl, error, inputRef, value }
38
+ }
@@ -0,0 +1,2 @@
1
+ export * from './card/index.js'
2
+ export * from './WithFormControlProps.js'
@@ -0,0 +1,65 @@
1
+ import { Stack } from '@mui/material'
2
+ import { FlexCol } from '@xylabs/react-flexbox'
3
+ import { ErrorRender } from '@xyo-network/react-error'
4
+
5
+ import { FormGroupCreditCardProvider, useFormGroupWithCreditCardInput } from '../../context/index.js'
6
+ import { validateCreditCardInputs } from '../support/index.js'
7
+ import { InputFieldsStack } from './InputFieldsStack.js'
8
+ import { CreditCardFormProps } from './Props.js'
9
+ import { useFormStorage } from './useFormStorage.js'
10
+
11
+ export const CreditCardFormFlexbox: React.FC<CreditCardFormProps> = ({
12
+ ConfirmationButton,
13
+ onFailedSubmit,
14
+ onSuccessfulSubmit,
15
+ onValidSubmit,
16
+ ...props
17
+ }) => {
18
+ const { formGroup } = useFormGroupWithCreditCardInput(true)
19
+
20
+ const handleConfirmPayment = async () => {
21
+ if (!formGroup) {
22
+ console.error('formGroup is not defined')
23
+ return
24
+ }
25
+
26
+ formGroup.validateFields()
27
+
28
+ const errorSummary = formGroup.errorSummary
29
+
30
+ if (errorSummary.invalidFields.length > 0) {
31
+ onFailedSubmit?.(errorSummary)
32
+ }
33
+
34
+ if (errorSummary.invalidFields.length > 0) return
35
+
36
+ const formOutput = validateCreditCardInputs(formGroup.values)
37
+
38
+ await onValidSubmit?.(formOutput)
39
+
40
+ onSuccessfulSubmit?.()
41
+ }
42
+
43
+ return (
44
+ <FlexCol sx={{ flexDirection: { md: 'row', xs: 'column' } }} width={'100%'} gap={2} {...props}>
45
+ <Stack flexDirection={'column'} sx={{ width: '100%' }} gap={2}>
46
+ <InputFieldsStack />
47
+ {ConfirmationButton ?
48
+ <ConfirmationButton onClick={handleConfirmPayment} variant="contained" sx={{ alignSelf: 'end' }}>
49
+ Confirm Payment
50
+ </ConfirmationButton>
51
+ : null}
52
+ </Stack>
53
+ </FlexCol>
54
+ )
55
+ }
56
+
57
+ export const CreditCardFormFlexboxWithFormGroupProvider: React.FC<CreditCardFormProps> = (props) => {
58
+ const [params, error] = useFormStorage()
59
+ return (
60
+ <FormGroupCreditCardProvider params={params}>
61
+ <ErrorRender error={error} />
62
+ <CreditCardFormFlexbox {...props} />
63
+ </FormGroupCreditCardProvider>
64
+ )
65
+ }
@@ -0,0 +1,42 @@
1
+ import { Stack, StackProps } from '@mui/material'
2
+ import { PropsWithChildren } from 'react'
3
+
4
+ import {
5
+ CreditCardCvvWithFormControl,
6
+ CreditCardEmailWithFormControl,
7
+ CreditCardExpirationWithFormControl,
8
+ CreditCardNumberWithFormControl,
9
+ CreditCardZipWithFormControl,
10
+ NameWithFormControl,
11
+ } from '../controls/index.js'
12
+
13
+ export interface InputFieldsStackProps extends StackProps, PropsWithChildren {}
14
+
15
+ export const InputFieldsStack: React.FC<InputFieldsStackProps> = (props) => {
16
+ const { sx } = props
17
+ return (
18
+ <>
19
+ <Stack gap={2} sx={{ flexDirection: { md: 'row', xs: 'column' }, ...sx }} {...props}>
20
+ <NameWithFormControl autoCompleteLabel="given-name" fieldLabel={'First'} formControlName={'firstName'} placeholder="Jerry" />
21
+ <NameWithFormControl autoCompleteLabel="family-name" fieldLabel={'Last'} formControlName={'lastName'} placeholder="Smith" />
22
+ </Stack>
23
+ <Stack gap={2} sx={{ flexDirection: { lg: 'row', xs: 'column' }, ...sx }} {...props}>
24
+ <Stack width={{ lg: '50%', xs: '100%' }}>
25
+ <CreditCardNumberWithFormControl />
26
+ </Stack>
27
+ <Stack direction={{ lg: 'row', xs: 'column' }} gap={2} width={{ lg: '50%', xs: '100%' }}>
28
+ <CreditCardCvvWithFormControl />
29
+ <CreditCardExpirationWithFormControl />
30
+ </Stack>
31
+ </Stack>
32
+ <Stack gap={2} sx={{ flexDirection: { md: 'row', xs: 'column' }, ...sx }} {...props}>
33
+ <Stack width={{ md: '25%', xs: '100%' }}>
34
+ <CreditCardZipWithFormControl />
35
+ </Stack>
36
+ <Stack width={{ md: '75%', xs: '100%' }}>
37
+ <CreditCardEmailWithFormControl />
38
+ </Stack>
39
+ </Stack>
40
+ </>
41
+ )
42
+ }
@@ -0,0 +1,13 @@
1
+ import { ButtonProps } from '@mui/material'
2
+ import { FlexBoxProps } from '@xylabs/react-flexbox'
3
+ import { ErrorSummary } from '@xyo-network/react-form-group'
4
+ import { ComponentType } from 'react'
5
+
6
+ import { CreditCardInput } from '../../models/index.js'
7
+
8
+ export interface CreditCardFormProps extends FlexBoxProps {
9
+ ConfirmationButton?: ComponentType<ButtonProps>
10
+ onFailedSubmit?: (errorSummary: ErrorSummary) => void
11
+ onSuccessfulSubmit?: () => void
12
+ onValidSubmit?: (values: CreditCardInput) => Promise<void>
13
+ }
@@ -0,0 +1 @@
1
+ export * from './Form.js'
@@ -0,0 +1,31 @@
1
+ import { usePromise } from '@xylabs/react-promise'
2
+ import { StorageArchivist, StorageArchivistConfigSchema } from '@xyo-network/archivist-storage'
3
+ import { ArchivistFormGroupStorage, FormGroupParams } from '@xyo-network/react-form-group'
4
+
5
+ import { CreditCardInput } from '../../models/index.js'
6
+
7
+ const StorageNameSpace = 'credit-card-fields'
8
+
9
+ const calculateTTL = (months = 6) => {
10
+ const MS_PER_DAY = 24 * 60 * 60 * 1000
11
+ const DAYS_PER_MONTH = 30.44
12
+ return months * DAYS_PER_MONTH * MS_PER_DAY
13
+ }
14
+
15
+ export const useFormStorage = () => {
16
+ return usePromise(async () => {
17
+ const localStorageArchivist = await StorageArchivist.create({
18
+ config: { namespace: StorageNameSpace, schema: StorageArchivistConfigSchema, type: 'local' },
19
+ })
20
+ const sessionStorageArchivist = await StorageArchivist.create({
21
+ config: { namespace: StorageNameSpace, schema: StorageArchivistConfigSchema, type: 'session' },
22
+ })
23
+
24
+ const storage = {
25
+ sensitive: new ArchivistFormGroupStorage(sessionStorageArchivist),
26
+ storage: new ArchivistFormGroupStorage(localStorageArchivist),
27
+ }
28
+
29
+ return { serialize: true, storage, ttlStorage: calculateTTL() } as FormGroupParams<CreditCardInput>
30
+ }, [])
31
+ }
@@ -0,0 +1,69 @@
1
+ <svg height="800px" width="800px" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
2
+ viewBox="0 0 512 512" xml:space="preserve">
3
+ <path style="fill:#306FC5;" d="M512,402.281c0,16.716-13.55,30.267-30.265,30.267H30.265C13.55,432.549,0,418.997,0,402.281V109.717
4
+ c0-16.715,13.55-30.266,30.265-30.266h451.47c16.716,0,30.265,13.551,30.265,30.266V402.281L512,402.281z"/>
5
+ <path style="opacity:0.15;fill:#202121;enable-background:new ;" d="M21.517,402.281V109.717
6
+ c0-16.715,13.552-30.266,30.267-30.266h-21.52C13.55,79.451,0,93.001,0,109.717v292.565c0,16.716,13.55,30.267,30.265,30.267h21.52
7
+ C35.07,432.549,21.517,418.997,21.517,402.281z"/>
8
+ <g>
9
+ <polygon style="fill:#FFFFFF;" points="74.59,220.748 89.888,220.748 82.241,201.278 "/>
10
+ <polygon style="fill:#FFFFFF;" points="155.946,286.107 155.946,295.148 181.675,295.148 181.675,304.885 155.946,304.885
11
+ 155.946,315.318 184.455,315.318 197.666,300.712 185.151,286.107 "/>
12
+ <polygon style="fill:#FFFFFF;" points="356.898,201.278 348.553,220.748 364.548,220.748 "/>
13
+ <polygon style="fill:#FFFFFF;" points="230.348,320.875 230.348,281.241 212.268,300.712 "/>
14
+ <path style="fill:#FFFFFF;" d="M264.42,292.368c-0.696-4.172-3.48-6.261-7.654-6.261h-14.599v12.516h15.299
15
+ C261.637,298.624,264.42,296.539,264.42,292.368z"/>
16
+ <path style="fill:#FFFFFF;" d="M313.09,297.236c1.391-0.697,2.089-2.785,2.089-4.867c0.696-2.779-0.698-4.172-2.089-4.868
17
+ c-1.387-0.696-3.476-0.696-5.559-0.696h-13.91v11.127h13.909C309.613,297.932,311.702,297.932,313.09,297.236z"/>
18
+ <path style="fill:#FFFFFF;" d="M413.217,183.198v8.344l-4.169-8.344H376.37v8.344l-4.174-8.344h-44.502
19
+ c-7.648,0-13.909,1.392-19.469,4.173v-4.173h-31.289v0.696v3.477c-3.476-2.78-7.648-4.173-13.211-4.173h-111.95l-7.652,17.384
20
+ l-7.647-17.384h-25.031h-10.431v8.344l-3.477-8.344h-0.696H66.942l-13.909,32.68L37.042,251.34l-0.294,0.697h0.294h35.463h0.444
21
+ l0.252-0.697l4.174-10.428h9.039l4.172,11.125h40.326v-0.697v-7.647l3.479,8.343h20.163l3.475-8.343v7.647v0.697h15.993h79.965
22
+ h0.696v-18.08h1.394c1.389,0,1.389,0,1.389,2.087v15.297h50.065v-4.172c4.172,2.089,10.426,4.172,18.771,4.172h20.863l4.172-11.123
23
+ h9.732l4.172,11.123h40.328v-6.952v-3.476l6.261,10.428h1.387h0.698h30.595v-68.143h-31.291l0,0H413.217z M177.501,241.609h-6.955
24
+ h-4.171v-4.169v-34.076l-0.696,1.595v-0.019l-16.176,36.669h-0.512h-3.719h-6.017l-16.687-38.245v38.245h-23.64l-4.867-10.43
25
+ H70.417l-4.868,10.43H53.326l20.57-48.675h17.382l19.469,46.587v-46.587h4.171h14.251l0.328,0.697h0.024l8.773,19.094l6.3,14.306
26
+ l0.223-0.721l13.906-33.375H177.5v48.674H177.501L177.501,241.609z M225.481,203.364h-27.119v9.039h26.423v9.734h-26.423v9.738
27
+ h27.119v10.427h-38.939v-49.367h38.939V203.364L225.481,203.364z M275.076,221.294c0.018,0.016,0.041,0.027,0.063,0.042
28
+ c0.263,0.278,0.488,0.557,0.68,0.824c1.332,1.746,2.409,4.343,2.463,8.151c0.004,0.066,0.007,0.131,0.011,0.197
29
+ c0,0.038,0.007,0.071,0.007,0.11c0,0.022-0.002,0.039-0.002,0.06c0.016,0.383,0.026,0.774,0.026,1.197v9.735h-10.428v-5.565
30
+ c0-2.781,0-6.954-2.089-9.735c-0.657-0.657-1.322-1.09-2.046-1.398c-1.042-0.675-3.017-0.686-6.295-0.686h-12.52v17.384h-11.818
31
+ v-48.675h26.425c6.254,0,10.428,0,13.906,2.086c3.407,2.046,5.465,5.439,5.543,10.812c-0.161,7.4-4.911,11.46-8.326,12.829
32
+ C270.676,218.662,272.996,219.129,275.076,221.294z M298.491,241.609h-11.822v-48.675h11.822V241.609z M434.083,241.609h-15.3
33
+ l-22.25-36.855v30.595l-0.073-0.072v6.362h-11.747v-0.029h-11.822l-4.172-10.43H344.38l-4.172,11.123h-13.211
34
+ c-5.559,0-12.517-1.389-16.687-5.561c-4.172-4.172-6.256-9.735-6.256-18.773c0-6.953,1.389-13.911,6.256-19.472
35
+ c3.474-4.175,9.735-5.562,17.382-5.562h11.128v10.429h-11.128c-4.172,0-6.254,0.693-9.041,2.783
36
+ c-2.082,2.085-3.474,6.256-3.474,11.123c0,5.564,0.696,9.04,3.474,11.821c2.091,2.089,4.87,2.785,8.346,2.785h4.867l15.991-38.243
37
+ h6.957h10.428l19.472,46.587v-2.376v-15.705v-1.389v-27.116h17.382l20.161,34.07v-34.07h11.826v47.977h0.002L434.083,241.609
38
+ L434.083,241.609z"/>
39
+ <path style="fill:#FFFFFF;" d="M265.161,213.207c0.203-0.217,0.387-0.463,0.543-0.745c0.63-0.997,1.352-2.793,0.963-5.244
40
+ c-0.016-0.225-0.057-0.433-0.105-0.634c-0.013-0.056-0.011-0.105-0.026-0.161l-0.007,0.001c-0.346-1.191-1.229-1.923-2.11-2.367
41
+ c-1.394-0.693-3.48-0.693-5.565-0.693h-13.909v11.127h13.909c2.085,0,4.172,0,5.565-0.697c0.209-0.106,0.395-0.25,0.574-0.413
42
+ l0.002,0.009C264.996,213.389,265.067,213.315,265.161,213.207z"/>
43
+ <path style="fill:#FFFFFF;" d="M475.105,311.144c0-4.867-1.389-9.736-3.474-13.212v-31.289h-0.032v-2.089c0,0-29.145,0-33.483,0
44
+ c-4.336,0-9.598,4.171-9.598,4.171v-4.171h-31.984c-4.87,0-11.124,1.392-13.909,4.171v-4.171h-57.016v2.089v2.081
45
+ c-4.169-3.474-11.824-4.171-15.298-4.171h-37.549v2.089v2.081c-3.476-3.474-11.824-4.171-15.998-4.171H215.05l-9.737,10.431
46
+ l-9.04-10.431h-2.911h-4.737h-54.93v2.089v5.493v62.651h61.19l10.054-10.057l8.715,10.057h0.698h35.258h1.598h0.696h0.692v-6.953
47
+ v-9.039h3.479c4.863,0,11.124,0,15.991-2.089v17.382v1.394h31.291v-1.394V317.4h1.387c2.089,0,2.089,0,2.089,2.086v14.6v1.394
48
+ h94.563c6.263,0,12.517-1.394,15.993-4.175v2.781v1.394h29.902c6.254,0,12.517-0.695,16.689-3.478
49
+ c6.402-3.841,10.437-10.64,11.037-18.749c0.028-0.24,0.063-0.48,0.085-0.721l-0.041-0.039
50
+ C475.087,312.043,475.105,311.598,475.105,311.144z M256.076,306.973h-13.91v2.081v4.174v4.173v7.649h-22.855l-13.302-15.299
51
+ l-0.046,0.051l-0.65-0.748l-15.297,15.996h-44.501v-48.673h45.197l12.348,13.525l2.596,2.832l0.352-0.365l14.604-15.991h36.852
52
+ c7.152,0,15.161,1.765,18.196,9.042c0.365,1.441,0.577,3.043,0.577,4.863C276.237,304.189,266.502,306.973,256.076,306.973z
53
+ M325.609,306.276c1.389,2.081,2.085,4.867,2.085,9.041v9.732h-11.819v-6.256c0-2.786,0-7.65-2.089-9.739
54
+ c-1.387-2.081-4.172-2.081-8.341-2.081H292.93v18.077h-11.82v-49.369h26.421c5.559,0,10.426,0,13.909,2.084
55
+ c3.474,2.088,6.254,5.565,6.254,11.128c0,7.647-4.865,11.819-8.343,13.212C322.829,303.49,324.914,304.885,325.609,306.276z
56
+ M373.589,286.107h-27.122v9.04h26.424v9.737h-26.424v9.736h27.122v10.429H334.65V275.68h38.939V286.107z M402.791,325.05h-22.252
57
+ v-10.429h22.252c2.082,0,3.476,0,4.87-1.392c0.696-0.697,1.387-2.085,1.387-3.477c0-1.394-0.691-2.778-1.387-3.475
58
+ c-0.698-0.695-2.091-1.391-4.176-1.391c-11.126-0.696-24.337,0-24.337-15.296c0-6.954,4.172-14.604,16.689-14.604h22.945v11.819
59
+ h-21.554c-2.085,0-3.478,0-4.87,0.696c-1.387,0.697-1.387,2.089-1.387,3.478c0,2.087,1.387,2.783,2.778,3.473
60
+ c1.394,0.697,2.783,0.697,4.172,0.697h6.259c6.259,0,10.43,1.391,13.211,4.173c2.087,2.087,3.478,5.564,3.478,10.43
61
+ C420.869,320.179,414.611,325.05,402.791,325.05z M462.59,320.179c-2.778,2.785-7.648,4.871-14.604,4.871H425.74v-10.429h22.245
62
+ c2.087,0,3.481,0,4.87-1.392c0.693-0.697,1.391-2.085,1.391-3.477c0-1.394-0.698-2.778-1.391-3.475
63
+ c-0.696-0.695-2.085-1.391-4.172-1.391c-11.122-0.696-24.337,0-24.337-15.295c0-6.609,3.781-12.579,13.106-14.352
64
+ c1.115-0.154,2.293-0.253,3.583-0.253h22.948v11.819h-15.3h-5.561h-0.696c-2.087,0-3.476,0-4.865,0.696
65
+ c-0.7,0.697-1.396,2.089-1.396,3.478c0,2.087,0.696,2.783,2.785,3.473c1.389,0.697,2.78,0.697,4.172,0.697h0.691h5.565
66
+ c3.039,0,5.337,0.375,7.44,1.114c1.926,0.697,8.302,3.549,9.728,10.994c0.124,0.78,0.215,1.594,0.215,2.495
67
+ C466.761,313.925,465.37,317.401,462.59,320.179z"/>
68
+ </g>
69
+ </svg>
@@ -0,0 +1,13 @@
1
+ <svg width="800px" height="800px" viewBox="0 -140 780 780" xmlns="http://www.w3.org/2000/svg">
2
+
3
+ <g fill-rule="evenodd">
4
+
5
+ <path d="M54.992 0C24.627 0 0 24.63 0 55.004v390.992C0 476.376 24.619 501 54.992 501h670.016C755.373 501 780 476.37 780 445.996V55.004C780 24.624 755.381 0 725.008 0H54.992z" fill="#4D4D4D"/>
6
+
7
+ <path d="M327.152 161.893c8.837 0 16.248 1.784 25.268 6.09v22.751c-8.544-7.863-15.955-11.154-25.756-11.154-19.264 0-34.414 15.015-34.414 34.05 0 20.075 14.681 34.196 35.37 34.196 9.312 0 16.586-3.12 24.8-10.857v22.763c-9.341 4.14-16.911 5.776-25.756 5.776-31.278 0-55.582-22.596-55.582-51.737 0-28.826 24.951-51.878 56.07-51.878zm-97.113.627c11.546 0 22.11 3.72 30.943 10.994l-10.748 13.248c-5.35-5.646-10.41-8.028-16.564-8.028-8.853 0-15.3 4.745-15.3 10.989 0 5.354 3.619 8.188 15.944 12.482 23.365 8.044 30.29 15.176 30.29 30.926 0 19.193-14.976 32.553-36.32 32.553-15.63 0-26.994-5.795-36.458-18.872l13.268-12.03c4.73 8.61 12.622 13.222 22.42 13.222 9.163 0 15.947-5.952 15.947-13.984 0-4.164-2.055-7.734-6.158-10.258-2.066-1.195-6.158-2.977-14.2-5.647-19.291-6.538-25.91-13.527-25.91-27.185 0-16.225 14.214-28.41 32.846-28.41zm234.723 1.728h22.437l28.084 66.592 28.446-66.592h22.267l-45.494 101.686h-11.053l-44.687-101.686zm-397.348.152h30.15c33.312 0 56.534 20.382 56.534 49.641 0 14.59-7.104 28.696-19.118 38.057-10.108 7.901-21.626 11.445-37.574 11.445H67.414V164.4zm96.135 0h20.54v99.143h-20.54V164.4zm411.734 0h58.252v16.8H595.81v22.005h36.336v16.791h-36.336v26.762h37.726v16.785h-58.252V164.4zm71.858 0h30.455c23.69 0 37.265 10.71 37.265 29.272 0 15.18-8.514 25.14-23.986 28.105l33.148 41.766h-25.26l-28.429-39.828h-2.678v39.828h-20.515V164.4zm20.515 15.616v30.025h6.002c13.117 0 20.069-5.362 20.069-15.328 0-9.648-6.954-14.697-19.745-14.697h-6.326zM87.94 181.199v65.559h5.512c13.273 0 21.656-2.394 28.11-7.88 7.103-5.955 11.376-15.465 11.376-24.98 0-9.499-4.273-18.725-11.376-24.681-6.785-5.78-14.837-8.018-28.11-8.018H87.94z" fill="#FFF"/>
8
+
9
+ <path d="m415.13 161.21c30.941 0 56.022 23.58 56.022 52.709v0.033c0 29.13-25.081 52.742-56.021 52.742s-56.022-23.613-56.022-52.742v-0.033c0-29.13 25.082-52.71 56.022-52.71zm364.85 127.15c-26.05 18.33-221.08 149.34-558.75 212.62h503.76c30.365 0 54.992-24.63 54.992-55.004v-157.62z" fill="#F47216"/>
10
+
11
+ </g>
12
+
13
+ </svg>
@@ -0,0 +1,4 @@
1
+ export { default as AmexIcon } from './american-express.svg'
2
+ export { default as DiscoverIcon } from './discover.svg'
3
+ export { default as MastercardIcon } from './mastercard.svg'
4
+ export { default as VisaIcon } from './visa.svg'
@@ -0,0 +1,16 @@
1
+ <svg width="800px" height="800px" viewBox="0 -28.5 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid">
2
+ <g>
3
+ <path d="M46.5392504,198.011312 L46.5392504,184.839826 C46.5392504,179.790757 43.4659038,176.497885 38.1973096,176.497885 C35.5630125,176.497885 32.7091906,177.375984 30.7334678,180.229806 C29.1967945,177.815034 27.0015469,176.497885 23.7086756,176.497885 C21.513428,176.497885 19.3181804,177.15646 17.5619824,179.571233 L17.5619824,176.936935 L12.9519625,176.936935 L12.9519625,198.011312 L17.5619824,198.011312 L17.5619824,186.3765 C17.5619824,182.644579 19.5377052,180.888381 22.6110518,180.888381 C25.6843984,180.888381 27.2210717,182.864103 27.2210717,186.3765 L27.2210717,198.011312 L31.8310916,198.011312 L31.8310916,186.3765 C31.8310916,182.644579 34.0263392,180.888381 36.880161,180.888381 C39.9535076,180.888381 41.490181,182.864103 41.490181,186.3765 L41.490181,198.011312 L46.5392504,198.011312 L46.5392504,198.011312 Z M114.81145,176.936935 L107.347608,176.936935 L107.347608,170.570717 L102.737589,170.570717 L102.737589,176.936935 L98.566618,176.936935 L98.566618,181.107905 L102.737589,181.107905 L102.737589,190.766995 C102.737589,195.59654 104.713311,198.450362 109.981906,198.450362 C111.957628,198.450362 114.152876,197.791787 115.689549,196.913688 L114.372401,192.962243 C113.055252,193.840341 111.518579,194.059866 110.420955,194.059866 C108.225708,194.059866 107.347608,192.742718 107.347608,190.54747 L107.347608,181.107905 L114.81145,181.107905 L114.81145,176.936935 L114.81145,176.936935 Z M153.886857,176.497885 C151.25256,176.497885 149.496362,177.815034 148.398738,179.571233 L148.398738,176.936935 L143.788718,176.936935 L143.788718,198.011312 L148.398738,198.011312 L148.398738,186.156975 C148.398738,182.644579 149.935411,180.668856 152.789233,180.668856 C153.667332,180.668856 154.764956,180.888381 155.643055,181.107905 L156.960204,176.71741 C156.082105,176.497885 154.764956,176.497885 153.886857,176.497885 L153.886857,176.497885 L153.886857,176.497885 Z M94.834697,178.693133 C92.6394495,177.15646 89.566103,176.497885 86.2732315,176.497885 C81.0046375,176.497885 77.492241,179.132183 77.492241,183.303153 C77.492241,186.81555 80.1265385,188.791272 84.736558,189.449847 L86.931806,189.669371 C89.346578,190.10842 90.6637265,190.766995 90.6637265,191.864619 C90.6637265,193.401292 88.9075285,194.498916 85.834182,194.498916 C82.7608355,194.498916 80.346063,193.401292 78.8093895,192.303668 L76.614142,195.816065 C79.0289145,197.572262 82.321786,198.450362 85.614657,198.450362 C91.7613505,198.450362 95.2737465,195.59654 95.2737465,191.645094 C95.2737465,187.913173 92.4199245,185.937451 88.0294295,185.278876 L85.834182,185.059351 C83.858459,184.839826 82.321786,184.400777 82.321786,183.083629 C82.321786,181.546955 83.858459,180.668856 86.2732315,180.668856 C88.9075285,180.668856 91.5418255,181.76648 92.858974,182.425054 L94.834697,178.693133 L94.834697,178.693133 Z M217.329512,176.497885 C214.695215,176.497885 212.939017,177.815034 211.841393,179.571233 L211.841393,176.936935 L207.231373,176.936935 L207.231373,198.011312 L211.841393,198.011312 L211.841393,186.156975 C211.841393,182.644579 213.378066,180.668856 216.231888,180.668856 C217.109987,180.668856 218.207611,180.888381 219.08571,181.107905 L220.402859,176.71741 C219.52476,176.497885 218.207611,176.497885 217.329512,176.497885 L217.329512,176.497885 L217.329512,176.497885 Z M158.496877,187.474123 C158.496877,193.840341 162.887372,198.450362 169.69264,198.450362 C172.765986,198.450362 174.961234,197.791787 177.156481,196.035589 L174.961234,192.303668 C173.205036,193.620817 171.448838,194.279391 169.473115,194.279391 C165.741194,194.279391 163.106897,191.645094 163.106897,187.474123 C163.106897,183.522678 165.741194,180.888381 169.473115,180.668856 C171.448838,180.668856 173.205036,181.32743 174.961234,182.644579 L177.156481,178.912658 C174.961234,177.15646 172.765986,176.497885 169.69264,176.497885 C162.887372,176.497885 158.496877,181.107905 158.496877,187.474123 L158.496877,187.474123 L158.496877,187.474123 Z M201.08468,187.474123 L201.08468,176.936935 L196.47466,176.936935 L196.47466,179.571233 C194.937987,177.595509 192.742739,176.497885 189.888917,176.497885 C183.961749,176.497885 179.351729,181.107905 179.351729,187.474123 C179.351729,193.840341 183.961749,198.450362 189.888917,198.450362 C192.962264,198.450362 195.157512,197.352737 196.47466,195.377015 L196.47466,198.011312 L201.08468,198.011312 L201.08468,187.474123 Z M184.181274,187.474123 C184.181274,183.742202 186.596046,180.668856 190.547492,180.668856 C194.279413,180.668856 196.91371,183.522678 196.91371,187.474123 C196.91371,191.206044 194.279413,194.279391 190.547492,194.279391 C186.596046,194.059866 184.181274,191.206044 184.181274,187.474123 L184.181274,187.474123 Z M129.080559,176.497885 C122.933866,176.497885 118.543371,180.888381 118.543371,187.474123 C118.543371,194.059866 122.933866,198.450362 129.300084,198.450362 C132.373431,198.450362 135.446777,197.572262 137.861549,195.59654 L135.666302,192.303668 C133.910104,193.620817 131.714856,194.498916 129.519609,194.498916 C126.665787,194.498916 123.811965,193.181768 123.153391,189.449847 L138.739648,189.449847 L138.739648,187.693648 C138.959173,180.888381 135.007727,176.497885 129.080559,176.497885 L129.080559,176.497885 L129.080559,176.497885 Z M129.080559,180.449331 C131.934381,180.449331 133.910104,182.20553 134.349153,185.498401 L123.372916,185.498401 C123.811965,182.644579 125.787688,180.449331 129.080559,180.449331 L129.080559,180.449331 Z M243.452958,187.474123 L243.452958,168.594995 L238.842938,168.594995 L238.842938,179.571233 C237.306265,177.595509 235.111017,176.497885 232.257196,176.497885 C226.330027,176.497885 221.720007,181.107905 221.720007,187.474123 C221.720007,193.840341 226.330027,198.450362 232.257196,198.450362 C235.330542,198.450362 237.52579,197.352737 238.842938,195.377015 L238.842938,198.011312 L243.452958,198.011312 L243.452958,187.474123 Z M226.549552,187.474123 C226.549552,183.742202 228.964324,180.668856 232.91577,180.668856 C236.647691,180.668856 239.281988,183.522678 239.281988,187.474123 C239.281988,191.206044 236.647691,194.279391 232.91577,194.279391 C228.964324,194.059866 226.549552,191.206044 226.549552,187.474123 L226.549552,187.474123 Z M72.443172,187.474123 L72.443172,176.936935 L67.833152,176.936935 L67.833152,179.571233 C66.2964785,177.595509 64.101231,176.497885 61.247409,176.497885 C55.3202405,176.497885 50.7102205,181.107905 50.7102205,187.474123 C50.7102205,193.840341 55.3202405,198.450362 61.247409,198.450362 C64.3207555,198.450362 66.5160035,197.352737 67.833152,195.377015 L67.833152,198.011312 L72.443172,198.011312 L72.443172,187.474123 Z M55.3202405,187.474123 C55.3202405,183.742202 57.735013,180.668856 61.6864585,180.668856 C65.4183795,180.668856 68.0526765,183.522678 68.0526765,187.474123 C68.0526765,191.206044 65.4183795,194.279391 61.6864585,194.279391 C57.735013,194.059866 55.3202405,191.206044 55.3202405,187.474123 Z" fill="#000000">
4
+
5
+ </path>
6
+ <rect fill="#FF5F00" x="93.2980455" y="16.9034088" width="69.1502985" height="124.251009">
7
+
8
+ </rect>
9
+ <path d="M97.688519,79.0288935 C97.688519,53.783546 109.542856,31.3920209 127.763411,16.9033869 C114.3724,6.3661985 97.468994,-1.94737475e-05 79.0289145,-1.94737475e-05 C35.3434877,-1.94737475e-05 1.7258174e-06,35.3434665 1.7258174e-06,79.0288935 C1.7258174e-06,122.71432 35.3434877,158.057806 79.0289145,158.057806 C97.468994,158.057806 114.3724,151.691588 127.763411,141.1544 C109.542856,126.88529 97.688519,104.274241 97.688519,79.0288935 Z" fill="#EB001B">
10
+
11
+ </path>
12
+ <path d="M255.746345,79.0288935 C255.746345,122.71432 220.402859,158.057806 176.717432,158.057806 C158.277352,158.057806 141.373945,151.691588 127.982936,141.1544 C146.423015,126.665766 158.057827,104.274241 158.057827,79.0288935 C158.057827,53.783546 146.20349,31.3920209 127.982936,16.9033869 C141.373945,6.3661985 158.277352,-1.94737475e-05 176.717432,-1.94737475e-05 C220.402859,-1.94737475e-05 255.746345,35.5629913 255.746345,79.0288935 Z" fill="#F79E1B">
13
+
14
+ </path>
15
+ </g>
16
+ </svg>
@@ -0,0 +1 @@
1
+ <svg width="800px" height="800px" viewBox="0 -140 780 780" enable-background="new 0 0 780 500" version="1.1" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="M40,0h700c22.092,0,40,17.909,40,40v420c0,22.092-17.908,40-40,40H40c-22.091,0-40-17.908-40-40V40 C0,17.909,17.909,0,40,0z" fill="#0E4595"/><path d="m293.2 348.73l33.361-195.76h53.36l-33.385 195.76h-53.336zm246.11-191.54c-10.57-3.966-27.137-8.222-47.822-8.222-52.725 0-89.865 26.55-90.18 64.603-0.299 28.13 26.514 43.822 46.752 53.186 20.771 9.595 27.752 15.714 27.654 24.283-0.131 13.121-16.586 19.116-31.922 19.116-21.357 0-32.703-2.967-50.227-10.276l-6.876-3.11-7.489 43.823c12.463 5.464 35.51 10.198 59.438 10.443 56.09 0 92.5-26.246 92.916-66.882 0.199-22.269-14.016-39.216-44.801-53.188-18.65-9.055-30.072-15.099-29.951-24.268 0-8.137 9.668-16.839 30.557-16.839 17.449-0.27 30.09 3.535 39.938 7.5l4.781 2.26 7.232-42.429m137.31-4.223h-41.232c-12.773 0-22.332 3.487-27.941 16.234l-79.244 179.4h56.031s9.16-24.123 11.232-29.418c6.125 0 60.555 0.084 68.338 0.084 1.596 6.853 6.49 29.334 6.49 29.334h49.514l-43.188-195.64zm-65.418 126.41c4.412-11.279 21.26-54.723 21.26-54.723-0.316 0.522 4.379-11.334 7.074-18.684l3.605 16.879s10.219 46.729 12.354 56.528h-44.293zm-363.3-126.41l-52.24 133.5-5.567-27.13c-9.725-31.273-40.025-65.155-73.898-82.118l47.766 171.2 56.456-0.064 84.004-195.39h-56.521" fill="#ffffff"/><path d="m146.92 152.96h-86.041l-0.681 4.073c66.938 16.204 111.23 55.363 129.62 102.41l-18.71-89.96c-3.23-12.395-12.597-16.094-24.186-16.527" fill="#F2AE14"/></svg>
@@ -0,0 +1,4 @@
1
+ export * from './controls/index.js'
2
+ export * from './form/index.js'
3
+ export * from './img/index.js'
4
+ export * from './support/index.js'
@@ -0,0 +1,3 @@
1
+ export const NameFields = ['firstName', 'lastName'] as const
2
+ export const NameLabels = ['First', 'Last'] as const
3
+ export type NameLabel = (typeof NameLabels)[number]
@@ -0,0 +1,4 @@
1
+ export type InputError = {
2
+ errorMessage: string
3
+ invalidFields: string[]
4
+ }
@@ -0,0 +1,3 @@
1
+ export * from './Fields.js'
2
+ export * from './InputError.js'
3
+ export * from './validateCreditCardInputs.js'
@@ -0,0 +1,17 @@
1
+ import { assertEx } from '@xylabs/assert'
2
+
3
+ import { CreditCardInput, CreditCardInputSchema } from '../../models/index.js'
4
+
5
+ export const validateCreditCardInputs = (values: CreditCardInput): CreditCardInput => {
6
+ return {
7
+ cardNumber: assertEx(values.cardNumber, () => 'card number is not a string') as string,
8
+ cvc: assertEx(values.cvc, () => 'card cvc is not a string') as string,
9
+ emailAddress: assertEx(values.emailAddress, () => 'email is not a string') as string,
10
+ expiration: assertEx(values.expiration, () => 'card expiration is not a string') as string,
11
+ firstName: assertEx(values.firstName, () => 'first name is not a string') as string,
12
+ lastName: assertEx(values.lastName, () => 'last name is not a string') as string,
13
+ schema: CreditCardInputSchema,
14
+ timestamp: assertEx(values.timestamp, () => 'timestamp is not a number') as number,
15
+ zip: assertEx(values.zip, () => 'zip is not a string') as string,
16
+ }
17
+ }
@@ -0,0 +1,6 @@
1
+ import { FormGroupContextWithPayloadState } from '@xyo-network/react-form-group'
2
+ import { createContextEx } from '@xyo-network/react-shared'
3
+
4
+ import { CreditCardInput } from '../models/index.js'
5
+
6
+ export const FormGroupCreditCardContext = createContextEx<FormGroupContextWithPayloadState<CreditCardInput, CreditCardInput>>()
@@ -0,0 +1,23 @@
1
+ import { Payload } from '@xyo-network/payload-model'
2
+ import { FormGroup, FormGroupParams } from '@xyo-network/react-form-group'
3
+ import { PropsWithChildren, useMemo } from 'react'
4
+
5
+ import { CreditCardInput } from '../models/CreditCardInput.js'
6
+ import { FormGroupCreditCardContext } from './FormGroupCreditCardContext.js'
7
+
8
+ export interface FormGroupCreditCardProviderProps<TStorage extends Payload = Payload> extends PropsWithChildren {
9
+ params?: FormGroupParams<TStorage>
10
+ }
11
+
12
+ export const FormGroupCreditCardProvider: React.FC<FormGroupCreditCardProviderProps<CreditCardInput>> = ({ children, params, ...props }) => {
13
+ const formGroup = useMemo(() => {
14
+ const formGroup = new FormGroup<CreditCardInput, CreditCardInput>(params)
15
+ return formGroup
16
+ }, [params])
17
+
18
+ return (
19
+ <FormGroupCreditCardContext.Provider value={{ formGroup, provided: true }} {...props}>
20
+ {children}
21
+ </FormGroupCreditCardContext.Provider>
22
+ )
23
+ }
@@ -0,0 +1,3 @@
1
+ export * from './FormGroupCreditCardContext.js'
2
+ export * from './FormGroupCreditCardProvider.jsx'
3
+ export * from './useFormGroupWithCreditCard.jsx'
@@ -0,0 +1,7 @@
1
+ import { useContextEx } from '@xyo-network/react-shared'
2
+
3
+ import { FormGroupCreditCardContext } from './FormGroupCreditCardContext.js'
4
+
5
+ export const useFormGroupWithCreditCardInput = (required = false) => {
6
+ return useContextEx(FormGroupCreditCardContext, 'FormGroupCreditCard', required)
7
+ }