@multiplatform.one/web3 7.23.1 → 7.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (431) hide show
  1. package/README.md +150 -11
  2. package/dist/cjs/clients/evm.cjs +299 -11
  3. package/dist/cjs/clients/evm.native.js +500 -12
  4. package/dist/cjs/clients/evm.native.js.map +1 -1
  5. package/dist/cjs/clients/index.cjs +5 -0
  6. package/dist/cjs/clients/index.native.js +5 -0
  7. package/dist/cjs/clients/index.native.js.map +1 -1
  8. package/dist/cjs/clients/solana.cjs +39 -21
  9. package/dist/cjs/clients/solana.native.js +48 -23
  10. package/dist/cjs/clients/solana.native.js.map +1 -1
  11. package/dist/cjs/connectkit/GpgProvider.cjs +44 -0
  12. package/dist/cjs/connectkit/GpgProvider.native.js +51 -0
  13. package/dist/cjs/connectkit/GpgProvider.native.js.map +1 -0
  14. package/dist/cjs/connectkit/adapters/BitcoinAdapter.cjs +5 -14
  15. package/dist/cjs/connectkit/adapters/BitcoinAdapter.native.js +5 -15
  16. package/dist/cjs/connectkit/adapters/BitcoinAdapter.native.js.map +1 -1
  17. package/dist/cjs/connectkit/adapters/EthereumAdapter.cjs +6 -15
  18. package/dist/cjs/connectkit/adapters/EthereumAdapter.native.js +7 -16
  19. package/dist/cjs/connectkit/adapters/EthereumAdapter.native.js.map +1 -1
  20. package/dist/cjs/connectkit/adapters/SolanaAdapter.cjs +5 -14
  21. package/dist/cjs/connectkit/adapters/SolanaAdapter.native.js +5 -15
  22. package/dist/cjs/connectkit/adapters/SolanaAdapter.native.js.map +1 -1
  23. package/dist/cjs/connectkit/adapters/SuiAdapter.cjs +5 -14
  24. package/dist/cjs/connectkit/adapters/SuiAdapter.native.js +5 -15
  25. package/dist/cjs/connectkit/adapters/SuiAdapter.native.js.map +1 -1
  26. package/dist/cjs/connectkit/connectors/createWalletMessage.cjs +2 -2
  27. package/dist/cjs/connectkit/connectors/createWalletMessage.native.js +2 -2
  28. package/dist/cjs/connectkit/connectors/createWalletMessage.native.js.map +1 -1
  29. package/dist/cjs/connectkit/index.cjs +4 -3
  30. package/dist/cjs/connectkit/index.native.js +4 -3
  31. package/dist/cjs/connectkit/index.native.js.map +1 -1
  32. package/dist/cjs/connectkit/siwe/SIWEContext.native.js.map +1 -1
  33. package/dist/cjs/connectkit/siwe/SIWEProvider.cjs +18 -3
  34. package/dist/cjs/connectkit/siwe/SIWEProvider.native.js +18 -3
  35. package/dist/cjs/connectkit/siwe/SIWEProvider.native.js.map +1 -1
  36. package/dist/cjs/index.cjs +1 -0
  37. package/dist/cjs/index.native.js +1 -0
  38. package/dist/cjs/index.native.js.map +1 -1
  39. package/dist/cjs/keycloak/KeycloakWalletLogin.cjs +255 -0
  40. package/dist/cjs/keycloak/KeycloakWalletLogin.native.js +33 -0
  41. package/dist/cjs/keycloak/KeycloakWalletLogin.native.js.map +1 -0
  42. package/dist/cjs/keycloak/browserFlow.cjs +83 -0
  43. package/dist/cjs/keycloak/browserFlow.native.js +90 -0
  44. package/dist/cjs/keycloak/browserFlow.native.js.map +1 -0
  45. package/dist/cjs/keycloak/device.cjs +36 -0
  46. package/dist/cjs/keycloak/device.native.js +45 -0
  47. package/dist/cjs/keycloak/device.native.js.map +1 -0
  48. package/dist/cjs/keycloak/directGrant.cjs +189 -0
  49. package/dist/cjs/keycloak/directGrant.native.js +233 -0
  50. package/dist/cjs/keycloak/directGrant.native.js.map +1 -0
  51. package/dist/cjs/keycloak/iife.cjs +4 -0
  52. package/dist/cjs/keycloak/iife.native.js +7 -0
  53. package/dist/cjs/keycloak/iife.native.js.map +1 -0
  54. package/dist/cjs/keycloak/index.cjs +53 -0
  55. package/dist/cjs/keycloak/index.native.js +56 -0
  56. package/dist/cjs/keycloak/index.native.js.map +1 -0
  57. package/dist/cjs/keycloak/keycloakWallet.cjs +214 -0
  58. package/dist/cjs/keycloak/keycloakWallet.native.js +285 -0
  59. package/dist/cjs/keycloak/keycloakWallet.native.js.map +1 -0
  60. package/dist/cjs/keycloak/mount.cjs +53 -0
  61. package/dist/cjs/keycloak/mount.native.js +33 -0
  62. package/dist/cjs/keycloak/mount.native.js.map +1 -0
  63. package/dist/cjs/keycloak/registerWallet.cjs +74 -0
  64. package/dist/cjs/keycloak/registerWallet.native.js +81 -0
  65. package/dist/cjs/keycloak/registerWallet.native.js.map +1 -0
  66. package/dist/cjs/keycloak/types.cjs +46 -0
  67. package/dist/cjs/keycloak/types.native.js +179 -0
  68. package/dist/cjs/keycloak/types.native.js.map +1 -0
  69. package/dist/cjs/keycloak/useDirectLogin.cjs +57 -0
  70. package/dist/cjs/keycloak/useDirectLogin.native.js +77 -0
  71. package/dist/cjs/keycloak/useDirectLogin.native.js.map +1 -0
  72. package/dist/cjs/keycloak/useWalletLogin.cjs +97 -0
  73. package/dist/cjs/keycloak/useWalletLogin.native.js +33 -0
  74. package/dist/cjs/keycloak/useWalletLogin.native.js.map +1 -0
  75. package/dist/cjs/message/buildWalletMessage.cjs +113 -0
  76. package/dist/cjs/message/buildWalletMessage.native.js +121 -0
  77. package/dist/cjs/message/buildWalletMessage.native.js.map +1 -0
  78. package/dist/cjs/message/index.cjs +29 -0
  79. package/dist/cjs/message/index.native.js +32 -0
  80. package/dist/cjs/message/index.native.js.map +1 -0
  81. package/dist/cjs/providers/WalletProvider.cjs +8 -2
  82. package/dist/cjs/siws/message.cjs +5 -16
  83. package/dist/cjs/siws/message.native.js +6 -16
  84. package/dist/cjs/siws/message.native.js.map +1 -1
  85. package/dist/cjs/solana.native.js.map +1 -1
  86. package/dist/esm/clients/evm.mjs +295 -12
  87. package/dist/esm/clients/evm.mjs.map +1 -1
  88. package/dist/esm/clients/evm.native.js +496 -13
  89. package/dist/esm/clients/evm.native.js.map +1 -1
  90. package/dist/esm/clients/index.mjs +2 -2
  91. package/dist/esm/clients/index.mjs.map +1 -1
  92. package/dist/esm/clients/index.native.js +2 -2
  93. package/dist/esm/clients/index.native.js.map +1 -1
  94. package/dist/esm/clients/solana.mjs +39 -21
  95. package/dist/esm/clients/solana.mjs.map +1 -1
  96. package/dist/esm/clients/solana.native.js +48 -23
  97. package/dist/esm/clients/solana.native.js.map +1 -1
  98. package/dist/esm/connectkit/GpgProvider.mjs +19 -0
  99. package/dist/esm/connectkit/GpgProvider.mjs.map +1 -0
  100. package/dist/esm/connectkit/GpgProvider.native.js +23 -0
  101. package/dist/esm/connectkit/GpgProvider.native.js.map +1 -0
  102. package/dist/esm/connectkit/adapters/BitcoinAdapter.mjs +5 -14
  103. package/dist/esm/connectkit/adapters/BitcoinAdapter.mjs.map +1 -1
  104. package/dist/esm/connectkit/adapters/BitcoinAdapter.native.js +5 -15
  105. package/dist/esm/connectkit/adapters/BitcoinAdapter.native.js.map +1 -1
  106. package/dist/esm/connectkit/adapters/EthereumAdapter.mjs +6 -15
  107. package/dist/esm/connectkit/adapters/EthereumAdapter.mjs.map +1 -1
  108. package/dist/esm/connectkit/adapters/EthereumAdapter.native.js +7 -16
  109. package/dist/esm/connectkit/adapters/EthereumAdapter.native.js.map +1 -1
  110. package/dist/esm/connectkit/adapters/SolanaAdapter.mjs +5 -14
  111. package/dist/esm/connectkit/adapters/SolanaAdapter.mjs.map +1 -1
  112. package/dist/esm/connectkit/adapters/SolanaAdapter.native.js +5 -15
  113. package/dist/esm/connectkit/adapters/SolanaAdapter.native.js.map +1 -1
  114. package/dist/esm/connectkit/adapters/SuiAdapter.mjs +5 -14
  115. package/dist/esm/connectkit/adapters/SuiAdapter.mjs.map +1 -1
  116. package/dist/esm/connectkit/adapters/SuiAdapter.native.js +5 -15
  117. package/dist/esm/connectkit/adapters/SuiAdapter.native.js.map +1 -1
  118. package/dist/esm/connectkit/connectors/createWalletMessage.mjs +1 -1
  119. package/dist/esm/connectkit/connectors/createWalletMessage.native.js +1 -1
  120. package/dist/esm/connectkit/index.mjs +3 -2
  121. package/dist/esm/connectkit/index.mjs.map +1 -1
  122. package/dist/esm/connectkit/index.native.js +3 -2
  123. package/dist/esm/connectkit/index.native.js.map +1 -1
  124. package/dist/esm/connectkit/siwe/SIWEContext.mjs.map +1 -1
  125. package/dist/esm/connectkit/siwe/SIWEContext.native.js.map +1 -1
  126. package/dist/esm/connectkit/siwe/SIWEProvider.mjs +19 -4
  127. package/dist/esm/connectkit/siwe/SIWEProvider.mjs.map +1 -1
  128. package/dist/esm/connectkit/siwe/SIWEProvider.native.js +19 -4
  129. package/dist/esm/connectkit/siwe/SIWEProvider.native.js.map +1 -1
  130. package/dist/esm/index.mjs +1 -0
  131. package/dist/esm/index.mjs.map +1 -1
  132. package/dist/esm/index.native.js +1 -0
  133. package/dist/esm/index.native.js.map +1 -1
  134. package/dist/esm/keycloak/KeycloakWalletLogin.mjs +218 -0
  135. package/dist/esm/keycloak/KeycloakWalletLogin.mjs.map +1 -0
  136. package/dist/esm/keycloak/KeycloakWalletLogin.native.js +5 -0
  137. package/dist/esm/keycloak/KeycloakWalletLogin.native.js.map +1 -0
  138. package/dist/esm/keycloak/browserFlow.mjs +58 -0
  139. package/dist/esm/keycloak/browserFlow.mjs.map +1 -0
  140. package/dist/esm/keycloak/browserFlow.native.js +62 -0
  141. package/dist/esm/keycloak/browserFlow.native.js.map +1 -0
  142. package/dist/esm/keycloak/device.mjs +10 -0
  143. package/dist/esm/keycloak/device.mjs.map +1 -0
  144. package/dist/esm/keycloak/device.native.js +16 -0
  145. package/dist/esm/keycloak/device.native.js.map +1 -0
  146. package/dist/esm/keycloak/directGrant.mjs +164 -0
  147. package/dist/esm/keycloak/directGrant.mjs.map +1 -0
  148. package/dist/esm/keycloak/directGrant.native.js +205 -0
  149. package/dist/esm/keycloak/directGrant.native.js.map +1 -0
  150. package/dist/esm/keycloak/iife.mjs +5 -0
  151. package/dist/esm/keycloak/iife.mjs.map +1 -0
  152. package/dist/esm/keycloak/iife.native.js +5 -0
  153. package/dist/esm/keycloak/iife.native.js.map +1 -0
  154. package/dist/esm/keycloak/index.mjs +13 -0
  155. package/dist/esm/keycloak/index.mjs.map +1 -0
  156. package/dist/esm/keycloak/index.native.js +13 -0
  157. package/dist/esm/keycloak/index.native.js.map +1 -0
  158. package/dist/esm/keycloak/keycloakWallet.mjs +186 -0
  159. package/dist/esm/keycloak/keycloakWallet.mjs.map +1 -0
  160. package/dist/esm/keycloak/keycloakWallet.native.js +254 -0
  161. package/dist/esm/keycloak/keycloakWallet.native.js.map +1 -0
  162. package/dist/esm/keycloak/mount.mjs +28 -0
  163. package/dist/esm/keycloak/mount.mjs.map +1 -0
  164. package/dist/esm/keycloak/mount.native.js +5 -0
  165. package/dist/esm/keycloak/mount.native.js.map +1 -0
  166. package/dist/esm/keycloak/registerWallet.mjs +49 -0
  167. package/dist/esm/keycloak/registerWallet.mjs.map +1 -0
  168. package/dist/esm/keycloak/registerWallet.native.js +53 -0
  169. package/dist/esm/keycloak/registerWallet.native.js.map +1 -0
  170. package/dist/esm/keycloak/types.mjs +20 -0
  171. package/dist/esm/keycloak/types.mjs.map +1 -0
  172. package/dist/esm/keycloak/types.native.js +150 -0
  173. package/dist/esm/keycloak/types.native.js.map +1 -0
  174. package/dist/esm/keycloak/useDirectLogin.mjs +32 -0
  175. package/dist/esm/keycloak/useDirectLogin.mjs.map +1 -0
  176. package/dist/esm/keycloak/useDirectLogin.native.js +49 -0
  177. package/dist/esm/keycloak/useDirectLogin.native.js.map +1 -0
  178. package/dist/esm/keycloak/useWalletLogin.mjs +72 -0
  179. package/dist/esm/keycloak/useWalletLogin.mjs.map +1 -0
  180. package/dist/esm/keycloak/useWalletLogin.native.js +5 -0
  181. package/dist/esm/keycloak/useWalletLogin.native.js.map +1 -0
  182. package/dist/esm/message/buildWalletMessage.mjs +87 -0
  183. package/dist/esm/message/buildWalletMessage.mjs.map +1 -0
  184. package/dist/esm/message/buildWalletMessage.native.js +92 -0
  185. package/dist/esm/message/buildWalletMessage.native.js.map +1 -0
  186. package/dist/esm/message/index.mjs +3 -0
  187. package/dist/esm/message/index.mjs.map +1 -0
  188. package/dist/esm/message/index.native.js +3 -0
  189. package/dist/esm/message/index.native.js.map +1 -0
  190. package/dist/esm/providers/WalletProvider.mjs +9 -3
  191. package/dist/esm/providers/WalletProvider.mjs.map +1 -1
  192. package/dist/esm/siws/message.mjs +5 -16
  193. package/dist/esm/siws/message.mjs.map +1 -1
  194. package/dist/esm/siws/message.native.js +6 -16
  195. package/dist/esm/siws/message.native.js.map +1 -1
  196. package/dist/esm/solana.mjs.map +1 -1
  197. package/dist/esm/solana.native.js.map +1 -1
  198. package/dist/jsx/clients/evm.mjs +295 -12
  199. package/dist/jsx/clients/evm.mjs.map +1 -1
  200. package/dist/jsx/clients/evm.native.js +500 -12
  201. package/dist/jsx/clients/evm.native.js.map +1 -1
  202. package/dist/jsx/clients/index.mjs +2 -2
  203. package/dist/jsx/clients/index.mjs.map +1 -1
  204. package/dist/jsx/clients/index.native.js +5 -0
  205. package/dist/jsx/clients/index.native.js.map +1 -1
  206. package/dist/jsx/clients/solana.mjs +39 -21
  207. package/dist/jsx/clients/solana.mjs.map +1 -1
  208. package/dist/jsx/clients/solana.native.js +48 -23
  209. package/dist/jsx/clients/solana.native.js.map +1 -1
  210. package/dist/jsx/connectkit/GpgProvider.mjs +19 -0
  211. package/dist/jsx/connectkit/GpgProvider.mjs.map +1 -0
  212. package/dist/jsx/connectkit/GpgProvider.native.js +51 -0
  213. package/dist/jsx/connectkit/GpgProvider.native.js.map +1 -0
  214. package/dist/jsx/connectkit/adapters/BitcoinAdapter.mjs +5 -14
  215. package/dist/jsx/connectkit/adapters/BitcoinAdapter.mjs.map +1 -1
  216. package/dist/jsx/connectkit/adapters/BitcoinAdapter.native.js +5 -15
  217. package/dist/jsx/connectkit/adapters/BitcoinAdapter.native.js.map +1 -1
  218. package/dist/jsx/connectkit/adapters/EthereumAdapter.mjs +6 -15
  219. package/dist/jsx/connectkit/adapters/EthereumAdapter.mjs.map +1 -1
  220. package/dist/jsx/connectkit/adapters/EthereumAdapter.native.js +7 -16
  221. package/dist/jsx/connectkit/adapters/EthereumAdapter.native.js.map +1 -1
  222. package/dist/jsx/connectkit/adapters/SolanaAdapter.mjs +5 -14
  223. package/dist/jsx/connectkit/adapters/SolanaAdapter.mjs.map +1 -1
  224. package/dist/jsx/connectkit/adapters/SolanaAdapter.native.js +5 -15
  225. package/dist/jsx/connectkit/adapters/SolanaAdapter.native.js.map +1 -1
  226. package/dist/jsx/connectkit/adapters/SuiAdapter.mjs +5 -14
  227. package/dist/jsx/connectkit/adapters/SuiAdapter.mjs.map +1 -1
  228. package/dist/jsx/connectkit/adapters/SuiAdapter.native.js +5 -15
  229. package/dist/jsx/connectkit/adapters/SuiAdapter.native.js.map +1 -1
  230. package/dist/jsx/connectkit/connectors/createWalletMessage.mjs +1 -1
  231. package/dist/jsx/connectkit/connectors/createWalletMessage.native.js +2 -2
  232. package/dist/jsx/connectkit/index.mjs +3 -2
  233. package/dist/jsx/connectkit/index.mjs.map +1 -1
  234. package/dist/jsx/connectkit/index.native.js +4 -3
  235. package/dist/jsx/connectkit/index.native.js.map +1 -1
  236. package/dist/jsx/connectkit/siwe/SIWEContext.mjs.map +1 -1
  237. package/dist/jsx/connectkit/siwe/SIWEContext.native.js.map +1 -1
  238. package/dist/jsx/connectkit/siwe/SIWEProvider.mjs +19 -4
  239. package/dist/jsx/connectkit/siwe/SIWEProvider.mjs.map +1 -1
  240. package/dist/jsx/connectkit/siwe/SIWEProvider.native.js +18 -3
  241. package/dist/jsx/connectkit/siwe/SIWEProvider.native.js.map +1 -1
  242. package/dist/jsx/index.js +1 -0
  243. package/dist/jsx/index.js.map +1 -1
  244. package/dist/jsx/index.mjs +1 -0
  245. package/dist/jsx/index.mjs.map +1 -1
  246. package/dist/jsx/index.native.js +1 -0
  247. package/dist/jsx/index.native.js.map +1 -1
  248. package/dist/jsx/keycloak/KeycloakWalletLogin.mjs +218 -0
  249. package/dist/jsx/keycloak/KeycloakWalletLogin.mjs.map +1 -0
  250. package/dist/jsx/keycloak/KeycloakWalletLogin.native.js +33 -0
  251. package/dist/jsx/keycloak/KeycloakWalletLogin.native.js.map +1 -0
  252. package/dist/jsx/keycloak/browserFlow.mjs +58 -0
  253. package/dist/jsx/keycloak/browserFlow.mjs.map +1 -0
  254. package/dist/jsx/keycloak/browserFlow.native.js +90 -0
  255. package/dist/jsx/keycloak/browserFlow.native.js.map +1 -0
  256. package/dist/jsx/keycloak/device.mjs +10 -0
  257. package/dist/jsx/keycloak/device.mjs.map +1 -0
  258. package/dist/jsx/keycloak/device.native.js +45 -0
  259. package/dist/jsx/keycloak/device.native.js.map +1 -0
  260. package/dist/jsx/keycloak/directGrant.mjs +164 -0
  261. package/dist/jsx/keycloak/directGrant.mjs.map +1 -0
  262. package/dist/jsx/keycloak/directGrant.native.js +233 -0
  263. package/dist/jsx/keycloak/directGrant.native.js.map +1 -0
  264. package/dist/jsx/keycloak/iife.mjs +5 -0
  265. package/dist/jsx/keycloak/iife.mjs.map +1 -0
  266. package/dist/jsx/keycloak/iife.native.js +7 -0
  267. package/dist/jsx/keycloak/iife.native.js.map +1 -0
  268. package/dist/jsx/keycloak/index.mjs +13 -0
  269. package/dist/jsx/keycloak/index.mjs.map +1 -0
  270. package/dist/jsx/keycloak/index.native.js +56 -0
  271. package/dist/jsx/keycloak/index.native.js.map +1 -0
  272. package/dist/jsx/keycloak/keycloakWallet.mjs +186 -0
  273. package/dist/jsx/keycloak/keycloakWallet.mjs.map +1 -0
  274. package/dist/jsx/keycloak/keycloakWallet.native.js +285 -0
  275. package/dist/jsx/keycloak/keycloakWallet.native.js.map +1 -0
  276. package/dist/jsx/keycloak/mount.mjs +28 -0
  277. package/dist/jsx/keycloak/mount.mjs.map +1 -0
  278. package/dist/jsx/keycloak/mount.native.js +33 -0
  279. package/dist/jsx/keycloak/mount.native.js.map +1 -0
  280. package/dist/jsx/keycloak/registerWallet.mjs +49 -0
  281. package/dist/jsx/keycloak/registerWallet.mjs.map +1 -0
  282. package/dist/jsx/keycloak/registerWallet.native.js +81 -0
  283. package/dist/jsx/keycloak/registerWallet.native.js.map +1 -0
  284. package/dist/jsx/keycloak/types.mjs +20 -0
  285. package/dist/jsx/keycloak/types.mjs.map +1 -0
  286. package/dist/jsx/keycloak/types.native.js +179 -0
  287. package/dist/jsx/keycloak/types.native.js.map +1 -0
  288. package/dist/jsx/keycloak/useDirectLogin.mjs +32 -0
  289. package/dist/jsx/keycloak/useDirectLogin.mjs.map +1 -0
  290. package/dist/jsx/keycloak/useDirectLogin.native.js +77 -0
  291. package/dist/jsx/keycloak/useDirectLogin.native.js.map +1 -0
  292. package/dist/jsx/keycloak/useWalletLogin.mjs +72 -0
  293. package/dist/jsx/keycloak/useWalletLogin.mjs.map +1 -0
  294. package/dist/jsx/keycloak/useWalletLogin.native.js +33 -0
  295. package/dist/jsx/keycloak/useWalletLogin.native.js.map +1 -0
  296. package/dist/jsx/message/buildWalletMessage.mjs +87 -0
  297. package/dist/jsx/message/buildWalletMessage.mjs.map +1 -0
  298. package/dist/jsx/message/buildWalletMessage.native.js +121 -0
  299. package/dist/jsx/message/buildWalletMessage.native.js.map +1 -0
  300. package/dist/jsx/message/index.mjs +3 -0
  301. package/dist/jsx/message/index.mjs.map +1 -0
  302. package/dist/jsx/message/index.native.js +32 -0
  303. package/dist/jsx/message/index.native.js.map +1 -0
  304. package/dist/jsx/providers/WalletProvider.mjs +9 -3
  305. package/dist/jsx/providers/WalletProvider.mjs.map +1 -1
  306. package/dist/jsx/siws/message.mjs +5 -16
  307. package/dist/jsx/siws/message.mjs.map +1 -1
  308. package/dist/jsx/siws/message.native.js +6 -16
  309. package/dist/jsx/siws/message.native.js.map +1 -1
  310. package/dist/jsx/solana.mjs.map +1 -1
  311. package/dist/jsx/solana.native.js.map +1 -1
  312. package/dist/keycloak/login.iife.js +3604 -0
  313. package/package.json +27 -8
  314. package/src/clients/evm.spec.ts +644 -10
  315. package/src/clients/evm.ts +498 -10
  316. package/src/clients/index.ts +8 -0
  317. package/src/clients/solana.spec.ts +116 -0
  318. package/src/clients/solana.ts +51 -31
  319. package/src/connectkit/GpgProvider.tsx +16 -0
  320. package/src/connectkit/adapters/BitcoinAdapter.ts +5 -16
  321. package/src/connectkit/adapters/EthereumAdapter.ts +6 -17
  322. package/src/connectkit/adapters/SolanaAdapter.ts +5 -16
  323. package/src/connectkit/adapters/SuiAdapter.ts +5 -16
  324. package/src/connectkit/connectors/createWalletMessage.ts +1 -1
  325. package/src/connectkit/index.ts +2 -6
  326. package/src/connectkit/openConnector/modal.spec.tsx +1 -1
  327. package/src/connectkit/siwe/SIWEContext.tsx +6 -2
  328. package/src/connectkit/siwe/SIWEProvider.tsx +22 -5
  329. package/src/index.ts +3 -0
  330. package/src/keycloak/KeycloakWalletLogin.native.tsx +7 -0
  331. package/src/keycloak/KeycloakWalletLogin.spec.tsx +168 -0
  332. package/src/keycloak/KeycloakWalletLogin.tsx +251 -0
  333. package/src/keycloak/browserFlow.spec.ts +108 -0
  334. package/src/keycloak/browserFlow.ts +84 -0
  335. package/src/keycloak/device.ts +17 -0
  336. package/src/keycloak/directGrant.spec.ts +331 -0
  337. package/src/keycloak/directGrant.ts +214 -0
  338. package/src/keycloak/iife.ts +3 -0
  339. package/src/keycloak/index.ts +44 -0
  340. package/src/keycloak/keycloakWallet.spec.ts +216 -0
  341. package/src/keycloak/keycloakWallet.ts +275 -0
  342. package/src/keycloak/mount.native.ts +11 -0
  343. package/src/keycloak/mount.tsx +45 -0
  344. package/src/keycloak/nonceReset.spec.tsx +205 -0
  345. package/src/keycloak/registerWallet.spec.ts +88 -0
  346. package/src/keycloak/registerWallet.ts +59 -0
  347. package/src/keycloak/types.ts +66 -0
  348. package/src/keycloak/useDirectLogin.spec.tsx +112 -0
  349. package/src/keycloak/useDirectLogin.ts +74 -0
  350. package/src/keycloak/useWalletLogin.native.ts +7 -0
  351. package/src/keycloak/useWalletLogin.ts +99 -0
  352. package/src/message/buildWalletMessage.spec.ts +291 -0
  353. package/src/message/buildWalletMessage.ts +150 -0
  354. package/src/message/index.ts +8 -0
  355. package/src/providers/WalletProvider.tsx +15 -2
  356. package/src/siws/message.ts +3 -22
  357. package/src/solana.ts +1 -0
  358. package/types/clients/evm.d.ts +144 -2
  359. package/types/clients/evm.d.ts.map +1 -1
  360. package/types/clients/index.d.ts +1 -1
  361. package/types/clients/index.d.ts.map +1 -1
  362. package/types/clients/solana.d.ts +14 -5
  363. package/types/clients/solana.d.ts.map +1 -1
  364. package/types/connectkit/GpgProvider.d.ts +10 -0
  365. package/types/connectkit/GpgProvider.d.ts.map +1 -0
  366. package/types/connectkit/adapters/BitcoinAdapter.d.ts.map +1 -1
  367. package/types/connectkit/adapters/EthereumAdapter.d.ts.map +1 -1
  368. package/types/connectkit/adapters/SolanaAdapter.d.ts.map +1 -1
  369. package/types/connectkit/adapters/SuiAdapter.d.ts.map +1 -1
  370. package/types/connectkit/connectors/createWalletMessage.d.ts +1 -1
  371. package/types/connectkit/connectors/createWalletMessage.d.ts.map +1 -1
  372. package/types/connectkit/index.d.ts +3 -2
  373. package/types/connectkit/index.d.ts.map +1 -1
  374. package/types/connectkit/siwe/SIWEContext.d.ts +2 -1
  375. package/types/connectkit/siwe/SIWEContext.d.ts.map +1 -1
  376. package/types/connectkit/siwe/SIWEProvider.d.ts.map +1 -1
  377. package/types/index.d.ts +1 -0
  378. package/types/index.d.ts.map +1 -1
  379. package/types/keycloak/KeycloakWalletLogin.d.ts +45 -0
  380. package/types/keycloak/KeycloakWalletLogin.d.ts.map +1 -0
  381. package/types/keycloak/KeycloakWalletLogin.native.d.ts +4 -0
  382. package/types/keycloak/KeycloakWalletLogin.native.d.ts.map +1 -0
  383. package/types/keycloak/browserFlow.d.ts +27 -0
  384. package/types/keycloak/browserFlow.d.ts.map +1 -0
  385. package/types/keycloak/device.d.ts +14 -0
  386. package/types/keycloak/device.d.ts.map +1 -0
  387. package/types/keycloak/directGrant.d.ts +43 -0
  388. package/types/keycloak/directGrant.d.ts.map +1 -0
  389. package/types/keycloak/iife.d.ts +2 -0
  390. package/types/keycloak/iife.d.ts.map +1 -0
  391. package/types/keycloak/index.d.ts +12 -0
  392. package/types/keycloak/index.d.ts.map +1 -0
  393. package/types/keycloak/keycloakWallet.d.ts +120 -0
  394. package/types/keycloak/keycloakWallet.d.ts.map +1 -0
  395. package/types/keycloak/mount.d.ts +16 -0
  396. package/types/keycloak/mount.d.ts.map +1 -0
  397. package/types/keycloak/mount.native.d.ts +5 -0
  398. package/types/keycloak/mount.native.d.ts.map +1 -0
  399. package/types/keycloak/registerWallet.d.ts +22 -0
  400. package/types/keycloak/registerWallet.d.ts.map +1 -0
  401. package/types/keycloak/types.d.ts +50 -0
  402. package/types/keycloak/types.d.ts.map +1 -0
  403. package/types/keycloak/useDirectLogin.d.ts +29 -0
  404. package/types/keycloak/useDirectLogin.d.ts.map +1 -0
  405. package/types/keycloak/useWalletLogin.d.ts +26 -0
  406. package/types/keycloak/useWalletLogin.d.ts.map +1 -0
  407. package/types/keycloak/useWalletLogin.native.d.ts +4 -0
  408. package/types/keycloak/useWalletLogin.native.d.ts.map +1 -0
  409. package/types/message/buildWalletMessage.d.ts +46 -0
  410. package/types/message/buildWalletMessage.d.ts.map +1 -0
  411. package/types/message/index.d.ts +2 -0
  412. package/types/message/index.d.ts.map +1 -0
  413. package/types/providers/WalletProvider.d.ts +8 -1
  414. package/types/providers/WalletProvider.d.ts.map +1 -1
  415. package/types/siws/message.d.ts.map +1 -1
  416. package/types/solana.d.ts +1 -1
  417. package/types/solana.d.ts.map +1 -1
  418. package/dist/cjs/connectkit/adapters/messages.cjs +0 -73
  419. package/dist/cjs/connectkit/adapters/messages.native.js +0 -79
  420. package/dist/cjs/connectkit/adapters/messages.native.js.map +0 -1
  421. package/dist/esm/connectkit/adapters/messages.mjs +0 -48
  422. package/dist/esm/connectkit/adapters/messages.mjs.map +0 -1
  423. package/dist/esm/connectkit/adapters/messages.native.js +0 -51
  424. package/dist/esm/connectkit/adapters/messages.native.js.map +0 -1
  425. package/dist/jsx/connectkit/adapters/messages.mjs +0 -48
  426. package/dist/jsx/connectkit/adapters/messages.mjs.map +0 -1
  427. package/dist/jsx/connectkit/adapters/messages.native.js +0 -79
  428. package/dist/jsx/connectkit/adapters/messages.native.js.map +0 -1
  429. package/src/connectkit/adapters/messages.ts +0 -84
  430. package/types/connectkit/adapters/messages.d.ts +0 -16
  431. package/types/connectkit/adapters/messages.d.ts.map +0 -1
@@ -0,0 +1,255 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
+ value: mod,
29
+ enumerable: true
30
+ }) : target, mod));
31
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
+ value: true
33
+ }), mod);
34
+ var KeycloakWalletLogin_exports = {};
35
+ __export(KeycloakWalletLogin_exports, {
36
+ KeycloakWalletLogin: () => KeycloakWalletLogin,
37
+ createKeycloakWalletConfig: () => createKeycloakWalletConfig
38
+ });
39
+ module.exports = __toCommonJS(KeycloakWalletLogin_exports);
40
+ var import_gpg = require("@multiplatform.one/gpg");
41
+ var import_react_query = require("@tanstack/react-query");
42
+ var import_react = require("react");
43
+ var import_wagmi = require("wagmi");
44
+ var import_chains = require("wagmi/chains");
45
+ var import_defaultConfig = __toESM(require("../connectkit/defaultConfig.cjs"));
46
+ var import_siwe = require("../connectkit/siwe/index.cjs");
47
+ var import_SIWEContext = require("../connectkit/siwe/SIWEContext.cjs");
48
+ var import_useWeb3Modal = require("../connectkit/useWeb3Modal.cjs");
49
+ var import_web3Provider = require("../connectkit/web3Provider.cjs");
50
+ var import_keycloakWallet = require("./keycloakWallet.cjs");
51
+ var import_useWalletLogin = require("./useWalletLogin.cjs");
52
+ var import_jsx_runtime = require("react/jsx-runtime");
53
+ const defaultChains = [import_chains.mainnet, import_chains.polygon, import_chains.optimism, import_chains.arbitrum];
54
+ function createKeycloakWalletConfig({
55
+ appName = "Sign in",
56
+ appDescription = "Sign in with your wallet",
57
+ appUrl = globalThis.location?.origin ?? "",
58
+ appIcon,
59
+ chains = defaultChains
60
+ } = {}) {
61
+ return (0, import_wagmi.createConfig)((0, import_defaultConfig.default)({
62
+ appName,
63
+ appDescription,
64
+ appUrl,
65
+ appIcon,
66
+ chains,
67
+ // Aave Account signs through an app.family.co iframe, which a Keycloak
68
+ // page's default CSP (frame-src 'self') blocks.
69
+ enableAaveAccount: false
70
+ }));
71
+ }
72
+ const buttonStyle = {
73
+ display: "flex",
74
+ alignItems: "center",
75
+ justifyContent: "center",
76
+ gap: 8,
77
+ width: "100%",
78
+ padding: "10px 14px",
79
+ marginTop: 8,
80
+ fontSize: 14,
81
+ cursor: "pointer",
82
+ border: "1px solid #c4c4c4",
83
+ borderRadius: 4,
84
+ background: "#fff"
85
+ };
86
+ function KeycloakWalletLogin(props) {
87
+ const {
88
+ resource,
89
+ domain,
90
+ uri,
91
+ target = "ftl",
92
+ whenVisible = true,
93
+ appName,
94
+ appDescription,
95
+ appUrl,
96
+ appIcon,
97
+ chains,
98
+ gpg = true,
99
+ mobile,
100
+ wagmiConfig
101
+ } = props;
102
+ const page = (0, import_keycloakWallet.deriveKeycloakFromLocation)();
103
+ const baseUrl = props.baseUrl ?? page?.baseUrl;
104
+ const realm = props.realm ?? page?.realm;
105
+ if (!baseUrl || !realm) {
106
+ throw new Error("KeycloakWalletLogin needs baseUrl and realm off a Keycloak page");
107
+ }
108
+ const action = typeof target === "string" ? void 0 : target.action;
109
+ const kc = (0, import_react.useMemo)(() => (0, import_keycloakWallet.keycloakWallet)({
110
+ baseUrl,
111
+ realm,
112
+ resource,
113
+ domain,
114
+ uri
115
+ }), [baseUrl, realm, resource, domain, uri]);
116
+ const browserTarget = (0, import_react.useMemo)(() => action === void 0 ? "ftl" : {
117
+ action
118
+ }, [action]);
119
+ const onSign = (0, import_react.useMemo)(() => kc.browserFlow({
120
+ target: browserTarget,
121
+ whenVisible
122
+ }), [kc, browserTarget, whenVisible]);
123
+ const config = (0, import_react.useMemo)(() => wagmiConfig ?? createKeycloakWalletConfig({
124
+ appName,
125
+ appDescription,
126
+ appUrl,
127
+ appIcon,
128
+ chains
129
+ }), [wagmiConfig, appName, appDescription, appUrl, appIcon, chains]);
130
+ const connectKitOptions = (0, import_react.useMemo)(() => mobile ? {
131
+ mobile
132
+ } : void 0, [mobile]);
133
+ const queryClient = (0, import_react.useMemo)(() => new import_react_query.QueryClient({
134
+ defaultOptions: {
135
+ queries: {
136
+ refetchOnWindowFocus: false,
137
+ refetchOnReconnect: false,
138
+ staleTime: Infinity
139
+ }
140
+ }
141
+ }), []);
142
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_wagmi.WagmiProvider, {
143
+ config,
144
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react_query.QueryClientProvider, {
145
+ client: queryClient,
146
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gpg.GpgProvider, {
147
+ ...kc.gpgConfig(onSign),
148
+ enabled: gpg,
149
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_siwe.SIWEProvider, {
150
+ ...kc.siweConfig(onSign),
151
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_web3Provider.ConnectKitProvider, {
152
+ options: connectKitOptions,
153
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(LoginButtons, {
154
+ ...props
155
+ })
156
+ })
157
+ })
158
+ })
159
+ })
160
+ });
161
+ }
162
+ function LoginButtons({
163
+ gpg = true,
164
+ walletLabel = "Sign in with Wallet",
165
+ gpgLabel = "Sign in with GPG",
166
+ className,
167
+ buttonClassName
168
+ }) {
169
+ const {
170
+ login,
171
+ status
172
+ } = (0, import_useWalletLogin.useWalletLogin)();
173
+ const {
174
+ openGpg
175
+ } = (0, import_useWeb3Modal.useWeb3Modal)();
176
+ const style = buttonClassName ? void 0 : buttonStyle;
177
+ const busy = status === import_SIWEContext.StatusState.LOADING || status === import_SIWEContext.StatusState.SUCCESS;
178
+ return /* @__PURE__ */(0, import_jsx_runtime.jsxs)("div", {
179
+ className: className ?? "mpo-keycloak-wallet-login",
180
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)("button", {
181
+ type: "button",
182
+ id: "mpo-wallet-login",
183
+ className: buttonClassName,
184
+ style,
185
+ disabled: busy,
186
+ onClick: e => {
187
+ e.preventDefault();
188
+ void login();
189
+ },
190
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(WalletIcon, {}), /* @__PURE__ */(0, import_jsx_runtime.jsx)("span", {
191
+ children: busy ? "Signing\u2026" : walletLabel
192
+ })]
193
+ }), gpg && /* @__PURE__ */(0, import_jsx_runtime.jsxs)("button", {
194
+ type: "button",
195
+ id: "mpo-gpg-login",
196
+ className: buttonClassName,
197
+ style,
198
+ onClick: e => {
199
+ e.preventDefault();
200
+ openGpg();
201
+ },
202
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(GpgIcon, {}), /* @__PURE__ */(0, import_jsx_runtime.jsx)("span", {
203
+ children: gpgLabel
204
+ })]
205
+ })]
206
+ });
207
+ }
208
+ function WalletIcon() {
209
+ return /* @__PURE__ */(0, import_jsx_runtime.jsxs)("svg", {
210
+ xmlns: "http://www.w3.org/2000/svg",
211
+ width: "18",
212
+ height: "18",
213
+ viewBox: "0 0 24 24",
214
+ fill: "none",
215
+ stroke: "currentColor",
216
+ strokeWidth: "2",
217
+ strokeLinecap: "round",
218
+ strokeLinejoin: "round",
219
+ "aria-hidden": "true",
220
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)("path", {
221
+ d: "M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0-2 2v0a2 2 0 0 0 2 2h13a1 1 0 0 1 1 1v4"
222
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)("path", {
223
+ d: "M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4"
224
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)("rect", {
225
+ width: "7",
226
+ height: "5",
227
+ x: "14",
228
+ y: "10",
229
+ rx: "1"
230
+ })]
231
+ });
232
+ }
233
+ function GpgIcon() {
234
+ return /* @__PURE__ */(0, import_jsx_runtime.jsxs)("svg", {
235
+ xmlns: "http://www.w3.org/2000/svg",
236
+ width: "18",
237
+ height: "18",
238
+ viewBox: "0 0 24 24",
239
+ fill: "none",
240
+ stroke: "currentColor",
241
+ strokeWidth: "2",
242
+ strokeLinecap: "round",
243
+ strokeLinejoin: "round",
244
+ "aria-hidden": "true",
245
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)("circle", {
246
+ cx: "7.5",
247
+ cy: "15.5",
248
+ r: "5.5"
249
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)("path", {
250
+ d: "m21 2-9.6 9.6"
251
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)("path", {
252
+ d: "m15.5 7.5 3 3L22 7l-3-3"
253
+ })]
254
+ });
255
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var KeycloakWalletLogin_native_exports = {};
26
+ __export(KeycloakWalletLogin_native_exports, {
27
+ KeycloakWalletLogin: () => KeycloakWalletLogin
28
+ });
29
+ module.exports = __toCommonJS(KeycloakWalletLogin_native_exports);
30
+ function KeycloakWalletLogin(_props) {
31
+ throw new Error("KeycloakWalletLogin is web only; a native app signs in with useDirectLogin");
32
+ }
33
+ //# sourceMappingURL=KeycloakWalletLogin.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["KeycloakWalletLogin_native_exports","__export","KeycloakWalletLogin","module","exports","__toCommonJS","_props","Error"],"sources":["../../../src/keycloak/KeycloakWalletLogin.native.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,kCAAA;AAAAC,QAAA,CAAAD,kCAAA;EAAAE,mBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAC,YAAA,CAAAL,kCAAA;AAAO,SAASE,oBAAoBI,MAAA,EAAQ;EACxC,MAAM,IAAIC,KAAA,CAAM,4EAA4E;AAChG","ignoreList":[]}
@@ -0,0 +1,83 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var browserFlow_exports = {};
24
+ __export(browserFlow_exports, {
25
+ browserFlow: () => browserFlow
26
+ });
27
+ module.exports = __toCommonJS(browserFlow_exports);
28
+ function whenPageVisible(doc) {
29
+ if (doc.visibilityState !== "hidden") return Promise.resolve();
30
+ return new Promise(resolve => {
31
+ const onChange = () => {
32
+ if (doc.visibilityState === "hidden") return;
33
+ doc.removeEventListener("visibilitychange", onChange);
34
+ resolve();
35
+ };
36
+ doc.addEventListener("visibilitychange", onChange);
37
+ });
38
+ }
39
+ function ftlForm(doc, username, password) {
40
+ const form = doc.getElementById("kc-form-login");
41
+ const user = doc.getElementById("username");
42
+ const pass = doc.getElementById("password");
43
+ if (!form || !user || !pass) return null;
44
+ user.value = username;
45
+ pass.value = password;
46
+ return form;
47
+ }
48
+ function actionForm(doc, action, username, password) {
49
+ const form = doc.createElement("form");
50
+ form.method = "post";
51
+ form.action = action;
52
+ form.style.display = "none";
53
+ for (const [name, value] of [["username", username], ["password", password]]) {
54
+ const input = doc.createElement("input");
55
+ input.type = "hidden";
56
+ input.name = name;
57
+ input.value = value;
58
+ form.appendChild(input);
59
+ }
60
+ doc.body.appendChild(form);
61
+ return form;
62
+ }
63
+ function browserFlow(opts = {}) {
64
+ const {
65
+ target = "ftl",
66
+ whenVisible = true
67
+ } = opts;
68
+ let submitted = false;
69
+ return async ({
70
+ username,
71
+ password
72
+ }) => {
73
+ const doc = opts.document ?? globalThis.document;
74
+ if (!doc) throw new Error("browserFlow needs a DOM");
75
+ if (whenVisible) await whenPageVisible(doc);
76
+ if (submitted) return true;
77
+ const form = target === "ftl" ? ftlForm(doc, username, password) : actionForm(doc, target.action, username, password);
78
+ if (!form) return false;
79
+ submitted = true;
80
+ form.submit();
81
+ return true;
82
+ };
83
+ }
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var browserFlow_exports = {};
26
+ __export(browserFlow_exports, {
27
+ browserFlow: () => browserFlow
28
+ });
29
+ module.exports = __toCommonJS(browserFlow_exports);
30
+ function whenPageVisible(doc) {
31
+ if (doc.visibilityState !== "hidden") return Promise.resolve();
32
+ return new Promise(function (resolve) {
33
+ var onChange = function onChange1() {
34
+ if (doc.visibilityState === "hidden") return;
35
+ doc.removeEventListener("visibilitychange", onChange);
36
+ resolve();
37
+ };
38
+ doc.addEventListener("visibilitychange", onChange);
39
+ });
40
+ }
41
+ function ftlForm(doc, username, password) {
42
+ var form = doc.getElementById("kc-form-login");
43
+ var user = doc.getElementById("username");
44
+ var pass = doc.getElementById("password");
45
+ if (!form || !user || !pass) return null;
46
+ user.value = username;
47
+ pass.value = password;
48
+ return form;
49
+ }
50
+ function actionForm(doc, action, username, password) {
51
+ var form = doc.createElement("form");
52
+ form.method = "post";
53
+ form.action = action;
54
+ form.style.display = "none";
55
+ for (var _i = 0, _iter = [["username", username], ["password", password]]; _i < _iter.length; _i++) {
56
+ var [name, value] = _iter[_i];
57
+ var input = doc.createElement("input");
58
+ input.type = "hidden";
59
+ input.name = name;
60
+ input.value = value;
61
+ form.appendChild(input);
62
+ }
63
+ doc.body.appendChild(form);
64
+ return form;
65
+ }
66
+ function browserFlow() {
67
+ var opts = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
68
+ var {
69
+ target = "ftl",
70
+ whenVisible = true
71
+ } = opts;
72
+ var submitted = false;
73
+ return async function (param) {
74
+ var {
75
+ username,
76
+ password
77
+ } = param;
78
+ var _opts_document;
79
+ var doc = (_opts_document = opts.document) !== null && _opts_document !== void 0 ? _opts_document : globalThis.document;
80
+ if (!doc) throw new Error("browserFlow needs a DOM");
81
+ if (whenVisible) await whenPageVisible(doc);
82
+ if (submitted) return true;
83
+ var form = target === "ftl" ? ftlForm(doc, username, password) : actionForm(doc, target.action, username, password);
84
+ if (!form) return false;
85
+ submitted = true;
86
+ form.submit();
87
+ return true;
88
+ };
89
+ }
90
+ //# sourceMappingURL=browserFlow.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","browserFlow_exports","__export","browserFlow","module","exports","whenPageVisible","doc","visibilityState","Promise","resolve","onChange","onChange1","removeEventListener","addEventListener","ftlForm","username","password","form","getElementById","user","pass","actionForm","action","createElement","method","style","display","_i","_iter","length","name","input","type","appendChild","body","opts","arguments","target","whenVisible","submitted","param","_opts_document"],"sources":["../../../src/keycloak/browserFlow.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,mBAAA;AAAAC,QAAA,CAAAD,mBAAA;EAAAE,WAAA,EAAAA,CAAA,KAAAA;AAAA;AAmBAC,MAAA,CAAAC,OAAS,GAAAT,YAAgB,CAA8BK,mBAAA;AACrD,SAAIK,eAAIA,CAAAC,GAAA,EAAoB;EAC5B,IAAAA,GAAO,CAAAC,eAAa,aAAY,SAAAC,OAAA,CAAAC,OAAA;EAC9B,WAAMD,OAAA,CAAW,UAAMC,OAAA;IACrB,IAAAC,QAAQ,YAAAC,SAAoBA,CAAA;MAC5B,IAAIL,GAAA,CAAAC,eAAA,KAAoB;MACxBD,GAAA,CAAAM,mBAAQ,qBAAAF,QAAA;MACVD,OAAA;IACA;IACDH,GAAA,CAAAO,gBAAA,qBAAAH,QAAA;EACH;AAEA;AACE,SAAMI,OAAOA,CAAAR,GAAI,EAAAS,QAAA,EAAAC,QAAe;EAChC,IAAAC,IAAM,GAAAX,GAAO,CAAAY,cAAI,gBAAyB;EAC1C,IAAAC,IAAM,GAAAb,GAAO,CAAAY,cAAI,WAAe;EAChC,IAAIE,IAAC,GAAAd,GAAS,CAAAY,cAAe,WAAO;EACpC,KAAKD,IAAA,IAAQ,CAAAE,IAAA,KAAAC,IAAA;EACbD,IAAA,CAAKpB,KAAA,GAAQgB,QAAA;EACbK,IAAA,CAAArB,KAAO,GAAAiB,QAAA;EACT,OAAAC,IAAA;AAEA;AACE,SAAMI,UAAWA,CAAAf,GAAA,EAAAgB,MAAA,EAAcP,QAAM,EAAAC,QAAA;EACrC,IAAAC,IAAK,GAAAX,GAAS,CAAAiB,aAAA;EACdN,IAAA,CAAKO,MAAA,GAAS;EACdP,IAAA,CAAKK,MAAM,GAAAA,MAAA;EACXL,IAAA,CAAAQ,KAAA,CAAWC,OAAO,SAAK;EAAK,KACzB,IAAAC,EAAA,IAAY,EAAAC,KAAA,GAAQ,CACrB,CACC,YACDb,QAAM,CACN,EACA,CACA,UAAM,EACNC,QAAK,CACP,CACA,EAAAW,EAAI,GAAAC,KAAK,CAAAC,MAAA,EAAYF,EAAA,EAAI;IACzB,KAAOG,IAAA,EAAA/B,KAAA,IAAA6B,KAAA,CAAAD,EAAA;IACT,IAAAI,KAAA,GAAAzB,GAAA,CAAAiB,aAAA;IAQOQ,KAAS,CAAAC,IAAA,WAAY;IAC1BD,KAAM,CAAED,IAAA,GAAAA,IAAS;IACjBC,KAAI,CAAAhC,KAAA,GAAYA,KAAA;IAChBkB,IAAA,CAAOgB,WAAS,CAAAF,KAAA;EACd;EACAzB,GAAA,CAAA4B,IAAK,CAAAD,WAAW,CAAAhB,IAAI;EACpB,OAAIA,IAAA;AACJ;AACA,SAAAf,WACEA,CAAA;EAGF,IAAAiC,IAAK,GAAAC,SAAa,CAAAP,MAAA,QAAAO,SAAA,iBAAAA,SAAA;EAClB;IAAAC,MAAA,GAAY;IAAAC,WAAA;EAAA,IAAAH,IAAA;EACZ,IAAAI,SAAK,GAAO;EACZ,uBAAOC,KAAA;IACT;MAAAzB,QAAA;MAAAC;IAAA,IAAAwB,KAAA;IACF,IAAAC,cAAA","ignoreList":[]}
@@ -0,0 +1,36 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var device_exports = {};
24
+ __export(device_exports, {
25
+ hasUserActivation: () => hasUserActivation,
26
+ isMobileBrowser: () => isMobileBrowser
27
+ });
28
+ module.exports = __toCommonJS(device_exports);
29
+ const nav = () => globalThis.navigator;
30
+ function isMobileBrowser(navigator = nav()) {
31
+ if (typeof navigator?.userAgentData?.mobile === "boolean") return navigator.userAgentData.mobile;
32
+ return /Android|iPhone|iPad|iPod/i.test(navigator?.userAgent ?? "");
33
+ }
34
+ function hasUserActivation(navigator = nav()) {
35
+ return navigator?.userActivation ? navigator.userActivation.isActive : true;
36
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var device_exports = {};
26
+ __export(device_exports, {
27
+ hasUserActivation: () => hasUserActivation,
28
+ isMobileBrowser: () => isMobileBrowser
29
+ });
30
+ module.exports = __toCommonJS(device_exports);
31
+ var nav = function nav2() {
32
+ return globalThis.navigator;
33
+ };
34
+ function isMobileBrowser() {
35
+ var navigator = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : nav();
36
+ var _ref;
37
+ var _navigator_userAgentData;
38
+ if (typeof (navigator === null || navigator === void 0 ? void 0 : (_navigator_userAgentData = navigator.userAgentData) === null || _navigator_userAgentData === void 0 ? void 0 : _navigator_userAgentData.mobile) === "boolean") return navigator.userAgentData.mobile;
39
+ return /Android|iPhone|iPad|iPod/i.test((_ref = navigator === null || navigator === void 0 ? void 0 : navigator.userAgent) !== null && _ref !== void 0 ? _ref : "");
40
+ }
41
+ function hasUserActivation() {
42
+ var navigator = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : nav();
43
+ return (navigator === null || navigator === void 0 ? void 0 : navigator.userActivation) ? navigator.userActivation.isActive : true;
44
+ }
45
+ //# sourceMappingURL=device.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","device_exports","__export","hasUserActivation","isMobileBrowser","module","exports","nav","nav2","globalThis","navigator","arguments","length","_ref","_navigator_userAgentData"],"sources":["../../../src/keycloak/device.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,cAAA;AAAAC,QAAA,CAAAD,cAAA;EAAAE,iBAAA,EAAAA,CAAA,KAAAA,iBAAA;EAAAC,eAAA,EAAAA,CAAA,KAAAA;AAAA;AAMAC,MAAM,CAAAC,OAAM,GAAAV,YAAoD,CAAAK,cAAA;AAEzD,IAAAM,GAAA,GAAS,SAAAC,KAAA,EAAgB;EAC9B,OAAIC,UAAO,CAAAC,SAAW;AACtB;AACF,SAAAN,gBAAA;EAGO,IAAAM,SAAS,GAAAC,SAAkB,CAAAC,MAAA,QAAuCD,SAAgB,iBAAAA,SAAA,MAAAJ,GAAA;EACvF,IAAAM,IAAO;EACT,IAAAC,wBAAA","ignoreList":[]}