@saasquatch/mint-components 2.2.0 → 2.3.0-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 (375) hide show
  1. package/dist/cjs/{data-8c8a08f6.js → data-89ac73dd.js} +2 -90
  2. package/dist/cjs/eventKeys-7af4df4d.js +5 -0
  3. package/dist/cjs/{keys-cff24974.js → keys-5a2c9ed2.js} +4 -0
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/mint-components.cjs.js +1 -1
  6. package/dist/cjs/parseStates-d1effc19.js +16 -0
  7. package/dist/cjs/sqm-banking-info-form_10.cjs.entry.js +461 -339
  8. package/dist/cjs/{sqm-big-stat_46.cjs.entry.js → sqm-big-stat_47.cjs.entry.js} +450 -16
  9. package/dist/cjs/sqm-code-verification.cjs.entry.js +4 -5
  10. package/dist/cjs/sqm-email-verification_2.cjs.entry.js +893 -0
  11. package/dist/cjs/sqm-partner-info-modal-view-f6faecf5.js +149 -0
  12. package/dist/cjs/sqm-referral-table_11.cjs.entry.js +27 -9
  13. package/dist/cjs/sqm-rewards-table_9.cjs.entry.js +30 -9
  14. package/dist/cjs/sqm-stencilbook.cjs.entry.js +732 -326
  15. package/dist/cjs/{sqm-user-info-form-view-53306f6e.js → sqm-user-info-form-view-0e1ddbe4.js} +34 -426
  16. package/dist/cjs/sqm-widget-verification-controller.cjs.entry.js +1 -1
  17. package/dist/cjs/{usePayoutStatus-0192fccd.js → useIndirectTaxForm-c3c1ec56.js} +294 -5
  18. package/dist/cjs/utils-a3b3d05b.js +478 -0
  19. package/dist/collection/collection-manifest.json +1 -0
  20. package/dist/collection/components/sqm-partner-info-modal/PartnerInfoModal.stories.js +171 -0
  21. package/dist/collection/components/sqm-partner-info-modal/sqm-partner-info-modal-view.js +143 -0
  22. package/dist/collection/components/sqm-partner-info-modal/sqm-partner-info-modal.js +670 -0
  23. package/dist/collection/components/sqm-partner-info-modal/usePartnerInfoModal.js +276 -0
  24. package/dist/collection/components/sqm-referral-table/ReferralTable.stories.js +1 -0
  25. package/dist/collection/components/sqm-referral-table/ReferralTableRewardsCell.stories.js +1 -0
  26. package/dist/collection/components/sqm-referral-table/TaxAndCashReferralTable.stories.js +2 -2
  27. package/dist/collection/components/sqm-referral-table/TaxAndCashReferralTableRewardsCell.stories.js +209 -145
  28. package/dist/collection/components/sqm-referral-table/cells/sqm-referral-table-rewards-cell.js +30 -10
  29. package/dist/collection/components/sqm-rewards-table/RewardsTableCell.stories.js +1 -0
  30. package/dist/collection/components/sqm-rewards-table/TaxAndCashRewardsTable.stories.js +2 -2
  31. package/dist/collection/components/sqm-rewards-table/TaxAndCashRewardsTableCell.stories.js +223 -137
  32. package/dist/collection/components/sqm-rewards-table/cells/sqm-rewards-table-status-cell.js +30 -10
  33. package/dist/collection/components/sqm-rewards-table/useRewardsTable.js +1 -0
  34. package/dist/collection/components/sqm-stencilbook/sqm-stencilbook.js +4 -0
  35. package/dist/collection/components/sqm-widget-verification/WidgetVerification.stories.js +16 -0
  36. package/dist/collection/components/sqm-widget-verification/keys.js +2 -0
  37. package/dist/collection/components/sqm-widget-verification/sqm-code-verification/sqm-code-verification-view.js +3 -4
  38. package/dist/collection/components/sqm-widget-verification/sqm-email-verification/sqm-email-verification-view.js +0 -2
  39. package/dist/collection/components/sqm-widget-verification/sqm-email-verification/useEmailVerification.js +19 -9
  40. package/dist/collection/components/sqm-widget-verification/sqm-widget-verification.js +486 -46
  41. package/dist/collection/components/sqm-widget-verification/useWidgetVerification.js +43 -11
  42. package/dist/collection/components/tax-and-cash/data.js +2 -0
  43. package/dist/collection/components/tax-and-cash/sqm-banking-info-form/formDefinitions.js +93 -37
  44. package/dist/collection/components/tax-and-cash/sqm-banking-info-form/sqm-banking-info-form.js +738 -13
  45. package/dist/collection/components/tax-and-cash/sqm-banking-info-form/useBankingInfoForm.js +95 -1
  46. package/dist/collection/components/tax-and-cash/sqm-indirect-tax-form/useIndirectTaxForm.js +51 -12
  47. package/dist/collection/components/tax-and-cash/sqm-tax-and-cash/sqm-tax-and-cash.js +59 -30
  48. package/dist/collection/components/tax-and-cash/sqm-tax-and-cash/useTaxAndCash.js +51 -2
  49. package/dist/collection/components/tax-and-cash/sqm-user-info-form/UserInfoFormView.stories.js +0 -1
  50. package/dist/collection/components/tax-and-cash/sqm-user-info-form/sqm-user-info-form-view.js +10 -18
  51. package/dist/collection/components/tax-and-cash/sqm-user-info-form/sqm-user-info-form.js +0 -25
  52. package/dist/collection/components/tax-and-cash/sqm-user-info-form/useUserInfoForm.js +34 -17
  53. package/dist/esm/{ShadowViewAddon-0b980200.js → ShadowViewAddon-e115fa1c.js} +5 -5
  54. package/dist/{mint-components/p-0c0d4065.js → esm/data-8698cbc6.js} +25 -5
  55. package/dist/esm/eventKeys-f76b6a03.js +3 -0
  56. package/dist/esm/{global-96c14d63.js → global-75e96214.js} +1 -1
  57. package/dist/esm/{index.module-b23fdad8.js → index.module-02cb914c.js} +1 -1
  58. package/dist/esm/keys-1054056a.js +8 -0
  59. package/dist/esm/loader.js +3 -3
  60. package/dist/esm/mint-components.js +3 -3
  61. package/dist/esm/parseStates-ed75e224.js +14 -0
  62. package/dist/esm/{re-render-f30aeb6b.js → re-render-bf46ba54.js} +1 -1
  63. package/dist/esm/sqm-banking-info-form_10.entry.js +448 -326
  64. package/dist/esm/{sqm-big-stat_46.entry.js → sqm-big-stat_47.entry.js} +454 -21
  65. package/dist/esm/sqm-close-button.entry.js +1 -1
  66. package/dist/esm/sqm-code-verification.entry.js +7 -8
  67. package/dist/esm/sqm-context-router.entry.js +1 -1
  68. package/dist/esm/sqm-email-verification_2.entry.js +888 -0
  69. package/dist/esm/sqm-empty_4.entry.js +2 -2
  70. package/dist/esm/sqm-google-sign-in.entry.js +1 -1
  71. package/dist/esm/sqm-graphql-client-provider.entry.js +1 -1
  72. package/dist/esm/sqm-instant-access-registration.entry.js +3 -3
  73. package/dist/esm/{sqm-lead-checkbox-field-view-7928db07.js → sqm-lead-checkbox-field-view-bfafee56.js} +1 -1
  74. package/dist/esm/sqm-lead-checkbox-field.entry.js +4 -4
  75. package/dist/esm/{sqm-lead-input-field-view-d1b91650.js → sqm-lead-input-field-view-b945edf4.js} +1 -1
  76. package/dist/esm/sqm-lead-input-field.entry.js +4 -4
  77. package/dist/esm/sqm-leaderboard-rank.entry.js +2 -2
  78. package/dist/esm/sqm-logout-current-user.entry.js +1 -1
  79. package/dist/esm/{sqm-navigation-sidebar-item-view-b3beac5a.js → sqm-navigation-sidebar-item-view-8d98fcf3.js} +1 -1
  80. package/dist/esm/sqm-navigation-sidebar-item.entry.js +2 -2
  81. package/dist/esm/sqm-navigation-sidebar.entry.js +1 -1
  82. package/dist/esm/sqm-pagination_3.entry.js +3 -3
  83. package/dist/esm/sqm-partner-info-modal-view-d6f3a215.js +146 -0
  84. package/dist/esm/sqm-password-field.entry.js +2 -2
  85. package/dist/esm/sqm-popup-container.entry.js +1 -1
  86. package/dist/esm/{sqm-portal-email-verification-view-04528277.js → sqm-portal-email-verification-view-fde1eb35.js} +1 -1
  87. package/dist/esm/sqm-portal-email-verification.entry.js +3 -3
  88. package/dist/esm/sqm-portal-forgot-password_6.entry.js +4 -4
  89. package/dist/esm/sqm-portal-logout.entry.js +1 -1
  90. package/dist/esm/{sqm-portal-profile-view-b5ea620f.js → sqm-portal-profile-view-2018590a.js} +1 -1
  91. package/dist/esm/sqm-portal-profile.entry.js +4 -4
  92. package/dist/esm/sqm-portal-protected-route.entry.js +1 -1
  93. package/dist/esm/sqm-portal-reset-password.entry.js +1 -1
  94. package/dist/esm/{sqm-portal-verify-email-view-c61536b7.js → sqm-portal-verify-email-view-590f964b.js} +1 -1
  95. package/dist/esm/sqm-qr-code.entry.js +2 -2
  96. package/dist/esm/sqm-referral-table_11.entry.js +32 -14
  97. package/dist/esm/sqm-rewards-table-customer-note-column.entry.js +2 -2
  98. package/dist/esm/sqm-rewards-table_9.entry.js +35 -14
  99. package/dist/esm/sqm-stencilbook.entry.js +708 -302
  100. package/dist/esm/sqm-tab.entry.js +2 -2
  101. package/dist/esm/sqm-tabs.entry.js +3 -3
  102. package/dist/esm/{sqm-user-info-form-view-19d81a2b.js → sqm-user-info-form-view-e1ba6009.js} +14 -403
  103. package/dist/esm/sqm-widget-verification-controller.entry.js +2 -2
  104. package/dist/esm/{useChildElements-9bccfb72.js → useChildElements-06937df7.js} +1 -1
  105. package/dist/esm/{usePayoutStatus-46c0c289.js → useIndirectTaxForm-b2888ea5.js} +292 -5
  106. package/dist/esm/{useInstantAccessRegistration-69fefed0.js → useInstantAccessRegistration-69c9ffe0.js} +2 -2
  107. package/dist/esm/{useLeadFormState-dd4e8b08.js → useLeadFormState-332b2796.js} +2 -2
  108. package/dist/esm/{usePortalRegistrationForm-62de6fb1.js → usePortalRegistrationForm-3a1f36a2.js} +2 -2
  109. package/dist/esm/{useReferralCodes-52ca720f.js → useReferralCodes-25f8b792.js} +1 -1
  110. package/dist/esm/{useReferralTable-92af4133.js → useReferralTable-03d32c6f.js} +3 -3
  111. package/dist/esm/{useRegistrationFormState-2c090c38.js → useRegistrationFormState-aa44cfff.js} +1 -1
  112. package/dist/esm/{useVerificationEmail-c13c3b51.js → useVerificationEmail-9f2c0bab.js} +1 -1
  113. package/dist/esm/{utilities-77b1e0cc.js → utilities-cbd8f2eb.js} +1 -1
  114. package/dist/esm/utils-4f5cd04c.js +467 -0
  115. package/dist/esm-es5/{ShadowViewAddon-0b980200.js → ShadowViewAddon-e115fa1c.js} +1 -1
  116. package/dist/esm-es5/data-8698cbc6.js +1 -0
  117. package/dist/esm-es5/eventKeys-f76b6a03.js +1 -0
  118. package/dist/esm-es5/{global-96c14d63.js → global-75e96214.js} +1 -1
  119. package/dist/esm-es5/{index.module-b23fdad8.js → index.module-02cb914c.js} +1 -1
  120. package/dist/esm-es5/keys-1054056a.js +1 -0
  121. package/dist/esm-es5/loader.js +1 -1
  122. package/dist/esm-es5/mint-components.js +1 -1
  123. package/dist/esm-es5/parseStates-ed75e224.js +1 -0
  124. package/dist/esm-es5/{re-render-f30aeb6b.js → re-render-bf46ba54.js} +1 -1
  125. package/dist/esm-es5/sqm-banking-info-form_10.entry.js +1 -1
  126. package/dist/esm-es5/sqm-big-stat_47.entry.js +1 -0
  127. package/dist/esm-es5/sqm-close-button.entry.js +1 -1
  128. package/dist/esm-es5/sqm-code-verification.entry.js +1 -1
  129. package/dist/esm-es5/sqm-context-router.entry.js +1 -1
  130. package/dist/esm-es5/sqm-email-verification_2.entry.js +1 -0
  131. package/dist/esm-es5/sqm-empty_4.entry.js +1 -1
  132. package/dist/esm-es5/sqm-google-sign-in.entry.js +1 -1
  133. package/dist/esm-es5/sqm-graphql-client-provider.entry.js +1 -1
  134. package/dist/esm-es5/sqm-instant-access-registration.entry.js +1 -1
  135. package/dist/esm-es5/{sqm-lead-checkbox-field-view-7928db07.js → sqm-lead-checkbox-field-view-bfafee56.js} +1 -1
  136. package/dist/esm-es5/sqm-lead-checkbox-field.entry.js +1 -1
  137. package/dist/esm-es5/{sqm-lead-input-field-view-d1b91650.js → sqm-lead-input-field-view-b945edf4.js} +1 -1
  138. package/dist/esm-es5/sqm-lead-input-field.entry.js +1 -1
  139. package/dist/esm-es5/sqm-leaderboard-rank.entry.js +1 -1
  140. package/dist/esm-es5/sqm-logout-current-user.entry.js +1 -1
  141. package/dist/esm-es5/{sqm-navigation-sidebar-item-view-b3beac5a.js → sqm-navigation-sidebar-item-view-8d98fcf3.js} +1 -1
  142. package/dist/esm-es5/sqm-navigation-sidebar-item.entry.js +1 -1
  143. package/dist/esm-es5/sqm-navigation-sidebar.entry.js +1 -1
  144. package/dist/esm-es5/sqm-pagination_3.entry.js +1 -1
  145. package/dist/esm-es5/sqm-partner-info-modal-view-d6f3a215.js +1 -0
  146. package/dist/esm-es5/sqm-password-field.entry.js +1 -1
  147. package/dist/esm-es5/sqm-popup-container.entry.js +1 -1
  148. package/dist/esm-es5/{sqm-portal-email-verification-view-04528277.js → sqm-portal-email-verification-view-fde1eb35.js} +1 -1
  149. package/dist/esm-es5/sqm-portal-email-verification.entry.js +1 -1
  150. package/dist/esm-es5/sqm-portal-forgot-password_6.entry.js +1 -1
  151. package/dist/esm-es5/sqm-portal-logout.entry.js +1 -1
  152. package/dist/esm-es5/{sqm-portal-profile-view-b5ea620f.js → sqm-portal-profile-view-2018590a.js} +1 -1
  153. package/dist/esm-es5/sqm-portal-profile.entry.js +1 -1
  154. package/dist/esm-es5/sqm-portal-protected-route.entry.js +1 -1
  155. package/dist/esm-es5/sqm-portal-reset-password.entry.js +1 -1
  156. package/dist/esm-es5/{sqm-portal-verify-email-view-c61536b7.js → sqm-portal-verify-email-view-590f964b.js} +1 -1
  157. package/dist/esm-es5/sqm-qr-code.entry.js +1 -1
  158. package/dist/esm-es5/sqm-referral-table_11.entry.js +1 -1
  159. package/dist/esm-es5/sqm-rewards-table-customer-note-column.entry.js +1 -1
  160. package/dist/esm-es5/sqm-rewards-table_9.entry.js +1 -1
  161. package/dist/esm-es5/sqm-stencilbook.entry.js +1 -1
  162. package/dist/esm-es5/sqm-tab.entry.js +1 -1
  163. package/dist/esm-es5/sqm-tabs.entry.js +1 -1
  164. package/dist/esm-es5/sqm-user-info-form-view-e1ba6009.js +1 -0
  165. package/dist/esm-es5/sqm-widget-verification-controller.entry.js +1 -1
  166. package/dist/esm-es5/{useChildElements-9bccfb72.js → useChildElements-06937df7.js} +1 -1
  167. package/dist/esm-es5/useIndirectTaxForm-b2888ea5.js +6 -0
  168. package/dist/esm-es5/{useInstantAccessRegistration-69fefed0.js → useInstantAccessRegistration-69c9ffe0.js} +1 -1
  169. package/dist/esm-es5/{useLeadFormState-dd4e8b08.js → useLeadFormState-332b2796.js} +1 -1
  170. package/dist/esm-es5/{usePortalRegistrationForm-62de6fb1.js → usePortalRegistrationForm-3a1f36a2.js} +1 -1
  171. package/dist/esm-es5/{useReferralCodes-52ca720f.js → useReferralCodes-25f8b792.js} +1 -1
  172. package/dist/esm-es5/{useReferralTable-92af4133.js → useReferralTable-03d32c6f.js} +1 -1
  173. package/dist/esm-es5/{useRegistrationFormState-2c090c38.js → useRegistrationFormState-aa44cfff.js} +1 -1
  174. package/dist/esm-es5/{useVerificationEmail-c13c3b51.js → useVerificationEmail-9f2c0bab.js} +1 -1
  175. package/dist/esm-es5/{utilities-77b1e0cc.js → utilities-cbd8f2eb.js} +1 -1
  176. package/dist/esm-es5/utils-4f5cd04c.js +1 -0
  177. package/dist/mint-components/mint-components.esm.js +1 -1
  178. package/dist/mint-components/mint-components.js +1 -1
  179. package/dist/mint-components/{p-626b31cb.system.entry.js → p-025ddad2.system.entry.js} +1 -1
  180. package/dist/mint-components/{p-5b871e38.system.entry.js → p-02c0f88e.system.entry.js} +1 -1
  181. package/dist/mint-components/{p-f55ecf35.system.js → p-02e2b13b.system.js} +1 -1
  182. package/dist/mint-components/{p-a4f8abad.js → p-0766438e.js} +1 -1
  183. package/dist/mint-components/{p-205cfdcd.system.js → p-0815b973.system.js} +1 -1
  184. package/dist/mint-components/{p-db0a2afd.entry.js → p-092c2606.entry.js} +1 -1
  185. package/dist/mint-components/{p-fe1d3cf8.system.entry.js → p-099ce3d5.system.entry.js} +1 -1
  186. package/dist/mint-components/p-0a6489fa.entry.js +1 -0
  187. package/dist/mint-components/p-0afa6148.js +1 -0
  188. package/dist/mint-components/{p-fc284f91.system.entry.js → p-0b32e1d4.system.entry.js} +1 -1
  189. package/dist/mint-components/p-115dfc03.system.js +1 -0
  190. package/dist/mint-components/{p-7b59e13c.system.js → p-1317cc92.system.js} +1 -1
  191. package/dist/mint-components/{p-2b4af8e8.system.entry.js → p-13bb56a8.system.entry.js} +1 -1
  192. package/dist/mint-components/{p-f8a09b0f.js → p-13d8ecad.js} +1 -1
  193. package/dist/mint-components/p-13f3a647.js +1 -0
  194. package/dist/mint-components/{p-61897e72.entry.js → p-14183edc.entry.js} +1 -1
  195. package/dist/mint-components/{p-8f2d03c7.entry.js → p-1599a178.entry.js} +1 -1
  196. package/dist/mint-components/{p-02499e08.entry.js → p-1b0326d1.entry.js} +1 -1
  197. package/dist/mint-components/p-1d398dbc.entry.js +11 -0
  198. package/dist/mint-components/p-1d86895f.system.js +1 -0
  199. package/dist/mint-components/p-1e6a2945.js +1 -0
  200. package/dist/mint-components/{p-c8a3f3b0.js → p-1efb42e2.js} +1 -1
  201. package/dist/mint-components/p-1f387c7b.system.js +1 -0
  202. package/dist/mint-components/{p-a96c9bbb.system.entry.js → p-209157a9.system.entry.js} +1 -1
  203. package/dist/mint-components/{p-30c1ef36.system.js → p-2190dc73.system.js} +1 -1
  204. package/dist/mint-components/{p-80e116ec.system.entry.js → p-24f1d342.system.entry.js} +1 -1
  205. package/dist/mint-components/{p-6668f9f0.entry.js → p-27daf264.entry.js} +1 -1
  206. package/dist/mint-components/p-28ed2ae9.js +1 -0
  207. package/dist/mint-components/{p-09f7aacd.entry.js → p-29bc5f50.entry.js} +2 -2
  208. package/dist/mint-components/{p-738dce27.system.entry.js → p-2d3f7b76.system.entry.js} +1 -1
  209. package/dist/mint-components/p-2ed13619.entry.js +1 -0
  210. package/dist/mint-components/{p-c45a929a.system.entry.js → p-30cfe3e3.system.entry.js} +1 -1
  211. package/dist/mint-components/{p-d55c50af.system.js → p-31815fb6.system.js} +1 -1
  212. package/dist/mint-components/{p-c8bcbf8b.system.entry.js → p-3354cc75.system.entry.js} +1 -1
  213. package/dist/mint-components/{p-5bc5c61e.entry.js → p-335a5736.entry.js} +1 -1
  214. package/dist/mint-components/{p-e9485160.system.entry.js → p-33ca28ba.system.entry.js} +1 -1
  215. package/dist/mint-components/p-3596e241.entry.js +116 -0
  216. package/dist/mint-components/{p-8583ce0c.system.js → p-376c7608.system.js} +1 -1
  217. package/dist/mint-components/p-37e24621.system.entry.js +1 -0
  218. package/dist/mint-components/{p-95510f27.entry.js → p-38d04e4b.entry.js} +1 -1
  219. package/dist/mint-components/{p-e84b874c.js → p-3a41b39c.js} +1 -1
  220. package/dist/mint-components/{p-e5ea43b1.entry.js → p-3bbc0db2.entry.js} +2 -2
  221. package/dist/mint-components/{p-982d1f6f.entry.js → p-432a44de.entry.js} +3 -2
  222. package/dist/mint-components/{p-bab4929e.js → p-45230a44.js} +1 -1
  223. package/dist/mint-components/p-4691e9d5.system.js +1 -0
  224. package/dist/mint-components/{p-1d92c169.entry.js → p-4d73a616.entry.js} +1 -1
  225. package/dist/mint-components/{p-3bc62ca6.entry.js → p-4e3db52b.entry.js} +1 -1
  226. package/dist/mint-components/{p-3286ef38.js → p-4eaa3eb7.js} +1 -1
  227. package/dist/mint-components/{p-013564b3.entry.js → p-4eadbd5b.entry.js} +1 -1
  228. package/dist/mint-components/p-4f9dc974.js +1 -0
  229. package/dist/mint-components/{p-f7ca4cc4.system.entry.js → p-51ae6716.system.entry.js} +1 -1
  230. package/dist/mint-components/p-56b33268.system.entry.js +1 -0
  231. package/dist/mint-components/p-58c24352.system.js +6 -0
  232. package/dist/mint-components/p-5c52100b.js +117 -0
  233. package/dist/mint-components/{p-77b9cde8.system.js → p-5fdf0286.system.js} +1 -1
  234. package/dist/mint-components/{p-09348341.entry.js → p-60b1f3d9.entry.js} +1 -1
  235. package/dist/mint-components/{p-d005df28.system.entry.js → p-623a0a0b.system.entry.js} +1 -1
  236. package/dist/mint-components/{p-c30d0049.system.entry.js → p-6b4e5d94.system.entry.js} +1 -1
  237. package/dist/mint-components/{p-f4e36adf.system.entry.js → p-6f6c3ac6.system.entry.js} +1 -1
  238. package/dist/mint-components/p-6f8dde97.system.js +1 -0
  239. package/dist/mint-components/{p-43c31fd5.system.js → p-7628e56f.system.js} +1 -1
  240. package/dist/mint-components/{p-653db72e.entry.js → p-78e6dc8d.entry.js} +1 -1
  241. package/dist/mint-components/{p-f581aac7.js → p-7a091fa7.js} +1 -1
  242. package/dist/mint-components/{p-40bad95a.entry.js → p-7cbdf341.entry.js} +2 -2
  243. package/dist/mint-components/{p-044f930a.system.js → p-7d2d9ef9.system.js} +1 -1
  244. package/dist/mint-components/{p-5c4ba8a0.entry.js → p-7ea3f49c.entry.js} +1 -1
  245. package/dist/mint-components/{p-5ce78407.system.entry.js → p-81bc6dca.system.entry.js} +1 -1
  246. package/dist/mint-components/{p-f6528f8a.entry.js → p-84495fb8.entry.js} +1 -1
  247. package/dist/mint-components/{p-b96e90a2.system.entry.js → p-86d20b47.system.entry.js} +1 -1
  248. package/dist/mint-components/p-87f86492.js +1 -0
  249. package/dist/mint-components/{p-d0993bb9.js → p-8a6531d2.js} +1 -1
  250. package/dist/mint-components/p-8ae8968c.js +1 -0
  251. package/dist/mint-components/{p-7265bbcb.system.js → p-8e148cb0.system.js} +1 -1
  252. package/dist/mint-components/p-8f15bf17.entry.js +1 -0
  253. package/dist/mint-components/{p-b66f45d1.entry.js → p-921eb024.entry.js} +1 -1
  254. package/dist/mint-components/{p-f1374258.system.entry.js → p-925aa740.system.entry.js} +1 -1
  255. package/dist/mint-components/p-99eecdcb.system.entry.js +1 -0
  256. package/dist/mint-components/{p-e12754f5.system.entry.js → p-9a15cd5a.system.entry.js} +1 -1
  257. package/dist/mint-components/p-9c1f5317.system.js +1 -0
  258. package/dist/mint-components/{p-832aea99.js → p-9f48640d.js} +1 -1
  259. package/dist/mint-components/p-a38eece5.system.entry.js +1 -0
  260. package/dist/mint-components/p-a49d9288.entry.js +1 -0
  261. package/dist/mint-components/{p-90833864.system.entry.js → p-ab59c5eb.system.entry.js} +1 -1
  262. package/dist/mint-components/{p-e6240c72.js → p-abd717d4.js} +1 -1
  263. package/dist/mint-components/p-abe9f5b1.js +99 -0
  264. package/dist/mint-components/p-ae2f610e.system.js +1 -0
  265. package/dist/mint-components/p-b222bace.system.entry.js +1 -0
  266. package/dist/mint-components/{p-19c441b2.system.js → p-b2ad3fca.system.js} +1 -1
  267. package/dist/mint-components/{p-c8a8d231.entry.js → p-b3309d9b.entry.js} +2 -2
  268. package/dist/mint-components/p-b419f9ac.entry.js +299 -0
  269. package/dist/mint-components/{p-8962e023.js → p-b871d158.js} +1 -1
  270. package/dist/mint-components/p-b96ed8eb.js +1 -0
  271. package/dist/mint-components/p-badf28bb.system.js +1 -0
  272. package/dist/mint-components/{p-035d9b65.js → p-bb0b5e4b.js} +1 -1
  273. package/dist/mint-components/{p-52674798.entry.js → p-bcfdb510.entry.js} +1 -1
  274. package/dist/mint-components/p-be6a0dee.system.js +1 -0
  275. package/dist/mint-components/{p-642f2c89.js → p-bf9ab2d3.js} +1 -1
  276. package/dist/mint-components/{p-bc386a7b.js → p-c0a85e22.js} +1 -1
  277. package/dist/mint-components/p-c0f8f977.system.entry.js +1 -0
  278. package/dist/mint-components/p-c41d536d.entry.js +1 -0
  279. package/dist/mint-components/{p-a0c5631b.system.js → p-c66e5217.system.js} +1 -1
  280. package/dist/mint-components/p-cdabd9de.system.js +1 -0
  281. package/dist/mint-components/p-cfc35705.system.entry.js +1 -0
  282. package/dist/mint-components/{p-0d83907e.js → p-cfea215d.js} +1 -1
  283. package/dist/mint-components/p-d08408b3.entry.js +1 -0
  284. package/dist/mint-components/{p-172675ca.system.js → p-d284ae70.system.js} +1 -1
  285. package/dist/mint-components/{p-027fc3be.system.entry.js → p-d34564f8.system.entry.js} +1 -1
  286. package/dist/mint-components/{p-1021a49f.system.entry.js → p-db6bf7cf.system.entry.js} +1 -1
  287. package/dist/mint-components/{p-4da5a3fe.system.entry.js → p-df897432.system.entry.js} +1 -1
  288. package/dist/mint-components/{p-036a2617.system.js → p-e651593c.system.js} +1 -1
  289. package/dist/mint-components/{p-f39cf252.system.entry.js → p-e6de31a7.system.entry.js} +1 -1
  290. package/dist/mint-components/{p-2668335b.js → p-e8e7af06.js} +1 -1
  291. package/dist/mint-components/{p-85721089.system.js → p-e920c95c.system.js} +1 -1
  292. package/dist/mint-components/{p-3366b81e.js → p-eae44b42.js} +2 -2
  293. package/dist/mint-components/p-ebc519bc.system.js +1 -0
  294. package/dist/mint-components/{p-af407cce.entry.js → p-ef32fa8f.entry.js} +1 -1
  295. package/dist/mint-components/{p-7efb8782.system.js → p-f32050f6.system.js} +1 -1
  296. package/dist/mint-components/{p-782af7ae.system.entry.js → p-f6de2e5c.system.entry.js} +1 -1
  297. package/dist/mint-components/{p-9390586b.system.entry.js → p-fa85ea51.system.entry.js} +1 -1
  298. package/dist/mint-components/p-ff013776.entry.js +9 -0
  299. package/dist/mint-components/p-ffcebe78.entry.js +83 -0
  300. package/dist/types/components/sqm-partner-info-modal/PartnerInfoModal.stories.d.ts +15 -0
  301. package/dist/types/components/sqm-partner-info-modal/sqm-partner-info-modal-view.d.ts +50 -0
  302. package/dist/types/components/sqm-partner-info-modal/sqm-partner-info-modal.d.ts +123 -0
  303. package/dist/types/components/sqm-partner-info-modal/usePartnerInfoModal.d.ts +17 -0
  304. package/dist/types/components/sqm-referral-table/TaxAndCashReferralTableRewardsCell.stories.d.ts +18 -1
  305. package/dist/types/components/sqm-rewards-table/TaxAndCashRewardsTableCell.stories.d.ts +19 -7
  306. package/dist/types/components/sqm-widget-verification/WidgetVerification.stories.d.ts +8 -0
  307. package/dist/types/components/sqm-widget-verification/keys.d.ts +2 -0
  308. package/dist/types/components/sqm-widget-verification/sqm-widget-verification.d.ts +75 -7
  309. package/dist/types/components/sqm-widget-verification/useWidgetVerification.d.ts +2 -0
  310. package/dist/types/components/tax-and-cash/data.d.ts +3 -0
  311. package/dist/types/components/tax-and-cash/sqm-banking-info-form/formDefinitions.d.ts +8 -0
  312. package/dist/types/components/tax-and-cash/sqm-banking-info-form/sqm-banking-info-form-view.d.ts +4 -0
  313. package/dist/types/components/tax-and-cash/sqm-banking-info-form/sqm-banking-info-form.d.ts +173 -0
  314. package/dist/types/components/tax-and-cash/sqm-banking-info-form/useBankingInfoForm.d.ts +2 -0
  315. package/dist/types/components/tax-and-cash/sqm-indirect-tax-form/useIndirectTaxForm.d.ts +7 -0
  316. package/dist/types/components/tax-and-cash/sqm-tax-and-cash/sqm-tax-and-cash.d.ts +10 -5
  317. package/dist/types/components/tax-and-cash/sqm-user-info-form/sqm-user-info-form-view.d.ts +0 -1
  318. package/dist/types/components/tax-and-cash/sqm-user-info-form/sqm-user-info-form.d.ts +0 -4
  319. package/dist/types/components.d.ts +644 -32
  320. package/dist/types/saasquatch.d.ts +2 -0
  321. package/docs/docs.docx +0 -0
  322. package/docs/raisins.json +1 -1
  323. package/grapesjs/grapesjs.js +1 -1
  324. package/package.json +2 -4
  325. package/dist/cjs/extractProps-e9c55ba8.js +0 -35
  326. package/dist/cjs/sqm-email-verification.cjs.entry.js +0 -418
  327. package/dist/cjs/sqm-widget-verification.cjs.entry.js +0 -214
  328. package/dist/esm/data-12e6aae1.js +0 -216
  329. package/dist/esm/extractProps-54064fb0.js +0 -32
  330. package/dist/esm/keys-406491dc.js +0 -6
  331. package/dist/esm/sqm-email-verification.entry.js +0 -414
  332. package/dist/esm/sqm-widget-verification.entry.js +0 -210
  333. package/dist/esm-es5/data-12e6aae1.js +0 -1
  334. package/dist/esm-es5/extractProps-54064fb0.js +0 -1
  335. package/dist/esm-es5/keys-406491dc.js +0 -1
  336. package/dist/esm-es5/sqm-big-stat_46.entry.js +0 -1
  337. package/dist/esm-es5/sqm-email-verification.entry.js +0 -1
  338. package/dist/esm-es5/sqm-user-info-form-view-19d81a2b.js +0 -1
  339. package/dist/esm-es5/sqm-widget-verification.entry.js +0 -1
  340. package/dist/esm-es5/usePayoutStatus-46c0c289.js +0 -6
  341. package/dist/mint-components/p-00b235c5.system.entry.js +0 -1
  342. package/dist/mint-components/p-0706cf9e.system.entry.js +0 -1
  343. package/dist/mint-components/p-0797a946.js +0 -1
  344. package/dist/mint-components/p-13292317.entry.js +0 -11
  345. package/dist/mint-components/p-2d5c2bd4.system.entry.js +0 -1
  346. package/dist/mint-components/p-38c7775a.js +0 -1
  347. package/dist/mint-components/p-3adbfd0b.system.js +0 -6
  348. package/dist/mint-components/p-3af3e2c1.entry.js +0 -25
  349. package/dist/mint-components/p-5492dd51.system.entry.js +0 -1
  350. package/dist/mint-components/p-57dd28bd.system.js +0 -1
  351. package/dist/mint-components/p-5b1d2866.system.js +0 -1
  352. package/dist/mint-components/p-6c4ad51a.js +0 -1
  353. package/dist/mint-components/p-77fa2383.entry.js +0 -1
  354. package/dist/mint-components/p-7939e4af.entry.js +0 -1
  355. package/dist/mint-components/p-8285869e.entry.js +0 -9
  356. package/dist/mint-components/p-892797eb.system.entry.js +0 -1
  357. package/dist/mint-components/p-91a96e98.entry.js +0 -1
  358. package/dist/mint-components/p-b2b85238.entry.js +0 -1
  359. package/dist/mint-components/p-b395470f.entry.js +0 -16
  360. package/dist/mint-components/p-bba16a46.system.entry.js +0 -1
  361. package/dist/mint-components/p-be12607e.entry.js +0 -281
  362. package/dist/mint-components/p-bf188b72.system.entry.js +0 -1
  363. package/dist/mint-components/p-ca098be1.system.js +0 -1
  364. package/dist/mint-components/p-d18dedd4.js +0 -1
  365. package/dist/mint-components/p-d4f332a7.entry.js +0 -106
  366. package/dist/mint-components/p-d6193876.system.js +0 -1
  367. package/dist/mint-components/p-de0d6fd7.js +0 -49
  368. package/dist/mint-components/p-e00ec007.js +0 -1
  369. package/dist/mint-components/p-e55aafe9.system.js +0 -1
  370. package/dist/mint-components/p-ea03e50e.system.js +0 -1
  371. package/dist/mint-components/p-ec0b649a.entry.js +0 -1
  372. package/dist/mint-components/p-f8026ed6.system.js +0 -1
  373. package/dist/mint-components/p-fb804001.system.entry.js +0 -1
  374. package/dist/mint-components/p-fe70e20c.entry.js +0 -1
  375. package/dist/mint-components/p-ff118a19.system.js +0 -1
@@ -2,6 +2,9 @@ import { h } from "@stencil/core";
2
2
  export default {
3
3
  title: "Components/Tax And Cash Rewards Table Cell",
4
4
  };
5
+ // Reusable timestamps (current date is May 2026)
6
+ const PAST = 1640995200000; // Jan 1, 2022
7
+ const FUTURE = 2779257600000; // ~2058
5
8
  const cashReward = {
6
9
  id: "68c34fd98a6cb4f5f8394084",
7
10
  type: "CREDIT",
@@ -21,13 +24,13 @@ const cashReward = {
21
24
  name: "Cash",
22
25
  },
23
26
  name: null,
24
- dateCreated: 1757630425085,
25
- dateScheduledFor: 1757631025115,
26
- dateGiven: 1757630737115,
27
+ dateCreated: PAST,
28
+ dateScheduledFor: null,
29
+ dateGiven: PAST,
27
30
  dateExpires: null,
28
31
  dateCancelled: null,
29
- dateRedeemed: 1757630737115,
30
- dateModified: 1757630737115,
32
+ dateRedeemed: null,
33
+ dateModified: PAST,
31
34
  rewardSource: "MANUAL",
32
35
  fuelTankCode: null,
33
36
  fuelTankType: null,
@@ -60,154 +63,237 @@ const cashReward = {
60
63
  },
61
64
  referral: null,
62
65
  description: null,
63
- statuses: ["REDEEMED"],
66
+ statuses: [],
64
67
  rewardRedemptionTransactions: {
65
68
  data: null,
66
69
  },
67
70
  exchangedRewardRedemptionTransaction: null,
68
71
  pendingReasons: [],
72
+ rewardedCash: true,
69
73
  };
70
- const pending = {
71
- statuses: ["PENDING"],
72
- };
73
- const payoutSent = {
74
- statuses: ["PAYOUT_APPROVED"],
75
- };
76
- const payoutFailed = {
77
- statuses: ["PAYOUT_FAILED"],
78
- };
79
- const payoutCancelled = {
80
- statuses: ["PAYOUT_CANCELLED"],
81
- dateCancelled: 1355612521321,
82
- };
83
- const processingPFT = {
84
- partnerFundsTransfer: {
85
- id: "123",
86
- status: null,
87
- dateCreated: 1355612521321,
88
- dateScheduled: 2779257600000,
89
- dateTransferred: null,
74
+ // ============================================================
75
+ // Reusable tax connections
76
+ // ============================================================
77
+ const fullySetupTaxConnection = {
78
+ connected: true,
79
+ taxHandlingEnabled: true,
80
+ connectionStatus: "COMPLETED",
81
+ publisher: {
82
+ requiredTaxDocumentType: "W9",
83
+ currentTaxDocument: {
84
+ status: "ACTIVE",
85
+ type: "W9",
86
+ dateCreated: PAST,
87
+ },
88
+ withdrawalSettings: { paymentMethod: "BANK_TRANSFER" },
89
+ payoutsAccount: null,
90
90
  },
91
91
  };
92
- const taxConnection = {
92
+ const connectedNoWithdrawalSettings = {
93
93
  connected: true,
94
94
  taxHandlingEnabled: true,
95
+ connectionStatus: "COMPLETED",
95
96
  publisher: {
96
- requiredTaxDocumentType: "W8BEN",
97
+ requiredTaxDocumentType: "W9",
97
98
  currentTaxDocument: {
98
- status: "NOT_VERIFIED",
99
- type: "W8BEN",
100
- dateCreated: 321321487,
101
- },
102
- withdrawalSettings: {
103
- paymentMethod: "BANK_TRANSFER",
99
+ status: "ACTIVE",
100
+ type: "W9",
101
+ dateCreated: PAST,
104
102
  },
103
+ withdrawalSettings: null,
105
104
  payoutsAccount: null,
106
105
  },
107
106
  };
108
- export const CashReward = () => {
109
- return (h("sqm-rewards-table-reward-cell", { reward: { ...cashReward }, availableText: "{availableAmount} remaining" }));
110
- };
111
- export const StatusCellPendingTaxReview = () => {
112
- return (h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: { ...cashReward, ...pending, pendingReasons: ["US_TAX"] }, taxConnection: {
113
- ...taxConnection,
114
- publisher: {
115
- requiredTaxDocumentType: "W8BEN",
116
- currentTaxDocument: {
117
- status: "",
118
- },
119
- ...taxConnection.publisher,
120
- },
121
- } }));
122
- };
123
- export const StatusCellPendingNewTaxForm = () => {
124
- return (h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: {
125
- ...cashReward,
126
- statuses: ["PENDING"],
127
- pendingReasons: ["US_TAX"],
128
- }, taxConnection: {
129
- connected: true,
130
- taxHandlingEnabled: true,
131
- publisher: {
132
- requiredTaxDocumentType: "W8BEN",
133
- withdrawalSettings: {
134
- paymentMethod: "BANK_TRANSFER",
135
- },
136
- payoutsAccount: null,
137
- currentTaxDocument: {
138
- status: "INACTIVE",
139
- type: "W8BEN",
140
- dateCreated: 321321487,
141
- },
142
- },
143
- } }));
144
- };
145
- export const StatusCellPendingTaxSubmission = () => {
146
- return (h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: { ...cashReward, ...pending, pendingReasons: ["US_TAX"] }, taxConnection: {
147
- ...taxConnection,
148
- publisher: {
149
- ...taxConnection.publisher,
150
- requiredTaxDocumentType: "W8BEN",
151
- currentTaxDocument: null,
152
- },
153
- } }));
154
- };
155
- export const StatusCellPendingPartnerCreation = () => {
156
- return (h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: {
157
- ...cashReward,
158
- ...pending,
159
- pendingReasons: ["US_TAX"],
160
- }, taxConnection: {
161
- ...taxConnection,
162
- connected: false,
163
- } }));
164
- };
165
- export const StatusCellPendingW9 = () => {
166
- return (h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: {
167
- ...cashReward,
168
- ...pending,
169
- pendingReasons: ["US_TAX"],
170
- }, taxConnection: {
171
- ...taxConnection,
172
- taxHandlingEnabled: false,
173
- } }));
174
- };
175
- export const StatusCellPayoutSent = () => {
176
- return (h("sqm-rewards-table-status-cell", { statusText: "Payout Sent", reward: {
177
- ...cashReward,
178
- partnerFundsTransfer: {
179
- id: "transfer-123",
180
- status: "TRANSFERRED",
181
- dateScheduled: 1640995200000,
182
- dateTransferred: 1640995200000,
183
- dateCreated: 1640995200000,
184
- },
185
- }, taxConnection: taxConnection }));
107
+ const notConnectedTaxConnection = {
108
+ connected: false,
109
+ taxHandlingEnabled: true,
110
+ connectionStatus: "NOT_STARTED",
111
+ publisher: null,
186
112
  };
187
- export const StatusCellPayoutFailed = () => {
188
- return (h("sqm-rewards-table-status-cell", { statusText: "Payout Failed", reward: {
189
- ...cashReward,
190
- partnerFundsTransfer: {
191
- id: "transfer-failed",
192
- status: "OVERDUE",
193
- dateScheduled: 1640995200000,
194
- dateTransferred: null,
195
- dateCreated: 1640995200000,
113
+ // ============================================================
114
+ // Reward Cell (kept from original)
115
+ // ============================================================
116
+ export const CashReward = () => (h("sqm-rewards-table-reward-cell", { reward: { ...cashReward, statuses: ["REDEEMED"], dateRedeemed: PAST }, availableText: "{availableAmount} remaining" }));
117
+ // ============================================================
118
+ // STATUS PRECEDENCE LADDER — one story per rule
119
+ // (See sqm-rewards-table-status-column-new.feature § 2)
120
+ // ============================================================
121
+ // 1. Fraud check denied the referral → status is Denied
122
+ export const StatusCellFraudDenied = () => (h("sqm-rewards-table-status-cell", { statusText: "Denied", reward: {
123
+ ...cashReward,
124
+ referral: { fraudData: { moderationStatus: "DENIED" } },
125
+ }, taxConnection: fullySetupTaxConnection }));
126
+ // 2. Fraud check is still pending review → status is Pending Review
127
+ export const StatusCellFraudPendingReview = () => (h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: {
128
+ ...cashReward,
129
+ referral: { fraudData: { moderationStatus: "PENDING" } },
130
+ }, taxConnection: fullySetupTaxConnection }));
131
+ // 3. Partner funds transfer was reversed → status is Payout Cancelled
132
+ export const StatusCellPayoutCancelled = () => (h("sqm-rewards-table-status-cell", { statusText: "Payout Cancelled", reward: {
133
+ ...cashReward,
134
+ partnerFundsTransfer: {
135
+ id: "pft-reversed",
136
+ status: "REVERSED",
137
+ dateCreated: PAST,
138
+ dateScheduled: PAST,
139
+ dateTransferred: null,
140
+ },
141
+ }, taxConnection: fullySetupTaxConnection }));
142
+ // 4. Partner funds transfer is overdue → status is Payout Failed
143
+ export const StatusCellPayoutFailed = () => (h("sqm-rewards-table-status-cell", { statusText: "Payout Failed", reward: {
144
+ ...cashReward,
145
+ partnerFundsTransfer: {
146
+ id: "pft-overdue",
147
+ status: "OVERDUE",
148
+ dateCreated: PAST,
149
+ dateScheduled: PAST,
150
+ dateTransferred: null,
151
+ },
152
+ }, taxConnection: fullySetupTaxConnection }));
153
+ // 5. Connected partner has not finished withdrawal settings setup → status is Pending
154
+ export const StatusCellPartnerCreatedSetupStartedButIncomplete = () => (h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: {
155
+ ...cashReward,
156
+ partnerFundsTransfer: {
157
+ id: "pft-not-yet-due",
158
+ status: "NOT_YET_DUE",
159
+ dateCreated: PAST,
160
+ dateScheduled: FUTURE,
161
+ dateTransferred: null,
162
+ },
163
+ }, taxConnection: connectedNoWithdrawalSettings }));
164
+ // Reward is pending US_TAX and the partner has not been created yet → shows the partner-setup prompt
165
+ export const StatusCellPartnerNotCreatedSetupNotStarted = () => (h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: {
166
+ ...cashReward,
167
+ statuses: ["PENDING"],
168
+ pendingReasons: ["US_TAX"],
169
+ }, taxConnection: notConnectedTaxConnection }));
170
+ // 6. Reward has MISSING_PAYOUT_CONFIGURATION pending reason and no withdrawal settings → status is Pending
171
+ export const StatusCellMissingPayoutConfiguration = () => (h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: {
172
+ ...cashReward,
173
+ statuses: ["PENDING"],
174
+ pendingReasons: ["MISSING_PAYOUT_CONFIGURATION"],
175
+ }, taxConnection: connectedNoWithdrawalSettings }));
176
+ // 7. Partner funds transfer is scheduled for a future date → status is Processing
177
+ export const StatusCellPayoutProcessing = () => (h("sqm-rewards-table-status-cell", { statusText: "Processing", reward: {
178
+ ...cashReward,
179
+ partnerFundsTransfer: {
180
+ id: "pft-processing",
181
+ status: null,
182
+ dateCreated: PAST,
183
+ dateScheduled: FUTURE,
184
+ dateTransferred: null,
185
+ },
186
+ }, taxConnection: fullySetupTaxConnection }));
187
+ // 8. Partner funds transfer has been transferred → status is Payout Approved
188
+ export const StatusCellPayoutApproved = () => (h("sqm-rewards-table-status-cell", { statusText: "Payout Approved", reward: {
189
+ ...cashReward,
190
+ partnerFundsTransfer: {
191
+ id: "pft-transferred",
192
+ status: "TRANSFERRED",
193
+ dateCreated: PAST,
194
+ dateScheduled: PAST,
195
+ dateTransferred: PAST,
196
+ },
197
+ }, taxConnection: fullySetupTaxConnection }));
198
+ // 9. Reward has a cancellation date set → status is Cancelled
199
+ export const StatusCellRewardCancelled = () => (h("sqm-rewards-table-status-cell", { statusText: "Cancelled", reward: {
200
+ ...cashReward,
201
+ statuses: ["CANCELLED"],
202
+ dateCancelled: PAST,
203
+ }, taxConnection: fullySetupTaxConnection }));
204
+ // 10. Reward statuses include EXPIRED → status is Expired
205
+ export const StatusCellRewardExpired = () => (h("sqm-rewards-table-status-cell", { statusText: "Expired", reward: {
206
+ ...cashReward,
207
+ statuses: ["EXPIRED"],
208
+ dateExpires: PAST,
209
+ }, taxConnection: fullySetupTaxConnection }));
210
+ // 11. Reward is pending and scheduled for a future date → status is Pending with the scheduled date shown
211
+ export const StatusCellPendingScheduled = () => (h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: {
212
+ ...cashReward,
213
+ statuses: ["PENDING"],
214
+ pendingReasons: ["SCHEDULED"],
215
+ dateScheduledFor: FUTURE,
216
+ }, taxConnection: fullySetupTaxConnection }));
217
+ // 12. Reward does not match any precedence rule → no badge text, no description
218
+ export const StatusCellNoMatchingRule = () => (h("sqm-rewards-table-status-cell", { statusText: "", reward: {
219
+ ...cashReward,
220
+ statuses: [],
221
+ }, taxConnection: fullySetupTaxConnection }));
222
+ // ============================================================
223
+ // US_TAX getTaxPendingReasons branches (Pending Description Resolution § 5)
224
+ // ============================================================
225
+ // Reward is pending US_TAX but tax handling is disabled → shows "W-9 required"
226
+ export const StatusCellPendingW9Required = () => (h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: {
227
+ ...cashReward,
228
+ statuses: ["PENDING"],
229
+ pendingReasons: ["US_TAX"],
230
+ }, taxConnection: { ...fullySetupTaxConnection, taxHandlingEnabled: false } }));
231
+ // Partner is connected but has not submitted any tax documents → shows the submit-tax-docs prompt
232
+ export const StatusCellPendingTaxSubmission = () => (h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: {
233
+ ...cashReward,
234
+ statuses: ["PENDING"],
235
+ pendingReasons: ["US_TAX"],
236
+ }, taxConnection: {
237
+ ...fullySetupTaxConnection,
238
+ publisher: {
239
+ ...fullySetupTaxConnection.publisher,
240
+ currentTaxDocument: null,
241
+ },
242
+ } }));
243
+ // Partner's tax document is inactive (rejected) → shows the submit-a-new-form prompt
244
+ export const StatusCellPendingNewTaxForm = () => (h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: {
245
+ ...cashReward,
246
+ statuses: ["PENDING"],
247
+ pendingReasons: ["US_TAX"],
248
+ }, taxConnection: {
249
+ ...fullySetupTaxConnection,
250
+ publisher: {
251
+ ...fullySetupTaxConnection.publisher,
252
+ currentTaxDocument: {
253
+ status: "INACTIVE",
254
+ type: "W9",
255
+ dateCreated: PAST,
196
256
  },
197
- } }));
198
- };
199
- export const StatusCellPayoutProcessing = () => {
200
- return (h("sqm-rewards-table-status-cell", { statusText: "Payment Processing", reward: { ...cashReward, ...processingPFT } }));
201
- };
202
- export const StatusCellPayoutCancelled = () => {
203
- return (h("sqm-rewards-table-status-cell", { statusText: "Payout Cancelled", reward: {
204
- ...cashReward,
205
- partnerFundsTransfer: {
206
- id: "transfer-reversed",
207
- status: "REVERSED",
208
- dateScheduled: 1640995200000,
209
- dateTransferred: null,
210
- dateCreated: 1640995200000,
257
+ },
258
+ } }));
259
+ // Partner's tax document is awaiting verification → shows the awaiting-review prompt
260
+ export const StatusCellPendingTaxReview = () => (h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: {
261
+ ...cashReward,
262
+ statuses: ["PENDING"],
263
+ pendingReasons: ["US_TAX"],
264
+ }, taxConnection: {
265
+ ...fullySetupTaxConnection,
266
+ publisher: {
267
+ ...fullySetupTaxConnection.publisher,
268
+ currentTaxDocument: {
269
+ status: "NOT_VERIFIED",
270
+ type: "W9",
271
+ dateCreated: PAST,
211
272
  },
212
- } }));
213
- };
273
+ },
274
+ } }));
275
+ // Partner has an active tax form but has not configured withdrawal settings → shows the partner-setup prompt
276
+ export const StatusCellExistingTaxFormNoWithdrawalSettings = () => (h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: {
277
+ ...cashReward,
278
+ statuses: ["PENDING"],
279
+ pendingReasons: ["US_TAX"],
280
+ }, taxConnection: connectedNoWithdrawalSettings }));
281
+ // Partner is connected, no tax form is required, but withdrawal settings are not submitted → shows the partner-setup prompt
282
+ export const StatusCellConnectedNoTaxRequiredNoWithdrawalSettings = () => (h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: {
283
+ ...cashReward,
284
+ statuses: ["PENDING"],
285
+ pendingReasons: [],
286
+ }, taxConnection: {
287
+ connected: true,
288
+ taxHandlingEnabled: true,
289
+ connectionStatus: "COMPLETED",
290
+ publisher: {
291
+ requiredTaxDocumentType: null,
292
+ currentTaxDocument: null,
293
+ withdrawalSettings: null,
294
+ payoutsAccount: null,
295
+ },
296
+ } }));
297
+ // Aliases kept for the table-level stories file
298
+ export const StatusCellPayoutSent = StatusCellPayoutApproved;
299
+ export const StatusCellPendingW9 = StatusCellPendingW9Required;
@@ -68,7 +68,7 @@ export class RewardTableStatusCell {
68
68
  this.pendingTaxReview = "Awaiting tax form review.";
69
69
  this.pendingNewTaxForm = "Invalid tax form. Submit a new form to receive your rewards.";
70
70
  this.pendingTaxSubmission = "Submit your tax documents to receive your rewards.";
71
- this.pendingPartnerCreation = "Complete your tax and cash payout setup to receive your rewards.";
71
+ this.pendingPartnerCreation = "Complete your cash payout setup to receive your rewards.";
72
72
  this.pendingScheduled = "Until";
73
73
  this.pendingUnhandled = "Fulfillment error";
74
74
  this.pendingReviewText = "Awaiting review";
@@ -79,16 +79,26 @@ export class RewardTableStatusCell {
79
79
  this.payoutProcessing = "Processing until {date}. Payout is then scheduled based on your settings.";
80
80
  }
81
81
  rewardStatus(reward) {
82
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
82
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
83
83
  const hasExpired = (_a = reward.statuses) === null || _a === void 0 ? void 0 : _a.includes("EXPIRED");
84
84
  const isPending = (_b = reward.statuses) === null || _b === void 0 ? void 0 : _b.includes("PENDING");
85
85
  const integrationOrFueltankReward = reward.type === "INTEGRATION" || reward.type === "FUELTANK";
86
+ // AL: TODO Scott said we should change this to use pendingReasons instead of fraudStatus - probably dont want to change this for backwards compatibility
86
87
  const fraudStatus = (_d = (_c = reward.referral) === null || _c === void 0 ? void 0 : _c.fraudData) === null || _d === void 0 ? void 0 : _d.moderationStatus;
87
88
  if (fraudStatus === "DENIED")
88
89
  return "DENIED";
89
90
  if (fraudStatus === "PENDING")
90
91
  return "PENDING_REVIEW";
91
- const partnerTransferStatus = (_e = reward.partnerFundsTransfer) === null || _e === void 0 ? void 0 : _e.status;
92
+ const isCashReward = reward.rewardedCash;
93
+ console.log(this.reward, "reward in status cell");
94
+ // pft can now be created before withdrawal settings exist
95
+ if (isCashReward) {
96
+ if (!((_e = this.taxConnection) === null || _e === void 0 ? void 0 : _e.connected) ||
97
+ (((_f = this.taxConnection) === null || _f === void 0 ? void 0 : _f.connected) &&
98
+ !((_h = (_g = this.taxConnection) === null || _g === void 0 ? void 0 : _g.publisher) === null || _h === void 0 ? void 0 : _h.withdrawalSettings)))
99
+ return "PENDING";
100
+ }
101
+ const partnerTransferStatus = (_j = reward.partnerFundsTransfer) === null || _j === void 0 ? void 0 : _j.status;
92
102
  if (reward.partnerFundsTransfer) {
93
103
  if (partnerTransferStatus === "REVERSED")
94
104
  return "PAYOUT_CANCELLED";
@@ -113,24 +123,24 @@ export class RewardTableStatusCell {
113
123
  if (isPending)
114
124
  return "PENDING";
115
125
  if (reward.type === "CREDIT") {
116
- return ((_f = reward.statuses) === null || _f === void 0 ? void 0 : _f.includes("REDEEMED")) ? "REDEEMED" : "AVAILABLE";
126
+ return ((_k = reward.statuses) === null || _k === void 0 ? void 0 : _k.includes("REDEEMED")) ? "REDEEMED" : "AVAILABLE";
117
127
  }
118
- if (reward.type === "PCT_DISCOUNT" && ((_g = reward.statuses) === null || _g === void 0 ? void 0 : _g.includes("AVAILABLE"))) {
128
+ if (reward.type === "PCT_DISCOUNT" && ((_l = reward.statuses) === null || _l === void 0 ? void 0 : _l.includes("AVAILABLE"))) {
119
129
  return "AVAILABLE";
120
130
  }
121
131
  if (integrationOrFueltankReward && isPending) {
122
132
  return "PENDING";
123
133
  }
124
- if (integrationOrFueltankReward && ((_h = reward.statuses) === null || _h === void 0 ? void 0 : _h.includes("CANCELLED"))) {
134
+ if (integrationOrFueltankReward && ((_m = reward.statuses) === null || _m === void 0 ? void 0 : _m.includes("CANCELLED"))) {
125
135
  return "CANCELLED";
126
136
  }
127
- if (integrationOrFueltankReward && ((_j = reward.statuses) === null || _j === void 0 ? void 0 : _j.includes("AVAILABLE"))) {
137
+ if (integrationOrFueltankReward && ((_o = reward.statuses) === null || _o === void 0 ? void 0 : _o.includes("AVAILABLE"))) {
128
138
  return "AVAILABLE";
129
139
  }
130
140
  return "";
131
141
  }
132
142
  getTaxPendingReasons(reward, taxConnection) {
133
- var _a, _b, _c, _d, _e;
143
+ var _a, _b, _c, _d, _e, _f;
134
144
  if ((_a = reward === null || reward === void 0 ? void 0 : reward.pendingReasons) === null || _a === void 0 ? void 0 : _a.includes("US_TAX")) {
135
145
  if (!(taxConnection === null || taxConnection === void 0 ? void 0 : taxConnection.taxHandlingEnabled))
136
146
  return this.pendingUsTax;
@@ -145,12 +155,22 @@ export class RewardTableStatusCell {
145
155
  if (status === "NOT_VERIFIED")
146
156
  return this.pendingTaxReview;
147
157
  }
148
- if (!((_d = taxConnection === null || taxConnection === void 0 ? void 0 : taxConnection.publisher) === null || _d === void 0 ? void 0 : _d.withdrawalSettings))
158
+ if (!((_d = taxConnection === null || taxConnection === void 0 ? void 0 : taxConnection.publisher) === null || _d === void 0 ? void 0 : _d.withdrawalSettings)) {
149
159
  return this.pendingPartnerCreation;
160
+ }
150
161
  }
151
162
  if ((_e = reward === null || reward === void 0 ? void 0 : reward.pendingReasons) === null || _e === void 0 ? void 0 : _e.includes("MISSING_PAYOUT_CONFIGURATION")) {
152
163
  return this.pendingPartnerCreation;
153
164
  }
165
+ // Fallback: when rewardStatus() forced PENDING because the user is
166
+ // connected but hasn't set up withdrawal settings (no pendingReasons
167
+ // were returned by the API, e.g. for credit rewards with a PFT).
168
+ if (reward.rewardedCash) {
169
+ if (!(taxConnection === null || taxConnection === void 0 ? void 0 : taxConnection.connected) ||
170
+ ((taxConnection === null || taxConnection === void 0 ? void 0 : taxConnection.connected) &&
171
+ !((_f = taxConnection === null || taxConnection === void 0 ? void 0 : taxConnection.publisher) === null || _f === void 0 ? void 0 : _f.withdrawalSettings)))
172
+ return this.pendingPartnerCreation;
173
+ }
154
174
  return "";
155
175
  }
156
176
  getBadgeType(rewardStatus) {
@@ -447,7 +467,7 @@ export class RewardTableStatusCell {
447
467
  },
448
468
  "attribute": "pending-partner-creation",
449
469
  "reflect": false,
450
- "defaultValue": "\"Complete your tax and cash payout setup to receive your rewards.\""
470
+ "defaultValue": "\"Complete your cash payout setup to receive your rewards.\""
451
471
  },
452
472
  "pendingScheduled": {
453
473
  "type": "string",
@@ -49,6 +49,7 @@ const GET_REWARDS = gql `
49
49
  fuelTankCode
50
50
  fuelTankType
51
51
  currency
52
+ rewardedCash
52
53
  prettyValue(locale: $locale)
53
54
  prettyValueNumber: prettyValue(
54
55
  formatType: NUMBER_FORMATTED
@@ -107,6 +107,8 @@ import * as LeadFormDropdownField from "../sqm-lead-form/LeadFormDropdownField.s
107
107
  import * as LeadCheckboxField from "../sqm-lead-form/LeadCheckboxField.stories";
108
108
  import * as Skeleton from "../sqm-skeleton/Skeleton.stories";
109
109
  import * as UserInfoFormView from "../tax-and-cash/sqm-user-info-form/UserInfoFormView.stories";
110
+ import * as PartnerInfoModal from "../sqm-partner-info-modal/PartnerInfoModal.stories";
111
+ import * as WidgetVerification from "../sqm-widget-verification/WidgetVerification.stories";
110
112
  import * as UserAttribute from "../sqm-user-attribute/UserAttribute.stories";
111
113
  import { ShadowViewAddon } from "../../ShadowViewAddon";
112
114
  import { CucumberAddon } from "./CucumberAddon";
@@ -219,6 +221,8 @@ const stories = [
219
221
  TaxAndCashRewardsTable,
220
222
  TaxAndCashReferralTableRewardsCell,
221
223
  TaxAndCashReferralTable,
224
+ PartnerInfoModal,
225
+ WidgetVerification,
222
226
  UserAttribute,
223
227
  ];
224
228
  /**
@@ -0,0 +1,16 @@
1
+ import { h } from "@stencil/core";
2
+ export default {
3
+ title: "Components/Widget Verification",
4
+ };
5
+ export const Step1Email = () => (h("sqm-widget-verification", { stateController: JSON.stringify({
6
+ "sqm-widget-verification": { showCode: false },
7
+ }) }));
8
+ export const Step2Code = () => (h("sqm-widget-verification", { stateController: JSON.stringify({
9
+ "sqm-widget-verification": { showCode: true },
10
+ }) }));
11
+ export const Step3PartnerModal = () => (h("sqm-widget-verification", { stateController: JSON.stringify({
12
+ "sqm-widget-verification": { showPartnerModal: true },
13
+ }) }));
14
+ export const Loading = () => (h("sqm-widget-verification", { stateController: JSON.stringify({
15
+ "sqm-widget-verification": { loading: true },
16
+ }) }));
@@ -1,4 +1,6 @@
1
1
  export const SHOW_CODE_NAMESPACE = "sq:code-verification";
2
+ export const SHOW_PARTNER_MODAL_NAMESPACE = "sq:show-partner-modal";
3
+ export const PARTNER_CREATED_NAMESPACE = "sq:partner-created";
2
4
  export const VERIFICATION_EMAIL_NAMESPACE = "sq:verification-email";
3
5
  export const VERIFICATION_PARENT_NAMESPACE = "sq:verification-context";
4
6
  export const VERIFICATION_EVENT_KEY = "sq:code-verified";
@@ -54,7 +54,6 @@ const style = {
54
54
  },
55
55
  ContinueButton: {
56
56
  width: "100%",
57
- maxWidth: "100px",
58
57
  },
59
58
  FooterContainer: {
60
59
  display: "flex",
@@ -132,7 +131,7 @@ export function WidgetCodeVerificationView(props) {
132
131
  h("sl-input", { class: inputClass, name: "code" }),
133
132
  h("sl-input", { class: inputClass, name: "code" })),
134
133
  states.verifyFailed && (h("p", { class: sheet.classes.ErrorText }, text.invalidCodeText)),
135
- h("sl-button", { class: sheet.classes.ContinueButton, onClick: callbacks.submitCode, disabled: states.loading || states.initialiseLoading, loading: states.loading || states.initialiseLoading, exportparts: "base: primarybutton-base", type: "primary" }, text.verifyText)),
136
- h("div", { class: sheet.classes.FooterContainer },
137
- h(TextSpanView, { type: "p" }, resendCodeText)))));
134
+ h("div", { class: sheet.classes.FooterContainer },
135
+ h(TextSpanView, { type: "p" }, resendCodeText)),
136
+ h("sl-button", { class: sheet.classes.ContinueButton, onClick: callbacks.submitCode, disabled: states.loading || states.initialiseLoading, loading: states.loading || states.initialiseLoading, exportparts: "base: primarybutton-base", type: "primary" }, text.verifyText)))));
138
137
  }
@@ -14,11 +14,9 @@ const style = {
14
14
  gap: "var(--sl-spacing-medium)",
15
15
  position: "relative",
16
16
  flexDirection: "column",
17
- maxWidth: "320px",
18
17
  },
19
18
  ContinueButton: {
20
19
  width: "100%",
21
- maxWidth: "100px",
22
20
  },
23
21
  SkeletonOne: {
24
22
  width: "50%",
@@ -61,7 +61,7 @@ export function useUpsertUserEmail() {
61
61
  }
62
62
  export function useWidgetEmailVerification(props) {
63
63
  const [_, setShowCode] = useParent(SHOW_CODE_NAMESPACE);
64
- const [email, setEmail] = useParent(VERIFICATION_EMAIL_NAMESPACE);
64
+ const [_email, setEmail] = useParent(VERIFICATION_EMAIL_NAMESPACE);
65
65
  const [emailExists, setEmailExists] = useState(false);
66
66
  const [error, setError] = useState(false);
67
67
  const [mutationError, setMutationError] = useState(false);
@@ -80,29 +80,39 @@ export function useWidgetEmailVerification(props) {
80
80
  setLoading(false);
81
81
  }, [initialized]);
82
82
  const submitEmail = async (e) => {
83
+ var _a, _b, _c, _d;
83
84
  e.preventDefault();
84
85
  if (!(data === null || data === void 0 ? void 0 : data.viewer))
85
86
  return;
86
87
  setLoading(true);
87
- const toAddress = data.viewer.email;
88
+ setMutationError(false);
89
+ setError(false);
90
+ let toAddress = data.viewer.email;
88
91
  if (!toAddress) {
89
- // If no email on the user, set one
90
- const formData = e.detail.formData;
91
- const newEmail = formData.get("email").toString();
92
+ const formData = (_a = e.detail) === null || _a === void 0 ? void 0 : _a.formData;
93
+ const newEmail = (_c = (_b = formData === null || formData === void 0 ? void 0 : formData.get("email")) === null || _b === void 0 ? void 0 : _b.toString()) !== null && _c !== void 0 ? _c : "";
92
94
  if (!emailRegex.test(newEmail)) {
93
95
  setError(true);
96
+ setLoading(false);
94
97
  return;
95
98
  }
96
- const result = await upsertUserEmail(newEmail);
97
- if (!result || !result.user.email)
99
+ const upsertResult = await upsertUserEmail(newEmail);
100
+ if (!upsertResult || !((_d = upsertResult.upsertUser) === null || _d === void 0 ? void 0 : _d.email)) {
98
101
  setError(true);
102
+ setLoading(false);
103
+ return;
104
+ }
105
+ toAddress = upsertResult.upsertUser.email;
99
106
  }
100
107
  // UI should not allow this call til initialisation is done
101
- if (!initialized)
108
+ if (!initialized) {
109
+ setLoading(false);
102
110
  return;
111
+ }
103
112
  const result = await sendEmail();
104
- if (!result || !result.success)
113
+ if (!result || !result.success) {
105
114
  setMutationError(true);
115
+ }
106
116
  else {
107
117
  // This is used to let the code verification widget know an email was already sent
108
118
  setEmail(toAddress);