@saasquatch/mint-components 2.2.0 → 2.3.0-10

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 (387) 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 +480 -1059
  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 +879 -0
  11. package/dist/cjs/sqm-partner-info-modal-view-2b6fee0f.js +155 -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 +940 -357
  15. package/dist/cjs/sqm-user-info-form-view-374a3f01.js +1427 -0
  16. package/dist/cjs/sqm-widget-verification-controller.cjs.entry.js +1 -1
  17. package/dist/cjs/subregions-984e30d7.js +1505 -0
  18. package/dist/cjs/{usePayoutStatus-0192fccd.js → useIndirectTaxForm-112914a0.js} +294 -5
  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 +149 -0
  22. package/dist/collection/components/sqm-partner-info-modal/sqm-partner-info-modal.js +671 -0
  23. package/dist/collection/components/sqm-partner-info-modal/usePartnerInfoModal.js +261 -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 +6 -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/sqm-indirect-tax-form-view.js +2 -10
  47. package/dist/collection/components/tax-and-cash/sqm-indirect-tax-form/sqm-indirect-tax-form.js +1 -1
  48. package/dist/collection/components/tax-and-cash/sqm-indirect-tax-form/useIndirectTaxForm.js +51 -12
  49. package/dist/collection/components/tax-and-cash/sqm-payout-details-card/PayoutDetailsCard.stories.js +6 -0
  50. package/dist/collection/components/tax-and-cash/sqm-payout-details-card/sqm-payout-details-card-view.js +13 -2
  51. package/dist/collection/components/tax-and-cash/sqm-tax-and-cash/sqm-tax-and-cash.js +59 -30
  52. package/dist/collection/components/tax-and-cash/sqm-tax-and-cash/useTaxAndCash.js +51 -2
  53. package/dist/collection/components/tax-and-cash/sqm-tax-and-cash-dashboard/TaxAndCashDashboardView.stories.js +151 -0
  54. package/dist/collection/components/tax-and-cash/sqm-user-info-form/UserInfoFormView.stories.js +0 -1
  55. package/dist/collection/components/tax-and-cash/sqm-user-info-form/sqm-user-info-form-view.js +26 -23
  56. package/dist/collection/components/tax-and-cash/sqm-user-info-form/sqm-user-info-form.js +0 -25
  57. package/dist/collection/components/tax-and-cash/sqm-user-info-form/useUserInfoForm.js +39 -19
  58. package/dist/collection/components/tax-and-cash/utils.js +55 -0
  59. package/dist/esm/{ShadowViewAddon-0b980200.js → ShadowViewAddon-e115fa1c.js} +5 -5
  60. package/dist/{mint-components/p-0c0d4065.js → esm/data-8698cbc6.js} +25 -5
  61. package/dist/esm/eventKeys-f76b6a03.js +3 -0
  62. package/dist/esm/{global-96c14d63.js → global-75e96214.js} +1 -1
  63. package/dist/esm/{index.module-b23fdad8.js → index.module-02cb914c.js} +1 -1
  64. package/dist/esm/keys-1054056a.js +8 -0
  65. package/dist/esm/loader.js +3 -3
  66. package/dist/esm/mint-components.js +3 -3
  67. package/dist/esm/parseStates-ed75e224.js +14 -0
  68. package/dist/esm/{re-render-f30aeb6b.js → re-render-bf46ba54.js} +1 -1
  69. package/dist/esm/sqm-banking-info-form_10.entry.js +466 -1045
  70. package/dist/esm/{sqm-big-stat_46.entry.js → sqm-big-stat_47.entry.js} +454 -21
  71. package/dist/esm/sqm-close-button.entry.js +1 -1
  72. package/dist/esm/sqm-code-verification.entry.js +7 -8
  73. package/dist/esm/sqm-context-router.entry.js +1 -1
  74. package/dist/esm/sqm-email-verification_2.entry.js +874 -0
  75. package/dist/esm/sqm-empty_4.entry.js +2 -2
  76. package/dist/esm/sqm-google-sign-in.entry.js +1 -1
  77. package/dist/esm/sqm-graphql-client-provider.entry.js +1 -1
  78. package/dist/esm/sqm-instant-access-registration.entry.js +3 -3
  79. package/dist/esm/{sqm-lead-checkbox-field-view-7928db07.js → sqm-lead-checkbox-field-view-bfafee56.js} +1 -1
  80. package/dist/esm/sqm-lead-checkbox-field.entry.js +4 -4
  81. package/dist/esm/{sqm-lead-input-field-view-d1b91650.js → sqm-lead-input-field-view-b945edf4.js} +1 -1
  82. package/dist/esm/sqm-lead-input-field.entry.js +4 -4
  83. package/dist/esm/sqm-leaderboard-rank.entry.js +2 -2
  84. package/dist/esm/sqm-logout-current-user.entry.js +1 -1
  85. package/dist/esm/{sqm-navigation-sidebar-item-view-b3beac5a.js → sqm-navigation-sidebar-item-view-8d98fcf3.js} +1 -1
  86. package/dist/esm/sqm-navigation-sidebar-item.entry.js +2 -2
  87. package/dist/esm/sqm-navigation-sidebar.entry.js +1 -1
  88. package/dist/esm/sqm-pagination_3.entry.js +3 -3
  89. package/dist/esm/sqm-partner-info-modal-view-bc843d7d.js +152 -0
  90. package/dist/esm/sqm-password-field.entry.js +2 -2
  91. package/dist/esm/sqm-popup-container.entry.js +1 -1
  92. package/dist/esm/{sqm-portal-email-verification-view-04528277.js → sqm-portal-email-verification-view-fde1eb35.js} +1 -1
  93. package/dist/esm/sqm-portal-email-verification.entry.js +3 -3
  94. package/dist/esm/sqm-portal-forgot-password_6.entry.js +4 -4
  95. package/dist/esm/sqm-portal-logout.entry.js +1 -1
  96. package/dist/esm/{sqm-portal-profile-view-b5ea620f.js → sqm-portal-profile-view-2018590a.js} +1 -1
  97. package/dist/esm/sqm-portal-profile.entry.js +4 -4
  98. package/dist/esm/sqm-portal-protected-route.entry.js +1 -1
  99. package/dist/esm/sqm-portal-reset-password.entry.js +1 -1
  100. package/dist/esm/{sqm-portal-verify-email-view-c61536b7.js → sqm-portal-verify-email-view-590f964b.js} +1 -1
  101. package/dist/esm/sqm-qr-code.entry.js +2 -2
  102. package/dist/esm/sqm-referral-table_11.entry.js +32 -14
  103. package/dist/esm/sqm-rewards-table-customer-note-column.entry.js +2 -2
  104. package/dist/esm/sqm-rewards-table_9.entry.js +35 -14
  105. package/dist/esm/sqm-stencilbook.entry.js +916 -333
  106. package/dist/esm/sqm-tab.entry.js +2 -2
  107. package/dist/esm/sqm-tabs.entry.js +3 -3
  108. package/dist/esm/sqm-user-info-form-view-5322525c.js +1421 -0
  109. package/dist/esm/sqm-widget-verification-controller.entry.js +2 -2
  110. package/dist/esm/subregions-7c9778d0.js +1492 -0
  111. package/dist/esm/{useChildElements-9bccfb72.js → useChildElements-06937df7.js} +1 -1
  112. package/dist/esm/{usePayoutStatus-46c0c289.js → useIndirectTaxForm-a6ac7e7e.js} +292 -5
  113. package/dist/esm/{useInstantAccessRegistration-69fefed0.js → useInstantAccessRegistration-69c9ffe0.js} +2 -2
  114. package/dist/esm/{useLeadFormState-dd4e8b08.js → useLeadFormState-332b2796.js} +2 -2
  115. package/dist/esm/{usePortalRegistrationForm-62de6fb1.js → usePortalRegistrationForm-3a1f36a2.js} +2 -2
  116. package/dist/esm/{useReferralCodes-52ca720f.js → useReferralCodes-25f8b792.js} +1 -1
  117. package/dist/esm/{useReferralTable-92af4133.js → useReferralTable-03d32c6f.js} +3 -3
  118. package/dist/esm/{useRegistrationFormState-2c090c38.js → useRegistrationFormState-aa44cfff.js} +1 -1
  119. package/dist/esm/{useVerificationEmail-c13c3b51.js → useVerificationEmail-9f2c0bab.js} +1 -1
  120. package/dist/esm/{utilities-77b1e0cc.js → utilities-cbd8f2eb.js} +1 -1
  121. package/dist/esm-es5/{ShadowViewAddon-0b980200.js → ShadowViewAddon-e115fa1c.js} +1 -1
  122. package/dist/esm-es5/data-8698cbc6.js +1 -0
  123. package/dist/esm-es5/eventKeys-f76b6a03.js +1 -0
  124. package/dist/esm-es5/{global-96c14d63.js → global-75e96214.js} +1 -1
  125. package/dist/esm-es5/{index.module-b23fdad8.js → index.module-02cb914c.js} +1 -1
  126. package/dist/esm-es5/keys-1054056a.js +1 -0
  127. package/dist/esm-es5/loader.js +1 -1
  128. package/dist/esm-es5/mint-components.js +1 -1
  129. package/dist/esm-es5/parseStates-ed75e224.js +1 -0
  130. package/dist/esm-es5/{re-render-f30aeb6b.js → re-render-bf46ba54.js} +1 -1
  131. package/dist/esm-es5/sqm-banking-info-form_10.entry.js +1 -1
  132. package/dist/esm-es5/sqm-big-stat_47.entry.js +1 -0
  133. package/dist/esm-es5/sqm-close-button.entry.js +1 -1
  134. package/dist/esm-es5/sqm-code-verification.entry.js +1 -1
  135. package/dist/esm-es5/sqm-context-router.entry.js +1 -1
  136. package/dist/esm-es5/sqm-email-verification_2.entry.js +1 -0
  137. package/dist/esm-es5/sqm-empty_4.entry.js +1 -1
  138. package/dist/esm-es5/sqm-google-sign-in.entry.js +1 -1
  139. package/dist/esm-es5/sqm-graphql-client-provider.entry.js +1 -1
  140. package/dist/esm-es5/sqm-instant-access-registration.entry.js +1 -1
  141. package/dist/esm-es5/{sqm-lead-checkbox-field-view-7928db07.js → sqm-lead-checkbox-field-view-bfafee56.js} +1 -1
  142. package/dist/esm-es5/sqm-lead-checkbox-field.entry.js +1 -1
  143. package/dist/esm-es5/{sqm-lead-input-field-view-d1b91650.js → sqm-lead-input-field-view-b945edf4.js} +1 -1
  144. package/dist/esm-es5/sqm-lead-input-field.entry.js +1 -1
  145. package/dist/esm-es5/sqm-leaderboard-rank.entry.js +1 -1
  146. package/dist/esm-es5/sqm-logout-current-user.entry.js +1 -1
  147. package/dist/esm-es5/{sqm-navigation-sidebar-item-view-b3beac5a.js → sqm-navigation-sidebar-item-view-8d98fcf3.js} +1 -1
  148. package/dist/esm-es5/sqm-navigation-sidebar-item.entry.js +1 -1
  149. package/dist/esm-es5/sqm-navigation-sidebar.entry.js +1 -1
  150. package/dist/esm-es5/sqm-pagination_3.entry.js +1 -1
  151. package/dist/esm-es5/sqm-partner-info-modal-view-bc843d7d.js +1 -0
  152. package/dist/esm-es5/sqm-password-field.entry.js +1 -1
  153. package/dist/esm-es5/sqm-popup-container.entry.js +1 -1
  154. package/dist/esm-es5/{sqm-portal-email-verification-view-04528277.js → sqm-portal-email-verification-view-fde1eb35.js} +1 -1
  155. package/dist/esm-es5/sqm-portal-email-verification.entry.js +1 -1
  156. package/dist/esm-es5/sqm-portal-forgot-password_6.entry.js +1 -1
  157. package/dist/esm-es5/sqm-portal-logout.entry.js +1 -1
  158. package/dist/esm-es5/{sqm-portal-profile-view-b5ea620f.js → sqm-portal-profile-view-2018590a.js} +1 -1
  159. package/dist/esm-es5/sqm-portal-profile.entry.js +1 -1
  160. package/dist/esm-es5/sqm-portal-protected-route.entry.js +1 -1
  161. package/dist/esm-es5/sqm-portal-reset-password.entry.js +1 -1
  162. package/dist/esm-es5/{sqm-portal-verify-email-view-c61536b7.js → sqm-portal-verify-email-view-590f964b.js} +1 -1
  163. package/dist/esm-es5/sqm-qr-code.entry.js +1 -1
  164. package/dist/esm-es5/sqm-referral-table_11.entry.js +1 -1
  165. package/dist/esm-es5/sqm-rewards-table-customer-note-column.entry.js +1 -1
  166. package/dist/esm-es5/sqm-rewards-table_9.entry.js +1 -1
  167. package/dist/esm-es5/sqm-stencilbook.entry.js +1 -1
  168. package/dist/esm-es5/sqm-tab.entry.js +1 -1
  169. package/dist/esm-es5/sqm-tabs.entry.js +1 -1
  170. package/dist/esm-es5/sqm-user-info-form-view-5322525c.js +1 -0
  171. package/dist/esm-es5/sqm-widget-verification-controller.entry.js +1 -1
  172. package/dist/esm-es5/subregions-7c9778d0.js +1 -0
  173. package/dist/esm-es5/{useChildElements-9bccfb72.js → useChildElements-06937df7.js} +1 -1
  174. package/dist/esm-es5/useIndirectTaxForm-a6ac7e7e.js +6 -0
  175. package/dist/esm-es5/{useInstantAccessRegistration-69fefed0.js → useInstantAccessRegistration-69c9ffe0.js} +1 -1
  176. package/dist/esm-es5/{useLeadFormState-dd4e8b08.js → useLeadFormState-332b2796.js} +1 -1
  177. package/dist/esm-es5/{usePortalRegistrationForm-62de6fb1.js → usePortalRegistrationForm-3a1f36a2.js} +1 -1
  178. package/dist/esm-es5/{useReferralCodes-52ca720f.js → useReferralCodes-25f8b792.js} +1 -1
  179. package/dist/esm-es5/{useReferralTable-92af4133.js → useReferralTable-03d32c6f.js} +1 -1
  180. package/dist/esm-es5/{useRegistrationFormState-2c090c38.js → useRegistrationFormState-aa44cfff.js} +1 -1
  181. package/dist/esm-es5/{useVerificationEmail-c13c3b51.js → useVerificationEmail-9f2c0bab.js} +1 -1
  182. package/dist/esm-es5/{utilities-77b1e0cc.js → utilities-cbd8f2eb.js} +1 -1
  183. package/dist/mint-components/mint-components.esm.js +1 -1
  184. package/dist/mint-components/mint-components.js +1 -1
  185. package/dist/mint-components/{p-626b31cb.system.entry.js → p-025ddad2.system.entry.js} +1 -1
  186. package/dist/mint-components/{p-5b871e38.system.entry.js → p-02c0f88e.system.entry.js} +1 -1
  187. package/dist/mint-components/{p-f55ecf35.system.js → p-02e2b13b.system.js} +1 -1
  188. package/dist/mint-components/{p-a4f8abad.js → p-0766438e.js} +1 -1
  189. package/dist/mint-components/{p-205cfdcd.system.js → p-0815b973.system.js} +1 -1
  190. package/dist/mint-components/{p-db0a2afd.entry.js → p-092c2606.entry.js} +1 -1
  191. package/dist/mint-components/{p-fe1d3cf8.system.entry.js → p-099ce3d5.system.entry.js} +1 -1
  192. package/dist/mint-components/p-0a6489fa.entry.js +1 -0
  193. package/dist/mint-components/{p-fc284f91.system.entry.js → p-0b32e1d4.system.entry.js} +1 -1
  194. package/dist/mint-components/p-115dfc03.system.js +1 -0
  195. package/dist/mint-components/{p-7b59e13c.system.js → p-1317cc92.system.js} +1 -1
  196. package/dist/mint-components/{p-2b4af8e8.system.entry.js → p-13bb56a8.system.entry.js} +1 -1
  197. package/dist/mint-components/{p-f8a09b0f.js → p-13d8ecad.js} +1 -1
  198. package/dist/mint-components/p-13e439bc.js +1 -0
  199. package/dist/mint-components/p-13f3a647.js +1 -0
  200. package/dist/mint-components/{p-61897e72.entry.js → p-14183edc.entry.js} +1 -1
  201. package/dist/mint-components/{p-8f2d03c7.entry.js → p-1599a178.entry.js} +1 -1
  202. package/dist/mint-components/{p-02499e08.entry.js → p-1b0326d1.entry.js} +1 -1
  203. package/dist/mint-components/p-1d398dbc.entry.js +11 -0
  204. package/dist/mint-components/p-1d86895f.system.js +1 -0
  205. package/dist/mint-components/{p-c8a3f3b0.js → p-1efb42e2.js} +1 -1
  206. package/dist/mint-components/p-1f387c7b.system.js +1 -0
  207. package/dist/mint-components/{p-a96c9bbb.system.entry.js → p-209157a9.system.entry.js} +1 -1
  208. package/dist/mint-components/{p-30c1ef36.system.js → p-2190dc73.system.js} +1 -1
  209. package/dist/mint-components/p-24a867ab.system.js +1 -0
  210. package/dist/mint-components/{p-80e116ec.system.entry.js → p-24f1d342.system.entry.js} +1 -1
  211. package/dist/mint-components/{p-6668f9f0.entry.js → p-27daf264.entry.js} +1 -1
  212. package/dist/mint-components/p-28ed2ae9.js +1 -0
  213. package/dist/mint-components/{p-09f7aacd.entry.js → p-29bc5f50.entry.js} +2 -2
  214. package/dist/mint-components/p-2bc6ac74.system.entry.js +1 -0
  215. package/dist/mint-components/{p-738dce27.system.entry.js → p-2d3f7b76.system.entry.js} +1 -1
  216. package/dist/mint-components/p-2d4132fb.js +99 -0
  217. package/dist/mint-components/p-2ed13619.entry.js +1 -0
  218. package/dist/mint-components/{p-c45a929a.system.entry.js → p-30cfe3e3.system.entry.js} +1 -1
  219. package/dist/mint-components/{p-d55c50af.system.js → p-31815fb6.system.js} +1 -1
  220. package/dist/mint-components/{p-c8bcbf8b.system.entry.js → p-3354cc75.system.entry.js} +1 -1
  221. package/dist/mint-components/{p-5bc5c61e.entry.js → p-335a5736.entry.js} +1 -1
  222. package/dist/mint-components/{p-e9485160.system.entry.js → p-33ca28ba.system.entry.js} +1 -1
  223. package/dist/mint-components/{p-8583ce0c.system.js → p-376c7608.system.js} +1 -1
  224. package/dist/mint-components/p-37e24621.system.entry.js +1 -0
  225. package/dist/mint-components/{p-95510f27.entry.js → p-38d04e4b.entry.js} +1 -1
  226. package/dist/mint-components/{p-e84b874c.js → p-3a41b39c.js} +1 -1
  227. package/dist/mint-components/{p-e5ea43b1.entry.js → p-3bbc0db2.entry.js} +2 -2
  228. package/dist/mint-components/{p-982d1f6f.entry.js → p-432a44de.entry.js} +3 -2
  229. package/dist/mint-components/{p-bab4929e.js → p-45230a44.js} +1 -1
  230. package/dist/mint-components/p-4691e9d5.system.js +1 -0
  231. package/dist/mint-components/{p-1d92c169.entry.js → p-4d73a616.entry.js} +1 -1
  232. package/dist/mint-components/{p-3bc62ca6.entry.js → p-4e3db52b.entry.js} +1 -1
  233. package/dist/mint-components/{p-3286ef38.js → p-4eaa3eb7.js} +1 -1
  234. package/dist/mint-components/{p-013564b3.entry.js → p-4eadbd5b.entry.js} +1 -1
  235. package/dist/mint-components/p-4f9dc974.js +1 -0
  236. package/dist/mint-components/{p-f7ca4cc4.system.entry.js → p-51ae6716.system.entry.js} +1 -1
  237. package/dist/mint-components/p-5623f1e0.js +1 -0
  238. package/dist/mint-components/p-5bc707cf.entry.js +299 -0
  239. package/dist/mint-components/p-5c52100b.js +117 -0
  240. package/dist/mint-components/{p-77b9cde8.system.js → p-5fdf0286.system.js} +1 -1
  241. package/dist/mint-components/{p-09348341.entry.js → p-60b1f3d9.entry.js} +1 -1
  242. package/dist/mint-components/{p-d005df28.system.entry.js → p-623a0a0b.system.entry.js} +1 -1
  243. package/dist/mint-components/{p-c30d0049.system.entry.js → p-6b4e5d94.system.entry.js} +1 -1
  244. package/dist/mint-components/p-6ef373ed.system.js +6 -0
  245. package/dist/mint-components/{p-f4e36adf.system.entry.js → p-6f6c3ac6.system.entry.js} +1 -1
  246. package/dist/mint-components/p-6f8dde97.system.js +1 -0
  247. package/dist/mint-components/{p-43c31fd5.system.js → p-7628e56f.system.js} +1 -1
  248. package/dist/mint-components/{p-653db72e.entry.js → p-78e6dc8d.entry.js} +1 -1
  249. package/dist/mint-components/{p-f581aac7.js → p-7a091fa7.js} +1 -1
  250. package/dist/mint-components/{p-40bad95a.entry.js → p-7cbdf341.entry.js} +2 -2
  251. package/dist/mint-components/{p-044f930a.system.js → p-7d2d9ef9.system.js} +1 -1
  252. package/dist/mint-components/{p-5c4ba8a0.entry.js → p-7ea3f49c.entry.js} +1 -1
  253. package/dist/mint-components/p-7f29622d.js +1 -0
  254. package/dist/mint-components/{p-5ce78407.system.entry.js → p-81bc6dca.system.entry.js} +1 -1
  255. package/dist/mint-components/{p-f6528f8a.entry.js → p-84495fb8.entry.js} +1 -1
  256. package/dist/mint-components/p-85ecc0aa.entry.js +83 -0
  257. package/dist/mint-components/{p-b96e90a2.system.entry.js → p-86d20b47.system.entry.js} +1 -1
  258. package/dist/mint-components/p-87f86492.js +1 -0
  259. package/dist/mint-components/p-8a08cec6.system.entry.js +1 -0
  260. package/dist/mint-components/{p-d0993bb9.js → p-8a6531d2.js} +1 -1
  261. package/dist/mint-components/p-8ae8968c.js +1 -0
  262. package/dist/mint-components/{p-7265bbcb.system.js → p-8e148cb0.system.js} +1 -1
  263. package/dist/mint-components/p-8f15bf17.entry.js +1 -0
  264. package/dist/mint-components/{p-b66f45d1.entry.js → p-921eb024.entry.js} +1 -1
  265. package/dist/mint-components/{p-f1374258.system.entry.js → p-925aa740.system.entry.js} +1 -1
  266. package/dist/mint-components/p-99eecdcb.system.entry.js +1 -0
  267. package/dist/mint-components/{p-e12754f5.system.entry.js → p-9a15cd5a.system.entry.js} +1 -1
  268. package/dist/mint-components/p-9c1f5317.system.js +1 -0
  269. package/dist/mint-components/{p-832aea99.js → p-9f48640d.js} +1 -1
  270. package/dist/mint-components/p-a49d9288.entry.js +1 -0
  271. package/dist/mint-components/p-a8cfa8fd.entry.js +9 -0
  272. package/dist/mint-components/{p-90833864.system.entry.js → p-ab59c5eb.system.entry.js} +1 -1
  273. package/dist/mint-components/{p-e6240c72.js → p-abd717d4.js} +1 -1
  274. package/dist/mint-components/p-ae2f610e.system.js +1 -0
  275. package/dist/mint-components/{p-19c441b2.system.js → p-b2ad3fca.system.js} +1 -1
  276. package/dist/mint-components/{p-c8a8d231.entry.js → p-b3309d9b.entry.js} +2 -2
  277. package/dist/mint-components/p-b3e1f2fa.entry.js +91 -0
  278. package/dist/mint-components/p-b7188d47.system.entry.js +1 -0
  279. package/dist/mint-components/{p-8962e023.js → p-b871d158.js} +1 -1
  280. package/dist/mint-components/p-b9509a55.system.entry.js +1 -0
  281. package/dist/mint-components/p-badf28bb.system.js +1 -0
  282. package/dist/mint-components/{p-035d9b65.js → p-bb0b5e4b.js} +1 -1
  283. package/dist/mint-components/{p-52674798.entry.js → p-bcfdb510.entry.js} +1 -1
  284. package/dist/mint-components/p-bd03efe0.system.js +1 -0
  285. package/dist/mint-components/{p-642f2c89.js → p-bf9ab2d3.js} +1 -1
  286. package/dist/mint-components/{p-bc386a7b.js → p-c0a85e22.js} +1 -1
  287. package/dist/mint-components/p-c0f8f977.system.entry.js +1 -0
  288. package/dist/mint-components/p-c13c20b2.system.js +1 -0
  289. package/dist/mint-components/p-c41d536d.entry.js +1 -0
  290. package/dist/mint-components/{p-a0c5631b.system.js → p-c66e5217.system.js} +1 -1
  291. package/dist/mint-components/{p-0d83907e.js → p-cfea215d.js} +1 -1
  292. package/dist/mint-components/p-d08408b3.entry.js +1 -0
  293. package/dist/mint-components/{p-172675ca.system.js → p-d284ae70.system.js} +1 -1
  294. package/dist/mint-components/{p-027fc3be.system.entry.js → p-d34564f8.system.entry.js} +1 -1
  295. package/dist/mint-components/{p-1021a49f.system.entry.js → p-db6bf7cf.system.entry.js} +1 -1
  296. package/dist/mint-components/{p-4da5a3fe.system.entry.js → p-df897432.system.entry.js} +1 -1
  297. package/dist/mint-components/{p-036a2617.system.js → p-e651593c.system.js} +1 -1
  298. package/dist/mint-components/{p-f39cf252.system.entry.js → p-e6de31a7.system.entry.js} +1 -1
  299. package/dist/mint-components/{p-2668335b.js → p-e8e7af06.js} +1 -1
  300. package/dist/mint-components/{p-85721089.system.js → p-e920c95c.system.js} +1 -1
  301. package/dist/mint-components/{p-3366b81e.js → p-eae44b42.js} +2 -2
  302. package/dist/mint-components/{p-af407cce.entry.js → p-ef32fa8f.entry.js} +1 -1
  303. package/dist/mint-components/{p-7efb8782.system.js → p-f32050f6.system.js} +1 -1
  304. package/dist/mint-components/{p-782af7ae.system.entry.js → p-f6de2e5c.system.entry.js} +1 -1
  305. package/dist/mint-components/{p-9390586b.system.entry.js → p-fa85ea51.system.entry.js} +1 -1
  306. package/dist/types/components/sqm-partner-info-modal/PartnerInfoModal.stories.d.ts +15 -0
  307. package/dist/types/components/sqm-partner-info-modal/sqm-partner-info-modal-view.d.ts +51 -0
  308. package/dist/types/components/sqm-partner-info-modal/sqm-partner-info-modal.d.ts +123 -0
  309. package/dist/types/components/sqm-partner-info-modal/usePartnerInfoModal.d.ts +16 -0
  310. package/dist/types/components/sqm-referral-table/TaxAndCashReferralTableRewardsCell.stories.d.ts +18 -1
  311. package/dist/types/components/sqm-rewards-table/TaxAndCashRewardsTableCell.stories.d.ts +19 -7
  312. package/dist/types/components/sqm-widget-verification/WidgetVerification.stories.d.ts +8 -0
  313. package/dist/types/components/sqm-widget-verification/keys.d.ts +2 -0
  314. package/dist/types/components/sqm-widget-verification/sqm-widget-verification.d.ts +75 -7
  315. package/dist/types/components/sqm-widget-verification/useWidgetVerification.d.ts +2 -0
  316. package/dist/types/components/tax-and-cash/data.d.ts +3 -0
  317. package/dist/types/components/tax-and-cash/sqm-banking-info-form/formDefinitions.d.ts +8 -0
  318. package/dist/types/components/tax-and-cash/sqm-banking-info-form/sqm-banking-info-form-view.d.ts +4 -0
  319. package/dist/types/components/tax-and-cash/sqm-banking-info-form/sqm-banking-info-form.d.ts +173 -0
  320. package/dist/types/components/tax-and-cash/sqm-banking-info-form/useBankingInfoForm.d.ts +2 -0
  321. package/dist/types/components/tax-and-cash/sqm-indirect-tax-form/useIndirectTaxForm.d.ts +7 -0
  322. package/dist/types/components/tax-and-cash/sqm-payout-details-card/PayoutDetailsCard.stories.d.ts +1 -0
  323. package/dist/types/components/tax-and-cash/sqm-tax-and-cash/sqm-tax-and-cash.d.ts +10 -5
  324. package/dist/types/components/tax-and-cash/sqm-tax-and-cash-dashboard/TaxAndCashDashboardView.stories.d.ts +19 -0
  325. package/dist/types/components/tax-and-cash/sqm-user-info-form/sqm-user-info-form-view.d.ts +0 -1
  326. package/dist/types/components/tax-and-cash/sqm-user-info-form/sqm-user-info-form.d.ts +0 -4
  327. package/dist/types/components/tax-and-cash/sqm-user-info-form/useUserInfoForm.d.ts +1 -0
  328. package/dist/types/components/tax-and-cash/utils.d.ts +5 -0
  329. package/dist/types/components.d.ts +644 -32
  330. package/dist/types/saasquatch.d.ts +2 -0
  331. package/docs/docs.docx +0 -0
  332. package/docs/raisins.json +1 -1
  333. package/grapesjs/grapesjs.js +1 -1
  334. package/package.json +2 -4
  335. package/dist/cjs/extractProps-e9c55ba8.js +0 -35
  336. package/dist/cjs/sqm-email-verification.cjs.entry.js +0 -418
  337. package/dist/cjs/sqm-user-info-form-view-53306f6e.js +0 -2074
  338. package/dist/cjs/sqm-widget-verification.cjs.entry.js +0 -214
  339. package/dist/esm/data-12e6aae1.js +0 -216
  340. package/dist/esm/extractProps-54064fb0.js +0 -32
  341. package/dist/esm/keys-406491dc.js +0 -6
  342. package/dist/esm/sqm-email-verification.entry.js +0 -414
  343. package/dist/esm/sqm-user-info-form-view-19d81a2b.js +0 -2066
  344. package/dist/esm/sqm-widget-verification.entry.js +0 -210
  345. package/dist/esm-es5/data-12e6aae1.js +0 -1
  346. package/dist/esm-es5/extractProps-54064fb0.js +0 -1
  347. package/dist/esm-es5/keys-406491dc.js +0 -1
  348. package/dist/esm-es5/sqm-big-stat_46.entry.js +0 -1
  349. package/dist/esm-es5/sqm-email-verification.entry.js +0 -1
  350. package/dist/esm-es5/sqm-user-info-form-view-19d81a2b.js +0 -1
  351. package/dist/esm-es5/sqm-widget-verification.entry.js +0 -1
  352. package/dist/esm-es5/usePayoutStatus-46c0c289.js +0 -6
  353. package/dist/mint-components/p-00b235c5.system.entry.js +0 -1
  354. package/dist/mint-components/p-0706cf9e.system.entry.js +0 -1
  355. package/dist/mint-components/p-0797a946.js +0 -1
  356. package/dist/mint-components/p-13292317.entry.js +0 -11
  357. package/dist/mint-components/p-2d5c2bd4.system.entry.js +0 -1
  358. package/dist/mint-components/p-38c7775a.js +0 -1
  359. package/dist/mint-components/p-3adbfd0b.system.js +0 -6
  360. package/dist/mint-components/p-3af3e2c1.entry.js +0 -25
  361. package/dist/mint-components/p-5492dd51.system.entry.js +0 -1
  362. package/dist/mint-components/p-57dd28bd.system.js +0 -1
  363. package/dist/mint-components/p-5b1d2866.system.js +0 -1
  364. package/dist/mint-components/p-6c4ad51a.js +0 -1
  365. package/dist/mint-components/p-77fa2383.entry.js +0 -1
  366. package/dist/mint-components/p-7939e4af.entry.js +0 -1
  367. package/dist/mint-components/p-8285869e.entry.js +0 -9
  368. package/dist/mint-components/p-892797eb.system.entry.js +0 -1
  369. package/dist/mint-components/p-91a96e98.entry.js +0 -1
  370. package/dist/mint-components/p-b2b85238.entry.js +0 -1
  371. package/dist/mint-components/p-b395470f.entry.js +0 -16
  372. package/dist/mint-components/p-bba16a46.system.entry.js +0 -1
  373. package/dist/mint-components/p-be12607e.entry.js +0 -281
  374. package/dist/mint-components/p-bf188b72.system.entry.js +0 -1
  375. package/dist/mint-components/p-ca098be1.system.js +0 -1
  376. package/dist/mint-components/p-d18dedd4.js +0 -1
  377. package/dist/mint-components/p-d4f332a7.entry.js +0 -106
  378. package/dist/mint-components/p-d6193876.system.js +0 -1
  379. package/dist/mint-components/p-de0d6fd7.js +0 -49
  380. package/dist/mint-components/p-e00ec007.js +0 -1
  381. package/dist/mint-components/p-e55aafe9.system.js +0 -1
  382. package/dist/mint-components/p-ea03e50e.system.js +0 -1
  383. package/dist/mint-components/p-ec0b649a.entry.js +0 -1
  384. package/dist/mint-components/p-f8026ed6.system.js +0 -1
  385. package/dist/mint-components/p-fb804001.system.entry.js +0 -1
  386. package/dist/mint-components/p-fe70e20c.entry.js +0 -1
  387. package/dist/mint-components/p-ff118a19.system.js +0 -1
@@ -35,9 +35,11 @@ require('./ErrorView-ee7b0f36.js');
35
35
  const sqmQrCodeView = require('./sqm-qr-code-view-1f2daa76.js');
36
36
  const ShadowViewAddon = require('./ShadowViewAddon-3b477e58.js');
37
37
  const sqmPortalContainerView = require('./sqm-portal-container-view-757f921b.js');
38
- const sqmUserInfoFormView = require('./sqm-user-info-form-view-53306f6e.js');
39
- const data = require('./data-8c8a08f6.js');
38
+ const sqmUserInfoFormView = require('./sqm-user-info-form-view-374a3f01.js');
39
+ const subregions = require('./subregions-984e30d7.js');
40
40
  const sqmLeadInputFieldView = require('./sqm-lead-input-field-view-0cd7ebdb.js');
41
+ require('./data-89ac73dd.js');
42
+ const sqmPartnerInfoModalView = require('./sqm-partner-info-modal-view-2b6fee0f.js');
41
43
 
42
44
  /**
43
45
  * lodash (Custom Build) <https://lodash.com/>
@@ -1795,7 +1797,7 @@ const resetPasswordTemplate = "<sqm-portal-reset-password confirm-password=\"tru
1795
1797
 
1796
1798
  const resetPasswordEmailTemplate = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional //EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n\n<html\n xmlns=\"http://www.w3.org/1999/xhtml\"\n xmlns:o=\"urn:schemas-microsoft-com:office:office\"\n xmlns:v=\"urn:schemas-microsoft-com:vml\"\n>\n <head>\n <!--[if gte mso 9\n ]><xml\n ><o:OfficeDocumentSettings\n ><o:AllowPNG /><o:PixelsPerInch\n >96</o:PixelsPerInch\n ></o:OfficeDocumentSettings\n ></xml\n ><!\n [endif]-->\n <meta content=\"text/html; charset=utf-8\" http-equiv=\"Content-Type\" />\n <meta content=\"width=device-width\" name=\"viewport\" />\n <!--[if !mso]><!-->\n <meta content=\"IE=edge\" http-equiv=\"X-UA-Compatible\" />\n <!--<![endif]-->\n <title></title>\n <!--[if !mso]><!-->\n <!--<![endif]-->\n <style type=\"text/css\">\n body {\n margin: 0;\n padding: 0;\n }\n\n table,\n td,\n tr {\n vertical-align: top;\n border-collapse: collapse;\n }\n\n * {\n line-height: inherit;\n }\n\n a[x-apple-data-detectors=\"true\"] {\n color: inherit !important;\n text-decoration: none !important;\n }\n </style>\n <style id=\"media-query\" type=\"text/css\">\n @media (max-width: 520px) {\n .block-grid,\n .col {\n min-width: 320px !important;\n max-width: 100% !important;\n display: block !important;\n }\n\n .block-grid {\n width: 100% !important;\n }\n\n .col {\n width: 100% !important;\n }\n\n .col_cont {\n margin: 0 auto;\n }\n\n img.fullwidth,\n img.fullwidthOnMobile {\n max-width: 100% !important;\n }\n\n .no-stack .col {\n min-width: 0 !important;\n display: table-cell !important;\n }\n\n .no-stack.two-up .col {\n width: 50% !important;\n }\n\n .no-stack .col.num2 {\n width: 16.6% !important;\n }\n\n .no-stack .col.num3 {\n width: 25% !important;\n }\n\n .no-stack .col.num4 {\n width: 33% !important;\n }\n\n .no-stack .col.num5 {\n width: 41.6% !important;\n }\n\n .no-stack .col.num6 {\n width: 50% !important;\n }\n\n .no-stack .col.num7 {\n width: 58.3% !important;\n }\n\n .no-stack .col.num8 {\n width: 66.6% !important;\n }\n\n .no-stack .col.num9 {\n width: 75% !important;\n }\n\n .no-stack .col.num10 {\n width: 83.3% !important;\n }\n\n .video-block {\n max-width: none !important;\n }\n\n .mobile_hide {\n min-height: 0px;\n max-height: 0px;\n max-width: 0px;\n display: none;\n overflow: hidden;\n font-size: 0px;\n }\n\n .desktop_hide {\n display: block !important;\n max-height: none !important;\n }\n }\n </style>\n <style id=\"icon-media-query\" type=\"text/css\">\n @media (max-width: 520px) {\n .icons-inner {\n text-align: center;\n }\n\n .icons-inner td {\n margin: 0 auto;\n }\n }\n </style>\n </head>\n <body\n class=\"clean-body\"\n style=\"\n margin: 0;\n padding: 0;\n -webkit-text-size-adjust: 100%;\n background-color: #ffffff;\n \"\n >\n <!--[if IE]><div class=\"ie-browser\"><![endif]-->\n <table\n bgcolor=\"#FFFFFF\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n class=\"nl-container\"\n role=\"presentation\"\n style=\"\n table-layout: fixed;\n vertical-align: top;\n min-width: 320px;\n border-spacing: 0;\n border-collapse: collapse;\n mso-table-lspace: 0pt;\n mso-table-rspace: 0pt;\n background-color: #ffffff;\n width: 100%;\n \"\n valign=\"top\"\n width=\"100%\"\n >\n <tbody>\n <tr style=\"vertical-align: top\" valign=\"top\">\n <td style=\"word-break: break-word; vertical-align: top\" valign=\"top\">\n <!--[if (mso)|(IE)]><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td align=\"center\" style=\"background-color:#FFFFFF\"><![endif]-->\n <div style=\"background-color: transparent\">\n <div\n class=\"block-grid\"\n style=\"\n min-width: 320px;\n max-width: 500px;\n overflow-wrap: break-word;\n word-wrap: break-word;\n word-break: break-word;\n margin: 0 auto;\n background-color: transparent;\n \"\n >\n <div\n style=\"\n border-collapse: collapse;\n display: table;\n width: 100%;\n background-color: transparent;\n \"\n >\n <!--[if (mso)|(IE)]><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"background-color:transparent;\"><tr><td align=\"center\"><table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"width:500px\"><tr class=\"layout-full-width\" style=\"background-color:transparent\"><![endif]-->\n <!--[if (mso)|(IE)]><td align=\"center\" width=\"500\" style=\"background-color:transparent;width:500px; border-top: 0px solid transparent; border-left: 0px solid transparent; border-bottom: 0px solid transparent; border-right: 0px solid transparent;\" valign=\"top\"><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td style=\"padding-right: 0px; padding-left: 0px; padding-top:5px; padding-bottom:5px;\"><![endif]-->\n <div\n class=\"col num12\"\n style=\"\n min-width: 320px;\n max-width: 500px;\n display: table-cell;\n vertical-align: top;\n width: 500px;\n \"\n >\n <div class=\"col_cont\" style=\"width: 100% !important\">\n <!--[if (!mso)&(!IE)]><!-->\n <div\n style=\"\n border-top: 0px solid transparent;\n border-left: 0px solid transparent;\n border-bottom: 0px solid transparent;\n border-right: 0px solid transparent;\n padding-top: 5px;\n padding-bottom: 5px;\n padding-right: 0px;\n padding-left: 0px;\n \"\n >\n <!--<![endif]-->\n <table\n cellpadding=\"0\"\n cellspacing=\"0\"\n role=\"presentation\"\n style=\"\n table-layout: fixed;\n vertical-align: top;\n border-spacing: 0;\n border-collapse: collapse;\n mso-table-lspace: 0pt;\n mso-table-rspace: 0pt;\n \"\n valign=\"top\"\n width=\"100%\"\n >\n <tr style=\"vertical-align: top\" valign=\"top\">\n <td\n align=\"center\"\n style=\"\n word-break: break-word;\n vertical-align: top;\n padding-bottom: 20px;\n padding-left: 10px;\n padding-right: 10px;\n padding-top: 10px;\n text-align: center;\n width: 100%;\n \"\n valign=\"top\"\n width=\"100%\"\n >\n <h1\n style=\"\n color: #444445;\n direction: ltr;\n font-family: 'Helvetica Neue', Helvetica,\n Arial, sans-serif;\n font-size: 20px;\n font-weight: normal;\n letter-spacing: normal;\n line-height: 120%;\n text-align: left;\n margin-top: 0;\n margin-bottom: 0;\n \"\n >\n <strong>Reset your password</strong>\n </h1>\n </td>\n </tr>\n </table>\n <!--[if mso]><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td style=\"padding-right: 10px; padding-left: 10px; padding-top: 10px; padding-bottom: 10px; font-family: Arial, sans-serif\"><![endif]-->\n <div\n style=\"\n color: #444445;\n font-family: Arial, Helvetica Neue, Helvetica,\n sans-serif;\n line-height: 1.8;\n padding-top: 10px;\n padding-right: 10px;\n padding-bottom: 10px;\n padding-left: 10px;\n \"\n >\n <div\n class=\"txtTinyMce-wrapper\"\n style=\"\n font-size: 14px;\n line-height: 1.8;\n color: #444445;\n font-family: Arial, Helvetica Neue, Helvetica,\n sans-serif;\n mso-line-height-alt: 25px;\n \"\n >\n <p\n style=\"\n margin: 0;\n font-size: 14px;\n line-height: 1.8;\n word-break: break-word;\n mso-line-height-alt: 25px;\n margin-top: 0;\n margin-bottom: 0;\n \"\n >\n <span style=\"font-size: 14px\"\n >We received a request to reset your password.\n Click the button below to reset your\n password.</span\n >\n </p>\n </div>\n </div>\n <div\n align=\"center\"\n class=\"button-container\"\n style=\"\n padding-top: 10px;\n padding-right: 10px;\n padding-bottom: 10px;\n padding-left: 10px;\n \"\n >\n <!--[if mso]><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"border-spacing: 0; border-collapse: collapse; mso-table-lspace:0pt; mso-table-rspace:0pt;\"><tr><td style=\"padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px\" align=\"center\"><v:roundrect xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:w=\"urn:schemas-microsoft-com:office:word\" target=\"_blank\" href={{validationLink}} style=\"height:31.5pt;width:390pt;v-text-anchor:middle;\" arcsize=\"12%\" stroke=\"false\" fillcolor=\"#2270ee\"><w:anchorlock/><v:textbox inset=\"0,0,0,0\"><center style=\"color:#ffffff; font-family:Arial, sans-serif; font-size:14px\"><!\n [endif]--><a\n href=\"{{validationLink}}\"\n target=\"_blank\"\n style=\"\n -webkit-text-size-adjust: none;\n text-decoration: none;\n display: block;\n color: #ffffff;\n background-color: #2270ee;\n border-radius: 5px;\n -webkit-border-radius: 5px;\n -moz-border-radius: 5px;\n width: 100%;\n width: calc(100% - 2px);\n border-top: var(--sqm-border-thickness, 1px) solid\n #2270ee;\n border-right: var(--sqm-border-thickness, 1px)\n solid #2270ee;\n border-bottom: var(--sqm-border-thickness, 1px)\n solid #2270ee;\n border-left: var(--sqm-border-thickness, 1px)\n solid #2270ee;\n padding-top: 5px;\n padding-bottom: 5px;\n font-family: 'Helvetica Neue', Helvetica, Arial,\n sans-serif;\n text-align: center;\n mso-border-alt: none;\n word-break: keep-all;\n \"\n target=\"_blank\"\n ><span\n style=\"\n padding-left: 20px;\n padding-right: 20px;\n font-size: 14px;\n display: inline-block;\n letter-spacing: undefined;\n \"\n ><span\n style=\"\n font-size: 16px;\n line-height: 2;\n word-break: break-word;\n mso-line-height-alt: 32px;\n \"\n ><span\n style=\"font-size: 14px; line-height: 28px\"\n >Reset Password</span\n ></span\n ></span\n ></a\n >\n <!--[if mso]></center></v:textbox></v:roundrect></td></tr></table><![endif]-->\n </div>\n <!--[if mso]><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td style=\"padding-right: 10px; padding-left: 10px; padding-top: 15px; padding-bottom: 15px; font-family: Arial, sans-serif\"><![endif]-->\n <div\n style=\"\n color: #444445;\n font-family: Arial, Helvetica Neue, Helvetica,\n sans-serif;\n line-height: 1.2;\n padding-top: 15px;\n padding-right: 10px;\n padding-bottom: 15px;\n padding-left: 10px;\n \"\n >\n <div\n class=\"txtTinyMce-wrapper\"\n style=\"\n font-size: 14px;\n line-height: 1.2;\n color: #444445;\n font-family: Arial, Helvetica Neue, Helvetica,\n sans-serif;\n mso-line-height-alt: 17px;\n \"\n >\n <p\n style=\"\n margin: 0;\n font-size: 12px;\n line-height: 1.2;\n word-break: break-word;\n mso-line-height-alt: 14px;\n margin-top: 0;\n margin-bottom: 0;\n \"\n >\n <span style=\"font-size: 12px\"\n >If you didn't request a password reset please\n ignore this email. Your password will not\n change.</span\n >\n </p>\n </div>\n </div>\n <!--[if mso]></td></tr></table><![endif]-->\n <!--[if (!mso)&(!IE)]><!-->\n </div>\n <!--<![endif]-->\n </div>\n </div>\n <!--[if (mso)|(IE)]></td></tr></table><![endif]-->\n <!--[if (mso)|(IE)]></td></tr></table></td></tr></table><![endif]-->\n </div>\n </div>\n </div>\n <!--[if (mso)|(IE)]></td></tr></table><![endif]-->\n </td>\n </tr>\n </tbody>\n </table>\n <!--[if (IE)]></div><![endif]-->\n </body>\n</html>\n";
1797
1799
 
1798
- const taxAndCashTemplate = "<sqm-portal-frame>\n <a slot=\"header\" href=\"/\">\n <sqm-text style=\"height: 60px\">\n <img\n style=\"height: 60px\"\n src=\"https://res.cloudinary.com/saasquatch/image/upload/v1634255445/squatch-assets/Copy_of_saasquatch-logo-tree-large-horizontal.png\"\n />\n </sqm-text>\n </a>\n <sqb-program-section program-id=\"referral-program\">\n <sqm-router>\n <template\n path=\"/:path(\\bregister\\b|\\bemailVerification\\b|\\blogin\\b|\\bverifyEmail\\b|\\bforgotPassword\\b|\\bresetPassword\\b|\\blogout\\b)\"\n >\n <sqm-hero\n background=\"https://images.unsplash.com/photo-1599676821464-3555954838dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1939&q=80\"\n >\n <sqm-router>\n <template path=\"/register\">\n <sqm-portal-login></sqm-portal-login>\n <sqm-portal-register>\n <sqm-name-fields slot=\"formData\"></sqm-name-fields>\n </sqm-portal-register>\n </template>\n\n <template path=\"/emailVerification\">\n <sqm-portal-protected-route\n redirect-to=\"/login\"\n ></sqm-portal-protected-route>\n <sqm-portal-email-verification></sqm-portal-email-verification>\n </template>\n\n <template path=\"/login\">\n <sqm-portal-login></sqm-portal-login>\n </template>\n\n <template path=\"/verifyEmail\">\n <sqm-portal-verify-email></sqm-portal-verify-email>\n </template>\n\n <template path=\"/forgotPassword\">\n <sqm-portal-forgot-password\n email-label=\"Business Email\"\n ></sqm-portal-forgot-password>\n </template>\n\n <template path=\"/resetPassword\">\n <sqm-portal-reset-password\n confirm-password=\"true\"\n ></sqm-portal-reset-password>\n </template>\n <template path=\"/logout\">\n <sqm-portal-logout next-page=\"/login\"></sqm-portal-logout>\n </template>\n </sqm-router>\n </sqm-hero>\n </template>\n </sqm-router>\n <sqm-router>\n <template path=\"/:path(\\bactivity\\b|\\beditProfile\\b|\\brefer\\b)?\">\n <sqm-divided-layout\n direction=\"row\"\n style=\"\n border-top: var(--sqm-border-thickness, 1px) solid #eaeaea;\n border-bottom: var(--sqm-border-thickness, 1px) solid #eaeaea;\n \"\n >\n <sqm-navigation-sidebar>\n <sqm-navigation-sidebar-item\n path=\"/\"\n icon=\"house\"\n label=\"Dashboard\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/activity\"\n icon=\"bar-chart\"\n label=\"Activity\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/editProfile\"\n icon=\"person\"\n label=\"Edit Profile\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/taxAndCash\"\n icon=\"file-earmark-text\"\n label=\"Tax & Payout Settings\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/logout\"\n icon=\"box-arrow-right\"\n label=\"Logout\"\n ></sqm-navigation-sidebar-item>\n </sqm-navigation-sidebar>\n <sqm-divided-layout direction=\"column\" content-area-width=\"1200px\">\n <sqm-router>\n <template path=\"/\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqb-widget\n widget-type=\"p/referral-program/w/referrerWidget\"\n track-loads=\"true\"\n ></sqb-widget>\n </template>\n <template path=\"/editProfile\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container direction=\"column\" gap=\"xxx-large\">\n <sqm-portal-profile></sqm-portal-profile> </sqm-portal-container\n ><sqm-portal-container direction=\"column\" gap=\"xxx-large\">\n <sqm-portal-change-password></sqm-portal-change-password>\n </sqm-portal-container>\n </template>\n <template path=\"/refer\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-referral-iframe></sqm-referral-iframe>\n </template>\n <template path=\"/activity\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container\n direction=\"column\"\n padding=\"xxx-large\"\n gap=\"xxx-large\"\n >\n <sqm-text>\n <h1>Activity</h1>\n </sqm-text>\n <sqm-stat-container space=\"xxxx-large\"\n ><sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n ><sqm-text>\n <p>Referrals</p>\n </sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardsCountFiltered/AVAILABLE\"\n ><sqm-text>\n <p>Rewards Earned</p>\n </sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\n ><sqm-text>\n <p>Reward Balance</p>\n </sqm-text></sqm-big-stat\n >\n </sqm-stat-container>\n <sqm-referral-table>\n <sqm-referral-table-user-column></sqm-referral-table-user-column>\n <sqm-referral-table-rewards-column></sqm-referral-table-rewards-column>\n <sqm-referral-table-status-column></sqm-referral-table-status-column>\n <sqm-referral-table-date-column\n column-title=\"Referred\"\n date-shown=\"dateReferralStarted\"\n ></sqm-referral-table-date-column> </sqm-referral-table\n ></sqm-portal-container>\n </template>\n <template path=\"/taxAndCash\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-tax-and-cash\n step-1_first-name=\"First name\"\n step-1_last-name=\"Last name\"\n step-1_email=\"Email\"\n step-1_country=\"Country\"\n step-1_phone-number=\"Phone number\"\n step-1_address=\"Address\"\n step-1_city=\"City\"\n step-1_state=\"State\"\n step-1_province=\"Province\"\n step-1_region=\"Region\"\n step-1_postal-code=\"Postal code\"\n step-1_currency=\"Currency\"\n step-1_currency-help-text=\"Choose your preferred payout currency\"\n step-1_allow-banking-collection=\"I have read the {termsAndConditionsLink} and allow impact.com to collect my tax and banking information\"\n step-1_personal-information=\"Personal Information\"\n step-1_terms-and-conditions-label=\"terms and conditions\"\n step-1_terms-and-conditions-link=\"/payout-terms-and-conditions\"\n step-1_search-for-currency-text=\"Search for currency..\"\n step-2_indirect-tax=\"Indirect Tax\"\n step-2_indirect-tax-description=\"Indirect taxes (e.g. VAT, HST, GST) are transaction based taxes often applied to goods and services. Service providers are typically required to register with their tax authority and collect these taxes on behalf governments.\"\n step-2_indirect-tax-details=\"Indirect tax details\"\n step-2_other-region=\"Registered for indirect tax\"\n step-2_other-region-subtext=\"If you’ve registered with your tax authority, add your information to stay tax compliant.\"\n step-2_not-registered=\"Not registered for indirect tax\"\n step-2_not-registered-subtext=\"If you’ve never set up indirect tax with your tax authority, then you’re likely not considered registered.\"\n step-2_selected-region=\"Country / region of indirect tax\"\n step-2_indirect-tax-number=\"{taxType, select, GST {GST number} HST {HST number} VAT {VAT number} CT {CT number} SST {SST number} GENERAL {Indirect tax number}}\"\n step-2_province=\"Province\"\n step-2_indirect-tax-number-error=\"{taxType, select, GST {GST number} HST {HST number} VAT {VAT number} CT {CT number} SST {SST number} GENERAL {Indirect tax number}} is required\"\n step-2_qst-number=\"QST number\"\n step-2_is-registered-q-s-t=\"I am registered for QST Tax\"\n step-2_is-registered-sub-region-income-tax=\"I am an individual registered for Income Tax purposes in Spain, and withholding tax will apply to any payments made to me.\"\n step-2_sub-region=\"Sub-region\"\n step-2_sub-region-tax-number-label=\"Income Tax Number\"\n step-2_cannot-change-info-alert=\"Changes to your personal and indirect tax information can only be made through our Support team after you complete this step. Make sure these are correct before continuing.\"\n step-3_tax-form=\"Tax form\"\n step-3_tax-form-label=\"{documentType} Tax Form\"\n step-3_participant-type=\"Participant type\"\n step-3_business-entity=\"I represent a business\"\n step-3_individual-participant=\"I am an individual participant\"\n step-3_tax-form-description=\"Participants based in the US need to submit a {documentType} form.\"\n step-3_tax-form-description-individual-participant=\"Participants residing outside of the US, joining the referral program of a US-based company, need to submit a {documentType} form.\"\n step-3_tax-form-description-business-entity=\"Participants residing outside of the US working with a US Brand need to submit a {documentType} form.\"\n step-3_docusign-expired=\"For your security and privacy, we automatically end your session after 20 minutes of inactivity. Please refresh and re-enter your tax information to continue.\"\n step-3_docusign-session-warning=\"For your security, we automatically end your session when you have not interacted with the form after 20 minutes.\"\n step-3_docusign-error=\"There was a problem displaying this form. Please refresh the page. If this problem continues, contact Support.\"\n step-3_refresh-button=\"Refresh Page\"\n step-3_exit-button=\"Exit\"\n step-3_modal-title=\"Important Note\"\n step-3_modal-description=\"Remember the name you enter in your tax form. It must exactly match the bank account holder name configured in the next step. {br}{br}Otherwise you will have to resubmit your form again and there will be delays receiving your payout.\"\n step-3_modal-button-text=\"I understand\"\n step-4_tax-and-payouts=\"Payouts\"\n step-4_directly-to-bank-account=\"Directly to my bank account\"\n step-4_to-pay-pal-account=\"PayPal (2% processing fee capped to {feeCap})\"\n step-4_payment-schedule-balance-threshold=\"Pay me when my balance reaches a threshold\"\n step-4_payment-schedule-fixed-day=\"Pay me on a fixed day of the month\"\n step-4_payment-day-select-label=\"Payment Day\"\n step-4_payment-threshold-select-label=\"Payment threshold\"\n step-4_payment-day-first-of-month-label-text=\"1st of the month\"\n step-4_payment-day-fifteenth-of-month-label-text=\"15th of the month\"\n step-4_payment-method=\"Payment method\"\n step-4_payment-schedule=\"Payment schedule\"\n step-4_payment-method-subtext=\"Payouts will be sent from our referral program provider, impact.com.\"\n step-4_pay-pal-input-label=\"PayPal email\"\n step-4_bank-location-label=\"Bank country location\"\n step-4_beneficiary-account-name-label=\"Account holder name\"\n step-4_beneficiary-account-name-description=\"The beneficiary name of your bank account. Ensure this matches the name on your tax form.\"\n step-4_bank-account-type-label=\"Bank account type\"\n step-4_checking-select-item-label=\"Checking\"\n step-4_savings-select-item-label=\"Savings\"\n step-4_bank-account-number-label=\"Bank account number\"\n step-4_iban-label=\"IBAN\"\n step-4_swift-code-label=\"SWIFT code\"\n step-4_routing-code-label=\"{bankCountry, select, AU {BSB number} CA {Routing number} CZ {Bank code} HK {Clearing code} SG {Clearing code} US {ABA routing number} NZ {BSB number} ZA {Bank/Branch number} IN {IFSC} CNY {CNAPS} other {Routing code} }\"\n step-4_bank-name-label=\"Bank name\"\n step-4_classification-entity-label=\"Classification entity\"\n step-4_business-select-item-label=\"Business\"\n step-4_individual-select-item-label=\"Individual\"\n step-4_foreign-select-item-label=\"Foreign\"\n step-4_classification-c-p-f-label=\"Classification CPF\"\n step-4_patronymic-name-label=\"Patronymic name\"\n step-4_vo-code-label=\"VO code\"\n step-4_agency-code-label=\"Agency code\"\n step-4_branch-code-label=\"Branch code\"\n step-4_classification-label=\"Classification\"\n step-4_tax-payer-id-label=\"Beneficiary INN\"\n step-4-bank-address-label=\"Bank address\"\n step-4_bank-city-label=\"Bank city\"\n step-4_bank-state-label=\"Bank Province / State\"\n step-4_bank-postal-code-label=\"Bank postal code\"\n step-4_eft-withdrawal-label=\"EFT Withdrawal (free)\"\n step-4_fx-wire-processing-fee-label=\"FX Wire (Processing Fee {currency}{defaultFxFee}.00)\"\n step-4_modal-title=\"Important Note\"\n step-4_modal-description=\"Updating payment information places your account and payouts on hold for up to 48 hours while we verify your change. Payments scheduled during the hold period are skipped.\"\n step-4_modal-button-text=\"I understand, update my information\"\n dashboard_status-text-active=\"Active\"\n dashboard_status-text-not-active=\"Invalid Tax Form\"\n dashboard_status-text-not-verified=\"Not Verified\"\n dashboard_badge-text-submitted-on=\"Submitted on {dateSubmitted}.\"\n dashboard_badge-text-submitted-on-w-8=\"Submitted on {dateSubmitted}. Valid for three years after submission.\"\n dashboard_badge-text-awaiting-review=\"Awaiting review. Submitted on {dateSubmitted}.\"\n dashboard_tax-alert-header-not-active-w-9=\"Your W-9 tax form has personal information that doesn’t match your profile\"\n dashboard_tax-alert-header-not-active-w-8=\"{documentType} tax form is invalid\"\n dashboard_tax-alert-not-active-message-w-9=\"Please resubmit a new {documentType} form.\"\n dashboard_tax-alert-not-active-message-w-8=\"Your tax form may have expired or has personal information that doesn’t match your profile. Please submit a new {documentType} form.\"\n dashboard_invalid-form=\"Make sure your information is correct and submit new form.\"\n dashboard_banking-information-section-header=\"Payout Information\"\n dashboard_tax-document-section-header=\"Tax documents\"\n dashboard_tax-document-section-sub-header=\"{documentType} tax form\"\n dashboard_no-form-needed-subtext=\"Tax documents are only required if you are based in the US or joining the referral program of a US based brand.\"\n dashboard_indirect-tax-info-section-header=\"Indirect tax\"\n dashboard_indirect-tax-info-spain=\"Registered in {country}, {subRegion}\"\n dashboard_indirect-tax-info-other-country=\"Registered in {country}\"\n dashboard_indirect-tax-info-canada=\"Registered in {province}, {country}\"\n dashboard_indirect-tax-tooltip-support=\"To make changes to your indirect tax information, please contact Support.\"\n dashboard_indirect-tax-details=\"{indirectTaxType} number: {indirectTaxNumber}\"\n dashboard_new-form-button=\"Submit new tax form\"\n dashboard_edit-payment-information-button=\"Edit payout information\"\n dashboard_not-registered-for-tax=\"Not registered for indirect tax. If you’ve previously registered with your tax authority, contact Support to add your information to stay tax compliant.\"\n dashboard_qst-number=\"QST number: {qstNumber}\"\n dashboard_sub-region-tax-number=\"Income tax number: {subRegionTaxNumber}\"\n dashboard_status-badge-text=\"{badgeText, select, payoutToday {Payout Today} nextPayout {Next Payout} }\"\n dashboard_threshold-payout-text=\"Next payout occurs when balance is {thresholdBalance}\"\n dashboard_account-text=\"Account\"\n dashboard_invoice-column-title=\"Invoice\"\n dashboard_date-column-title=\"Date\"\n dashboard_earnings-column-title=\"Earnings\"\n dashboard_indirect-tax-column-title=\"Indirect tax\"\n dashboard_payout-from-impact=\"Your balance may take up to 24 hours to update. Payouts will be sent from our referral program provider, impact.com.\"\n dashboard_earnings-after-tax-column-title=\"Earnings after tax\"\n dashboard_error-title-text=\"Your payout is on hold \"\n dashboard_error-description-text=\"If you’ve recently added your payout information, please wait while we verify your information. If it’s still on hold after a few days, please contact Support or check your inbox for an email from our referral program provider, impact.com.\"\n dashboard_payout-missing-information-text=\"Missing banking information, go to Impact.com to resolve.\"\n dashboard_invoice-description=\"View and download your invoices to report your earnings and stay tax compliant.\"\n dashboard_invoice-prev-label=\"Prev\"\n dashboard_invoice-more-label=\"Next\"\n dashboard_invoice-header=\"Invoices\"\n dashboard_invoice-empty-state-header=\"View your invoice details\"\n dashboard_invoice-empty-state-text=\"Refer a friend to view the status of your invoices and rewards earned\"\n dashboard_replace-tax-form-modal-header=\"Replace existing tax form\"\n dashboard_replace-tax-form-modal-body-text=\"Submitting a new tax form will remove your existing form. Make sure to sign and complete your new tax form to prevent any issues with your next payout.\"\n form-step=\"Step {step} of {count}\"\n general-error-title=\"There was a problem submitting your information\"\n general-error-description=\"Please review your information and try again. If this problem continues, contact Support.\"\n field-required-error=\"{fieldName} is required\"\n invalid-character-error=\"{fieldName} includes characters that aren't supported.\"\n field-invalid-error=\"{fieldName} is invalid\"\n continue-button=\"Continue\"\n back-button=\"Back\"\n cancel-button=\"Cancel\"\n is-partner-alert-header=\"An account with this email already exists with our referral program provider, impact.com\"\n is-partner-alert-description=\"If you don’t recognize this referral program provider or believe this is a mistake, please contact Support or sign up for this referral program with a different email.\"\n search-for-country-text=\"Search for country..\"\n loading-error-alert-header=\"There was a problem loading your form\"\n loading-error-alert-description=\"Please refresh the page and try again. If this problem continues, contact Support.\"\n tax-and-payouts-description=\"Submit your tax documents and add your banking information to receive your rewards.\"\n ></sqm-tax-and-cash>\n </template>\n </sqm-router>\n </sqm-divided-layout>\n </sqm-divided-layout>\n </template>\n </sqm-router>\n </sqb-program-section>\n <sqm-portal-footer\n slot=\"footer\"\n support-email=\"support@example.com\"\n terms-link=\"https://example.com\"\n faq-link=\"https://example.com\"\n terms-text=\"Terms And Conditions\"\n faq-text=\"FAQ\"\n show-powered-by=\"true\"\n ></sqm-portal-footer>\n</sqm-portal-frame>\n";
1800
+ const taxAndCashTemplate = "<sqm-portal-frame>\n <a slot=\"header\" href=\"/\">\n <sqm-text style=\"height: 60px\">\n <img\n style=\"height: 60px\"\n src=\"https://res.cloudinary.com/saasquatch/image/upload/v1634255445/squatch-assets/Copy_of_saasquatch-logo-tree-large-horizontal.png\"\n />\n </sqm-text>\n </a>\n <sqb-program-section program-id=\"referral-program\">\n <sqm-router>\n <template\n path=\"/:path(\\bregister\\b|\\bemailVerification\\b|\\blogin\\b|\\bverifyEmail\\b|\\bforgotPassword\\b|\\bresetPassword\\b|\\blogout\\b)\"\n >\n <sqm-hero\n background=\"https://images.unsplash.com/photo-1599676821464-3555954838dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1939&q=80\"\n >\n <sqm-router>\n <template path=\"/register\">\n <sqm-portal-login></sqm-portal-login>\n <sqm-portal-register>\n <sqm-name-fields slot=\"formData\"></sqm-name-fields>\n </sqm-portal-register>\n </template>\n\n <template path=\"/emailVerification\">\n <sqm-portal-protected-route\n redirect-to=\"/login\"\n ></sqm-portal-protected-route>\n <sqm-portal-email-verification></sqm-portal-email-verification>\n </template>\n\n <template path=\"/login\">\n <sqm-portal-login></sqm-portal-login>\n </template>\n\n <template path=\"/verifyEmail\">\n <sqm-portal-verify-email></sqm-portal-verify-email>\n </template>\n\n <template path=\"/forgotPassword\">\n <sqm-portal-forgot-password\n email-label=\"Business Email\"\n ></sqm-portal-forgot-password>\n </template>\n\n <template path=\"/resetPassword\">\n <sqm-portal-reset-password\n confirm-password=\"true\"\n ></sqm-portal-reset-password>\n </template>\n <template path=\"/logout\">\n <sqm-portal-logout next-page=\"/login\"></sqm-portal-logout>\n </template>\n </sqm-router>\n </sqm-hero>\n </template>\n </sqm-router>\n <sqm-router>\n <template path=\"/:path(\\bactivity\\b|\\beditProfile\\b|\\brefer\\b)?\">\n <sqm-divided-layout\n direction=\"row\"\n style=\"\n border-top: var(--sqm-border-thickness, 1px) solid #eaeaea;\n border-bottom: var(--sqm-border-thickness, 1px) solid #eaeaea;\n \"\n >\n <sqm-navigation-sidebar>\n <sqm-navigation-sidebar-item\n path=\"/\"\n icon=\"house\"\n label=\"Dashboard\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/activity\"\n icon=\"bar-chart\"\n label=\"Activity\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/editProfile\"\n icon=\"person\"\n label=\"Edit Profile\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/taxAndCash\"\n icon=\"file-earmark-text\"\n label=\"Tax & Payout Settings\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/logout\"\n icon=\"box-arrow-right\"\n label=\"Logout\"\n ></sqm-navigation-sidebar-item>\n </sqm-navigation-sidebar>\n <sqm-divided-layout direction=\"column\" content-area-width=\"1200px\">\n <sqm-router>\n <template path=\"/\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqb-widget\n widget-type=\"p/referral-program/w/referrerWidget\"\n track-loads=\"true\"\n ></sqb-widget>\n </template>\n <template path=\"/editProfile\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container direction=\"column\" gap=\"xxx-large\">\n <sqm-portal-profile></sqm-portal-profile> </sqm-portal-container\n ><sqm-portal-container direction=\"column\" gap=\"xxx-large\">\n <sqm-portal-change-password></sqm-portal-change-password>\n </sqm-portal-container>\n </template>\n <template path=\"/refer\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-referral-iframe></sqm-referral-iframe>\n </template>\n <template path=\"/activity\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container\n direction=\"column\"\n padding=\"xxx-large\"\n gap=\"xxx-large\"\n >\n <sqm-text>\n <h1>Activity</h1>\n </sqm-text>\n <sqm-stat-container space=\"xxxx-large\"\n ><sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n ><sqm-text>\n <p>Referrals</p>\n </sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardsCountFiltered/AVAILABLE\"\n ><sqm-text>\n <p>Rewards Earned</p>\n </sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\n ><sqm-text>\n <p>Reward Balance</p>\n </sqm-text></sqm-big-stat\n >\n </sqm-stat-container>\n <sqm-referral-table>\n <sqm-referral-table-user-column></sqm-referral-table-user-column>\n <sqm-referral-table-rewards-column></sqm-referral-table-rewards-column>\n <sqm-referral-table-status-column></sqm-referral-table-status-column>\n <sqm-referral-table-date-column\n column-title=\"Referred\"\n date-shown=\"dateReferralStarted\"\n ></sqm-referral-table-date-column> </sqm-referral-table\n ></sqm-portal-container>\n </template>\n <template path=\"/taxAndCash\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-tax-and-cash\n step-1_first-name=\"First name\"\n step-1_last-name=\"Last name\"\n step-1_email=\"Email\"\n step-1_country=\"Country\"\n step-1_phone-number=\"Phone number\"\n step-1_address=\"Address\"\n step-1_city=\"City\"\n step-1_state=\"State\"\n step-1_province=\"Province\"\n step-1_region=\"Region\"\n step-1_postal-code=\"Postal code\"\n step-1_currency=\"Currency\"\n step-1_currency-help-text=\"Choose your preferred payout currency\"\n step-1_allow-banking-collection=\"I have read the {termsAndConditionsLink} and allow impact.com to collect my tax and banking information\"\n step-1_personal-information=\"Personal Information\"\n step-1_terms-and-conditions-label=\"terms and conditions\"\n step-1_terms-and-conditions-link=\"/payout-terms-and-conditions\"\n step-1_search-for-currency-text=\"Search for currency..\"\n step-2_indirect-tax=\"Indirect Tax\"\n step-2_indirect-tax-description=\"Indirect taxes (e.g. VAT, HST, GST) are transaction based taxes often applied to goods and services. Service providers are typically required to register with their tax authority and collect these taxes on behalf governments.\"\n step-2_indirect-tax-details=\"Indirect tax details\"\n step-2_other-region=\"Registered for indirect tax\"\n step-2_other-region-subtext=\"If you’ve registered with your tax authority, add your information to stay tax compliant.\"\n step-2_not-registered=\"Not registered for indirect tax\"\n step-2_not-registered-subtext=\"If you’ve never set up indirect tax with your tax authority, then you’re likely not considered registered.\"\n step-2_selected-region=\"Country / region of indirect tax\"\n step-2_indirect-tax-number=\"{taxType, select, GST {GST number} HST {HST number} VAT {VAT number} CT {CT number} SST {SST number} GENERAL {Indirect tax number}}\"\n step-2_province=\"Province\"\n step-2_indirect-tax-number-error=\"{taxType, select, GST {GST number} HST {HST number} VAT {VAT number} CT {CT number} SST {SST number} GENERAL {Indirect tax number}} is required\"\n step-2_qst-number=\"QST number\"\n step-2_is-registered-q-s-t=\"I am registered for QST Tax\"\n step-2_is-registered-sub-region-income-tax=\"I am an individual registered for Income Tax purposes in Spain, and withholding tax will apply to any payments made to me.\"\n step-2_sub-region=\"Sub-region\"\n step-2_sub-region-tax-number-label=\"Income Tax Number\"\n step-2_cannot-change-info-alert=\"Changes to your personal and indirect tax information can only be made through our Support team after you complete this step. Make sure these are correct before continuing.\"\n step-3_tax-form=\"Tax form\"\n step-3_tax-form-label=\"{documentType} Tax Form\"\n step-3_participant-type=\"Participant type\"\n step-3_business-entity=\"I represent a business\"\n step-3_individual-participant=\"I am an individual participant\"\n step-3_tax-form-description=\"Participants based in the US need to submit a {documentType} form.\"\n step-3_tax-form-description-individual-participant=\"Participants residing outside of the US, joining the referral program of a US-based company, need to submit a {documentType} form.\"\n step-3_tax-form-description-business-entity=\"Participants residing outside of the US working with a US Brand need to submit a {documentType} form.\"\n step-3_docusign-expired=\"For your security and privacy, we automatically end your session after 20 minutes of inactivity. Please refresh and re-enter your tax information to continue.\"\n step-3_docusign-session-warning=\"For your security, we automatically end your session when you have not interacted with the form after 20 minutes.\"\n step-3_docusign-error=\"There was a problem displaying this form. Please refresh the page. If this problem continues, contact Support.\"\n step-3_refresh-button=\"Refresh Page\"\n step-3_exit-button=\"Exit\"\n step-3_modal-title=\"Important Note\"\n step-3_modal-description=\"Remember the name you enter in your tax form. It must exactly match the bank account holder name configured in the next step. {br}{br}Otherwise you will have to resubmit your form again and there will be delays receiving your payout.\"\n step-3_modal-button-text=\"I understand\"\n step-4_tax-and-payouts=\"Payouts\"\n step-4_directly-to-bank-account=\"Directly to my bank account\"\n step-4_to-pay-pal-account=\"PayPal (2% processing fee capped to {feeCap})\"\n step-4_payment-schedule-balance-threshold=\"Pay me when my balance reaches a threshold\"\n step-4_payment-schedule-fixed-day=\"Pay me on a fixed day of the month\"\n step-4_payment-day-select-label=\"Payment Day\"\n step-4_payment-threshold-select-label=\"Payment threshold\"\n step-4_payment-day-first-of-month-label-text=\"1st of the month\"\n step-4_payment-day-fifteenth-of-month-label-text=\"15th of the month\"\n step-4_payment-method=\"Payment method\"\n step-4_payment-schedule=\"Payment schedule\"\n step-4_payment-method-subtext=\"Payouts will be sent from our referral program provider, impact.com.\"\n step-4_pay-pal-input-label=\"PayPal email\"\n step-4_bank-location-label=\"Bank country location\"\n step-4_beneficiary-account-name-label=\"Account holder name\"\n step-4_beneficiary-account-name-description=\"The beneficiary name of your bank account. Ensure this matches the name on your tax form.\"\n step-4_bank-account-type-label=\"Bank account type\"\n step-4_checking-select-item-label=\"Checking\"\n step-4_savings-select-item-label=\"Savings\"\n step-4_bank-account-number-label=\"Bank account number\"\n step-4_iban-label=\"IBAN\"\n step-4_swift-code-label=\"SWIFT code\"\n step-4_routing-code-label=\"{bankCountry, select, AU {BSB number} CA {Routing number} CZ {Bank code} HK {Clearing code} SG {Clearing code} US {ABA routing number} NZ {BSB number} ZA {Bank/Branch number} IN {IFSC} CNY {CNAPS} other {Routing code} }\"\n step-4_bank-name-label=\"Bank name\"\n step-4_classification-entity-label=\"Classification entity\"\n step-4_business-select-item-label=\"Business\"\n step-4_individual-select-item-label=\"Individual\"\n step-4_foreign-select-item-label=\"Foreign\"\n step-4_classification-c-p-f-label=\"Classification CPF\"\n step-4_patronymic-name-label=\"Patronymic name\"\n step-4_vo-code-label=\"VO code\"\n step-4_agency-code-label=\"Agency code\"\n step-4_branch-code-label=\"Branch code\"\n step-4_branch-name-label=\"Branch name\"\n step-4_classification-label=\"Classification\"\n step-4_classification-code-label=\"KBE code\"\n step-4_tax-payer-id-label=\"Beneficiary INN\"\n step-4-bank-address-label=\"Bank address\"\n step-4_bank-city-label=\"Bank city\"\n step-4_bank-state-label=\"Bank Province / State\"\n step-4_bank-postal-code-label=\"Bank postal code\"\n step-4_eft-withdrawal-label=\"EFT Withdrawal (free)\"\n step-4_fx-wire-processing-fee-label=\"FX Wire (Processing Fee {currency}{defaultFxFee}.00)\"\n step-4_modal-title=\"Important Note\"\n step-4_modal-description=\"Updating payment information places your account and payouts on hold for up to 48 hours while we verify your change. Payments scheduled during the hold period are skipped.\"\n step-4_modal-button-text=\"I understand, update my information\"\n dashboard_status-text-active=\"Active\"\n dashboard_status-text-not-active=\"Invalid Tax Form\"\n dashboard_status-text-not-verified=\"Not Verified\"\n dashboard_badge-text-submitted-on=\"Submitted on {dateSubmitted}.\"\n dashboard_badge-text-submitted-on-w-8=\"Submitted on {dateSubmitted}. Valid for three years after submission.\"\n dashboard_badge-text-awaiting-review=\"Awaiting review. Submitted on {dateSubmitted}.\"\n dashboard_tax-alert-header-not-active-w-9=\"Your W-9 tax form has personal information that doesn’t match your profile\"\n dashboard_tax-alert-header-not-active-w-8=\"{documentType} tax form is invalid\"\n dashboard_tax-alert-not-active-message-w-9=\"Please resubmit a new {documentType} form.\"\n dashboard_tax-alert-not-active-message-w-8=\"Your tax form may have expired or has personal information that doesn’t match your profile. Please submit a new {documentType} form.\"\n dashboard_invalid-form=\"Make sure your information is correct and submit new form.\"\n dashboard_banking-information-section-header=\"Payout Information\"\n dashboard_tax-document-section-header=\"Tax documents\"\n dashboard_tax-document-section-sub-header=\"{documentType} tax form\"\n dashboard_no-form-needed-subtext=\"Tax documents are only required if you are based in the US or joining the referral program of a US based brand.\"\n dashboard_indirect-tax-info-section-header=\"Indirect tax\"\n dashboard_indirect-tax-info-spain=\"Registered in {country}, {subRegion}\"\n dashboard_indirect-tax-info-other-country=\"Registered in {country}\"\n dashboard_indirect-tax-info-canada=\"Registered in {province}, {country}\"\n dashboard_indirect-tax-tooltip-support=\"To make changes to your indirect tax information, please contact Support.\"\n dashboard_indirect-tax-details=\"{indirectTaxType} number: {indirectTaxNumber}\"\n dashboard_new-form-button=\"Submit new tax form\"\n dashboard_edit-payment-information-button=\"Edit payout information\"\n dashboard_not-registered-for-tax=\"Not registered for indirect tax. If you’ve previously registered with your tax authority, contact Support to add your information to stay tax compliant.\"\n dashboard_qst-number=\"QST number: {qstNumber}\"\n dashboard_sub-region-tax-number=\"Income tax number: {subRegionTaxNumber}\"\n dashboard_status-badge-text=\"{badgeText, select, payoutToday {Payout Today} nextPayout {Next Payout} other {Failed} }\"\n dashboard_threshold-payout-text=\"Next payout occurs when balance is {thresholdBalance}\"\n dashboard_account-text=\"Account\"\n dashboard_invoice-column-title=\"Invoice\"\n dashboard_date-column-title=\"Date\"\n dashboard_earnings-column-title=\"Earnings\"\n dashboard_indirect-tax-column-title=\"Indirect tax\"\n dashboard_payout-from-impact=\"Your balance may take up to 24 hours to update. Payouts will be sent from our referral program provider, impact.com.\"\n dashboard_earnings-after-tax-column-title=\"Earnings after tax\"\n dashboard_error-title-text=\"Your payout is on hold \"\n dashboard_error-description-text=\"If you’ve recently added your payout information, please wait while we verify your information. If it’s still on hold after a few days, please contact Support or check your inbox for an email from our referral program provider, impact.com.\"\n dashboard_payout-missing-information-text=\"Missing banking information, go to Impact.com to resolve.\"\n dashboard_invoice-description=\"View and download your invoices to report your earnings and stay tax compliant.\"\n dashboard_invoice-prev-label=\"Prev\"\n dashboard_invoice-more-label=\"Next\"\n dashboard_invoice-header=\"Invoices\"\n dashboard_invoice-empty-state-header=\"View your invoice details\"\n dashboard_invoice-empty-state-text=\"Refer a friend to view the status of your invoices and rewards earned\"\n dashboard_replace-tax-form-modal-header=\"Replace existing tax form\"\n dashboard_replace-tax-form-modal-body-text=\"Submitting a new tax form will remove your existing form. Make sure to sign and complete your new tax form to prevent any issues with your next payout.\"\n form-step=\"Step {step} of {count}\"\n general-error-title=\"There was a problem submitting your information\"\n general-error-description=\"Please review your information and try again. If this problem continues, contact Support.\"\n field-required-error=\"{fieldName} is required\"\n invalid-character-error=\"{fieldName} includes characters that aren't supported.\"\n field-invalid-error=\"{fieldName} is invalid\"\n continue-button=\"Continue\"\n back-button=\"Back\"\n cancel-button=\"Cancel\"\n is-partner-alert-header=\"An account with this email already exists with our referral program provider, impact.com\"\n is-partner-alert-description=\"If you don’t recognize this referral program provider or believe this is a mistake, please contact Support or sign up for this referral program with a different email.\"\n search-for-country-text=\"Search for country..\"\n loading-error-alert-header=\"There was a problem loading your form\"\n loading-error-alert-description=\"Please refresh the page and try again. If this problem continues, contact Support.\"\n tax-and-payouts-description=\"Submit your tax documents and add your banking information to receive your rewards.\"\n ></sqm-tax-and-cash>\n </template>\n </sqm-router>\n </sqm-divided-layout>\n </sqm-divided-layout>\n </template>\n </sqm-router>\n </sqb-program-section>\n <sqm-portal-footer\n slot=\"footer\"\n support-email=\"support@example.com\"\n terms-link=\"https://example.com\"\n faq-link=\"https://example.com\"\n terms-text=\"Terms And Conditions\"\n faq-text=\"FAQ\"\n show-powered-by=\"true\"\n ></sqm-portal-footer>\n</sqm-portal-frame>\n";
1799
1801
 
1800
1802
  const taxPayoutReminderEmailTemplate = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional //EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n\n<html\n xmlns=\"http://www.w3.org/1999/xhtml\"\n xmlns:o=\"urn:schemas-microsoft-com:office:office\"\n xmlns:v=\"urn:schemas-microsoft-com:vml\"\n>\n <head>\n <!--[if gte mso 9\n ]><xml\n ><o:OfficeDocumentSettings\n ><o:AllowPNG /><o:PixelsPerInch\n >96</o:PixelsPerInch\n ></o:OfficeDocumentSettings\n ></xml\n ><!\n [endif]-->\n <meta content=\"text/html; charset=utf-8\" http-equiv=\"Content-Type\" />\n <meta content=\"width=device-width\" name=\"viewport\" />\n <!--[if !mso]><!-->\n <meta content=\"IE=edge\" http-equiv=\"X-UA-Compatible\" />\n <!--<![endif]-->\n <title></title>\n <!--[if !mso]><!-->\n <!--<![endif]-->\n <style type=\"text/css\">\n body {\n margin: 0;\n padding: 0;\n }\n\n table,\n td,\n tr {\n vertical-align: top;\n border-collapse: collapse;\n }\n\n * {\n line-height: inherit;\n }\n\n a[x-apple-data-detectors=\"true\"] {\n color: inherit !important;\n text-decoration: none !important;\n }\n </style>\n <style id=\"media-query\" type=\"text/css\">\n @media (max-width: 520px) {\n .block-grid,\n .col {\n min-width: 320px !important;\n max-width: 100% !important;\n display: block !important;\n }\n\n .block-grid {\n width: 100% !important;\n }\n\n .col {\n width: 100% !important;\n }\n\n .col_cont {\n margin: 0 auto;\n }\n\n img.fullwidth,\n img.fullwidthOnMobile {\n max-width: 100% !important;\n }\n\n .no-stack .col {\n min-width: 0 !important;\n display: table-cell !important;\n }\n\n .no-stack.two-up .col {\n width: 50% !important;\n }\n\n .no-stack .col.num2 {\n width: 16.6% !important;\n }\n\n .no-stack .col.num3 {\n width: 25% !important;\n }\n\n .no-stack .col.num4 {\n width: 33% !important;\n }\n\n .no-stack .col.num5 {\n width: 41.6% !important;\n }\n\n .no-stack .col.num6 {\n width: 50% !important;\n }\n\n .no-stack .col.num7 {\n width: 58.3% !important;\n }\n\n .no-stack .col.num8 {\n width: 66.6% !important;\n }\n\n .no-stack .col.num9 {\n width: 75% !important;\n }\n\n .no-stack .col.num10 {\n width: 83.3% !important;\n }\n\n .video-block {\n max-width: none !important;\n }\n\n .mobile_hide {\n min-height: 0px;\n max-height: 0px;\n max-width: 0px;\n display: none;\n overflow: hidden;\n font-size: 0px;\n }\n\n .desktop_hide {\n display: block !important;\n max-height: none !important;\n }\n }\n </style>\n <style id=\"icon-media-query\" type=\"text/css\">\n @media (max-width: 520px) {\n .icons-inner {\n text-align: center;\n }\n\n .icons-inner td {\n margin: 0 auto;\n }\n }\n </style>\n </head>\n <body\n class=\"clean-body\"\n style=\"\n margin: 0;\n padding: 0;\n -webkit-text-size-adjust: 100%;\n background-color: #ffffff;\n \"\n >\n <!--[if IE]><div class=\"ie-browser\"><![endif]-->\n <table\n bgcolor=\"#FFFFFF\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n class=\"nl-container\"\n role=\"presentation\"\n style=\"\n table-layout: fixed;\n vertical-align: top;\n min-width: 320px;\n border-spacing: 0;\n border-collapse: collapse;\n mso-table-lspace: 0pt;\n mso-table-rspace: 0pt;\n background-color: #ffffff;\n width: 100%;\n \"\n valign=\"top\"\n width=\"100%\"\n >\n <tbody>\n <tr style=\"vertical-align: top\" valign=\"top\">\n <td style=\"word-break: break-word; vertical-align: top\" valign=\"top\">\n <!--[if (mso)|(IE)]><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td align=\"center\" style=\"background-color:#FFFFFF\"><![endif]-->\n <div style=\"background-color: transparent\">\n <div\n class=\"block-grid\"\n style=\"\n min-width: 320px;\n max-width: 500px;\n overflow-wrap: break-word;\n word-wrap: break-word;\n word-break: break-word;\n margin: 0 auto;\n background-color: transparent;\n \"\n >\n <div\n style=\"\n border-collapse: collapse;\n display: table;\n width: 100%;\n background-color: transparent;\n \"\n >\n <!--[if (mso)|(IE)]><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"background-color:transparent;\"><tr><td align=\"center\"><table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"width:500px\"><tr class=\"layout-full-width\" style=\"background-color:transparent\"><![endif]-->\n <!--[if (mso)|(IE)]><td align=\"center\" width=\"500\" style=\"background-color:transparent;width:500px; border-top: 0px solid transparent; border-left: 0px solid transparent; border-bottom: 0px solid transparent; border-right: 0px solid transparent;\" valign=\"top\"><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td style=\"padding-right: 0px; padding-left: 0px; padding-top:5px; padding-bottom:5px;\"><![endif]-->\n <div\n class=\"col num12\"\n style=\"\n min-width: 320px;\n max-width: 500px;\n display: table-cell;\n vertical-align: top;\n width: 500px;\n \"\n >\n <div class=\"col_cont\" style=\"width: 100% !important\">\n <!--[if (!mso)&(!IE)]><!-->\n <div\n style=\"\n border-top: 0px solid transparent;\n border-left: 0px solid transparent;\n border-bottom: 0px solid transparent;\n border-right: 0px solid transparent;\n padding-top: 5px;\n padding-bottom: 5px;\n padding-right: 0px;\n padding-left: 0px;\n \"\n >\n <!--<![endif]-->\n <table\n cellpadding=\"0\"\n cellspacing=\"0\"\n role=\"presentation\"\n style=\"\n table-layout: fixed;\n vertical-align: top;\n border-spacing: 0;\n border-collapse: collapse;\n mso-table-lspace: 0pt;\n mso-table-rspace: 0pt;\n \"\n valign=\"top\"\n width=\"100%\"\n >\n <tr style=\"vertical-align: top\" valign=\"top\">\n <td\n align=\"center\"\n style=\"\n word-break: break-word;\n vertical-align: top;\n padding-bottom: 20px;\n padding-left: 10px;\n padding-right: 10px;\n padding-top: 10px;\n text-align: center;\n width: 100%;\n \"\n valign=\"top\"\n width=\"100%\"\n >\n <h1\n style=\"\n color: #444445;\n direction: ltr;\n font-family: 'Helvetica Neue', Helvetica,\n Arial, sans-serif;\n font-size: 20px;\n font-weight: normal;\n letter-spacing: normal;\n line-height: 120%;\n text-align: left;\n margin-top: 0;\n margin-bottom: 0;\n \"\n >\n <strong>Submit your tax and payout info to receive your rewards</strong>\n </h1>\n </td>\n </tr>\n </table>\n <!--[if mso]><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td style=\"padding-right: 10px; padding-left: 10px; padding-top: 10px; padding-bottom: 10px; font-family: Arial, sans-serif\"><![endif]-->\n <div\n style=\"\n color: #444445;\n font-family: Arial, Helvetica Neue, Helvetica,\n sans-serif;\n line-height: 1.8;\n padding-top: 10px;\n padding-right: 10px;\n padding-bottom: 10px;\n padding-left: 10px;\n \"\n >\n <div\n class=\"txtTinyMce-wrapper\"\n style=\"\n font-size: 14px;\n line-height: 1.8;\n color: #444445;\n font-family: Arial, Helvetica Neue, Helvetica,\n sans-serif;\n mso-line-height-alt: 25px;\n \"\n >\n <p\n style=\"\n margin: 0;\n font-size: 14px;\n line-height: 1.8;\n word-break: break-word;\n mso-line-height-alt: 25px;\n margin-top: 0;\n margin-bottom: 0;\n \"\n >\n <span style=\"font-size: 14px\"\n >Congratulations! You earned a cash reward in our {{programName}}. To\n receive your reward payment, log in to your account and submit your\n tax and payout information.</span\n >\n </p>\n </div>\n </div>\n <!--[if mso]></td></tr></table><![endif]-->\n <div\n align=\"center\"\n class=\"button-container\"\n style=\"\n padding-top: 10px;\n padding-right: 10px;\n padding-bottom: 10px;\n padding-left: 10px;\n \"\n >\n <!--[if mso]><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"border-spacing: 0; border-collapse: collapse; mso-table-lspace:0pt; mso-table-rspace:0pt;\"><tr><td style=\"padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px\" align=\"center\"><v:roundrect xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:w=\"urn:schemas-microsoft-com:office:word\" target=\"_blank\" href={{validationLink}} style=\"height:31.5pt;width:390pt;v-text-anchor:middle;\" arcsize=\"12%\" stroke=\"false\" fillcolor=\"#2270ee\"><w:anchorlock/><v:textbox inset=\"0,0,0,0\"><center style=\"color:#ffffff; font-family:Arial, sans-serif; font-size:14px\"><!\n [endif]--><a\n href={{loginLink}}\n\t\t\t\t\t\t\ttarget=\"_blank\"\n style=\"\n -webkit-text-size-adjust: none;\n text-decoration: none;\n display: block;\n color: #ffffff;\n background-color: #2270ee;\n border-radius: 5px;\n -webkit-border-radius: 5px;\n -moz-border-radius: 5px;\n width: 100%;\n width: calc(100% - 2px);\n border-top: var(--sqm-border-thickness, 1px) solid #2270ee;\n border-right: var(--sqm-border-thickness, 1px) solid #2270ee;\n border-bottom: var(--sqm-border-thickness, 1px) solid #2270ee;\n border-left: var(--sqm-border-thickness, 1px) solid #2270ee;\n padding-top: 5px;\n padding-bottom: 5px;\n font-family: 'Helvetica Neue', Helvetica, Arial,\n sans-serif;\n text-align: center;\n mso-border-alt: none;\n word-break: keep-all;\n \"\n target=\"_blank\"\n ><span\n style=\"\n padding-left: 20px;\n padding-right: 20px;\n font-size: 14px;\n display: inline-block;\n letter-spacing: undefined;\n \"\n ><span\n style=\"\n font-size: 16px;\n line-height: 2;\n word-break: break-word;\n mso-line-height-alt: 32px;\n \"\n ><span\n style=\"font-size: 14px; line-height: 28px\"\n >Log In</span\n ></span\n ></span\n ></a\n >\n <!--[if mso]></center></v:textbox></v:roundrect></td></tr></table><![endif]-->\n </div>\n <!--<![endif]-->\n </div>\n </div>\n <!--[if (mso)|(IE)]></td></tr></table><![endif]-->\n <!--[if (mso)|(IE)]></td></tr></table></td></tr></table><![endif]-->\n </div>\n </div>\n </div>\n <!--[if (mso)|(IE)]></td></tr></table><![endif]-->\n </td>\n </tr>\n </tbody>\n </table>\n <!--[if (IE)]></div><![endif]-->\n </body>\n</html>";
1801
1803
 
@@ -10728,7 +10730,7 @@ const column = "@author:noah\n@owner:noah\nFeature: Referral Table User Column\n
10728
10730
 
10729
10731
  const date = "@author:noah\n@owner:noah\nFeature: Referral Table Date Column\n\n Shows the date of each referral\n\n Background:\n Given the date column is included in the referral table\n\n @motivating\n @ui\n Scenario Outline: The title of the date column is configurable\n Given the \"column-title\" prop is set to <value>\n Then the date column is shown with <columTitle>\n Examples:\n | value | columnTitle |\n | | Date Converted |\n | My column title | My column title |\n\n @motivating\n Scenario Outline: A configurable date associated with the referral is shown for each referral\n Given the \"date-shown\" prop is set to <dateType>\n And referrals exist\n Then for each referral the <referralDate> is shown in the table\n And the date is localized to the users locale\n Examples:\n | dateType | referralDate |\n | dateReferralStarted | date referral started |\n | dateReferralPaid | date referral paid |\n | dateReferralEnded | date referral ended |\n | dateModerated | date moderated |\n | dateUserModified | date user modified |\n | dateConverted | date converted |\n | dateModified | date modified |\n | | date converted |";
10730
10732
 
10731
- const rewards = "@author:noah @owner:noah\nFeature: Referral Table Reward Column\n Shows the reward associated with each referral\n\n Background: \n Given the status column is included in the referral table\n And at least one referral exists\n\n\n\n @motivating @ui\n Scenario Outline: The referral reward and its status are shown for each referral\n Then for each referral reward there exists a reward cell\n And the reward type and value is displayed in the cell\n And the status of each reward is displayed as a pill in the cell\n And rewards of <status> have a <pillColour> pill with the text <statusText>\n\n Examples: \n | status | pillColour | statusText |\n | Available | success | Available |\n | Pending | warning | Pending |\n | Pending Fraud Review | warning | Pending |\n | Pending Tax Review | warning | Pending |\n | Pending New Tax Form | warning | Pending |\n | Pending Tax Submission | warning | Pending |\n | Pending Partner Creation | warning | Pending |\n | Cancelled | danger | Cancelled |\n | Payout Overdue | danger | Payout Failed |\n | Payout Reversed | danger | Payout Cancelled |\n | Expired | danger | Expired |\n | Denied | danger | Denied |\n | Redeemed | primary | Redeemed |\n | Payout Transferred | primary | Payout Approved |\n | Payout Not Yet Due | primary | Payout Approved |\n | Payout Processing | primary | Payment Processing |\n\n @motivating\n Scenario: The pending period of a referral reward is shown inside the pill if scheduled\n Given a reward that is pending\n And the reward has a scheduled date in the future\n Then the status pill of the reward will contain the text \"Pending for <relativeTime>\"\n And the date is localized to the user's locale\n\n Examples: \n | relativeTime |\n | 2 days |\n | 1 week |\n | 3 months |\n\n @motivating\n Scenario: The expiry date of a reward is shown in a secondary pill\n Given a reward that is available\n And the reward has a set expiry date\n Then an additional info pill will appear next to the status pill with the text \"Expiring in <relativeTime>\"\n And the date is localized to the user's locale\n\n Examples: \n | relativeTime |\n | 2 days |\n | 1 week |\n\n @motivating @ui\n Scenario Outline: Expanding the reward cell shows specific detailed status messages\n When a reward cell is clicked\n Then it expands to show the detail view\n And if the reward status is <status>\n Then the detail text displays <detailMessage>\n\n Examples: Payout States\n | status | detailMessage |\n | Payout Approved | Processing until {date}. Payout is then scheduled based on your settings. |\n | Payout Failed | Payout failed due to a fulfillment issue and is currently being retried. |\n | Payout Cancelled | If you think this is a mistake, contact our Support team. |\n | Processing | Processing until {date}. Payout is then scheduled based on your settings. |\n\n Examples: Tax Compliance States\n | status | detailMessage |\n | Pending Tax Review | Awaiting tax form review |\n | Pending New Tax Form | Invalid tax form. Submit a new form to receive your rewards. |\n | Pending Tax Submission | Submit your tax documents to receive your rewards |\n | Pending Partner Creation | Complete your tax and cash payout setup to receive your rewards |\n\n Examples: Standard States\n | status | detailMessage |\n | Available | Reward expiring on |\n | Cancelled | Reward cancelled on |\n | Pending | Available on |\n | Pending Review | Pending since |\n | Denied | Denied on |\n | Expired | Reward expired on |\n | Redeemed | Redeemed |\n\n @motivating\n Scenario: Fuel Tank codes are displayed in the expanded view\n Given a reward has a Fuel Tank code\n When the reward cell is clicked\n Then the expanded details display the text \"Your code is\"\n And the code <fuelTankCode> is displayed in bold\n\n @motivating\n Scenario: Fraud denial help text is displayed\n Given a reward has been denied due to fraud\n And the component has \"deniedHelpText\" configured\n When the reward cell is clicked\n Then the expanded details display the denied help text next to the denial date\n\n @minutia\n Scenario: Payout-related reward statuses are determined by the state of the Paid Funds Transfer\n Given a reward exists\n And the reward has a connected Paid Funds Transfer (PFT)\n When the PFT is in <pftState>\n Then the reward's status is <status>\n And the status text displays <text>\n And the status is displayed in a <pillColour> pill\n\n Examples:\n | pftState | status | text | pillColour |\n | transfer date is in the future | PROCESSING | Payment Processing | primary |\n | successfully transferred to payment provider | PAYOUT_TRANSFERRED | Payout Approved | primary |\n | approved but payout scheduled date not yet arrived | PAYOUT_NOT_YET_DUE | Payout Approved | primary |\n | failed due to fulfillment issue and retrying | PAYOUT_OVERDUE | Payout Failed | danger |\n | reversed or cancelled after being processed | PAYOUT_REVERSED | Payout Cancelled | danger |\n";
10733
+ const rewards = "@author:noah @owner:noah\nFeature: Referral Table Reward Column\n Shows the reward associated with each referral\n\n Background:\n Given the status column is included in the referral table\n And at least one referral exists\n\n @motivating\n Scenario Outline: State precedence ladder\n Given a reward, its referral's fraud state, and the user's tax connection\n Then <rule> is produced\n And the <resultingState>, <resultingBadgeText>, and <resultingDescriptionBody> is determined in the following <order>:\n\n Examples:\n | order | rule | resultingState | resultingBadgeText | resultingDescriptionBody |\n | 1 | referral.fraudData.moderationStatus is \"DENIED\" | DENIED | Denied | Denied on Jan 1, 2026. Contact support. |\n | 2 | referral.fraudData.moderationStatus is \"PENDING\" | PENDING_REVIEW | Pending | Pending since Jan 1, 2026 |\n | 3 | reward.rewardedCash is true AND impactConnection is NOT connected | PENDING_PARTNER_CREATION | Pending | Complete your tax and cash payout setup to receive your rewards |\n | 4 | reward.rewardedCash is true AND impactConnection is connected AND publisher.withdrawalSettings is missing | PENDING_PARTNER_CREATION | Pending | Complete your tax and cash payout setup to receive your rewards |\n | 5 | partnerFundsTransfer.status is \"REVERSED\" | PAYOUT_CANCELLED | Payout Cancelled | If you think this is a mistake, contact our Support team. |\n | 6 | partnerFundsTransfer.status is \"OVERDUE\" | PAYOUT_FAILED | Payout Failed | Payout failed due to a fulfillment issue and is currently being retried. |\n | 7 | partnerFundsTransfer.dateScheduled is in the future | PROCESSING | Payment Processing | Processing until Jan 1, 2026. Payout is then scheduled based on your settings. |\n | 8 | partnerFundsTransfer.status is \"TRANSFERRED\" / \"NOT_YET_DUE\", or dateScheduled has passed without REVERSED/OVERDUE | PAYOUT_APPROVED | Payout Approved | Processing until Jan 1, 2026. Payout is then scheduled based on your settings. |\n | 9 | reward.pendingReasons includes \"US_TAX\" AND impactConnection.taxHandlingEnabled is false | PENDING | Pending | Available on Jan 1, 2026 (if dateScheduledFor set; else no body line) |\n | 10 | reward.pendingReasons includes \"US_TAX\" AND impactConnection.connected is false | PENDING_PARTNER_CREATION | Pending | Complete your tax and cash payout setup to receive your rewards |\n | 11 | reward.pendingReasons includes \"US_TAX\" AND publisher.requiredTaxDocumentType is set AND publisher.currentTaxDocument is missing | PENDING_TAX_SUBMISSION | Pending | Submit your tax documents to receive your rewards |\n | 12 | reward.pendingReasons includes \"US_TAX\" AND publisher.currentTaxDocument.status is \"INACTIVE\" / \"INVALID_W9_ELECTRONIC_DOCUMENT\" / \"INVALID_W9_ELECTRONIC_DOCUMENT_CHECK_INTERNAL\" | PENDING_NEW_TAX_FORM | Pending | Invalid tax form. Submit a new form to receive your rewards. |\n | 13 | reward.pendingReasons includes \"US_TAX\" AND publisher.currentTaxDocument.status is \"NOT_VERIFIED\" | PENDING_TAX_REVIEW | Pending | Awaiting tax form review |\n | 14 | reward.pendingReasons includes \"US_TAX\" AND publisher.currentTaxDocument.status is \"ACTIVE\" AND publisher.withdrawalSettings missing | PENDING_PARTNER_CREATION | Pending | Complete your tax and cash payout setup to receive your rewards |\n | 15 | reward.pendingReasons includes \"MISSING_PAYOUT_CONFIGURATION\" | PENDING_PARTNER_CREATION | Pending | Complete your tax and cash payout setup to receive your rewards |\n | 16 | statuses includes \"REDEEMED\" | REDEEMED | Redeemed | (no state-specific body line) |\n | 17 | statuses includes \"CANCELLED\" | CANCELLED | Cancelled | Reward cancelled on Jan 1, 2026 |\n | 18 | statuses includes \"EXPIRED\" | EXPIRED | Expired | Reward expired on Jan 1, 2026 |\n | 19 | statuses includes \"PENDING\" | PENDING | Pending (or \"Pending for {date}\" overlay if dateScheduledFor set) | Available on Jan 1, 2026 (if dateScheduledFor set; else no body line) |\n | 20 | statuses includes \"AVAILABLE\" | AVAILABLE | Available (plus info pill \"{expiringText} {relative}\" if dateExpires set) | Reward expiring on Jan 1, 2026 |\n\n @motivating @ui\n Scenario Outline: The referral reward and its status are shown for each referral\n Then for each referral reward there exists a reward cell\n And the reward type and value is displayed in the cell\n And the status of each reward is displayed as a pill in the cell\n And rewards of <status> have a <pillColour> pill with the text <statusText>\n\n Examples:\n | status | pillColour | statusText |\n | Available | success | Available |\n | Pending | warning | Pending |\n | Pending Fraud Review | warning | Pending |\n | Pending Tax Review | warning | Pending |\n | Pending New Tax Form | warning | Pending |\n | Pending Tax Submission | warning | Pending |\n | Pending Partner Creation | warning | Pending |\n | Cancelled | danger | Cancelled |\n | Payout Overdue | danger | Payout Failed |\n | Payout Reversed | danger | Payout Cancelled |\n | Expired | danger | Expired |\n | Denied | danger | Denied |\n | Redeemed | primary | Redeemed |\n | Payout Transferred | primary | Payout Approved |\n | Payout Not Yet Due | primary | Payout Approved |\n | Payout Processing | primary | Payment Processing |\n\n @motivating\n Scenario: The pending period of a referral reward is shown inside the pill if scheduled\n Given a reward that is pending\n And the reward has a scheduled date in the future\n Then the status pill of the reward will contain the text \"Pending for <relativeTime>\"\n And the date is localized to the user's locale\n\n Examples:\n | relativeTime |\n | 2 days |\n | 1 week |\n | 3 months |\n\n @motivating\n Scenario: The expiry date of a reward is shown in a secondary pill\n Given a reward that is available\n And the reward has a set expiry date\n Then an additional info pill will appear next to the status pill with the text \"Expiring in <relativeTime>\"\n And the date is localized to the user's locale\n\n Examples:\n | relativeTime |\n | 2 days |\n | 1 week |\n\n @motivating @ui\n Scenario Outline: Expanding the reward cell shows specific detailed status messages\n When a reward cell is clicked\n Then it expands to show the detail view\n And if the reward status is <status>\n Then the detail text displays <detailMessage>\n\n Examples: Payout States\n | status | detailMessage |\n | Payout Approved | Processing until {date}. Payout is then scheduled based on your settings. |\n | Payout Failed | Payout failed due to a fulfillment issue and is currently being retried. |\n | Payout Cancelled | If you think this is a mistake, contact our Support team. |\n | Processing | Processing until {date}. Payout is then scheduled based on your settings. |\n\n Examples: Tax Compliance States\n | status | detailMessage |\n | Pending Tax Review | Awaiting tax form review |\n | Pending New Tax Form | Invalid tax form. Submit a new form to receive your rewards. |\n | Pending Tax Submission | Submit your tax documents to receive your rewards |\n | Pending Partner Creation | Complete your tax and cash payout setup to receive your rewards |\n\n Examples: Standard States\n | status | detailMessage |\n | Available | Reward expiring on |\n | Cancelled | Reward cancelled on |\n | Pending | Available on |\n | Pending Review | Pending since |\n | Denied | Denied on |\n | Expired | Reward expired on |\n | Redeemed | Redeemed |\n\n @motivating\n Scenario: Fuel Tank codes are displayed in the expanded view\n Given a reward has a Fuel Tank code\n When the reward cell is clicked\n Then the expanded details display the text \"Your code is\"\n And the code <fuelTankCode> is displayed in bold\n\n @motivating\n Scenario: Fraud denial help text is displayed\n Given a reward has been denied due to fraud\n And the component has \"deniedHelpText\" configured\n When the reward cell is clicked\n Then the expanded details display the denied help text next to the denial date\n\n @minutia\n Scenario: Payout-related reward statuses are determined by the state of the Paid Funds Transfer\n Given a reward exists\n And the reward has a connected Paid Funds Transfer (PFT)\n When the PFT is in <pftState>\n Then the reward's status is <status>\n And the status text displays <text>\n And the status is displayed in a <pillColour> pill\n\n Examples:\n | pftState | status | text | pillColour |\n | transfer date is in the future | PROCESSING | Payment Processing | primary |\n | successfully transferred to payment provider | PAYOUT_TRANSFERRED | Payout Approved | primary |\n | approved but payout scheduled date not yet arrived | PAYOUT_NOT_YET_DUE | Payout Approved | primary |\n | failed due to fulfillment issue and retrying | PAYOUT_OVERDUE | Payout Failed | danger |\n | reversed or cancelled after being processed | PAYOUT_REVERSED | Payout Cancelled | danger |\n";
10732
10734
 
10733
10735
  const status = "@author:noah\n@owner:noah\nFeature: Referral Table Status Column\n\n Shows the status of each referral\n\n Background:\n Given the status column is included in the referral table\n\n @motivating\n @ui\n Scenario: The title of the date column is configurable\n Given the \"column-title\" prop is set to \"My column title\"\n Then the date column is shown with \"My column title\"\n\n @motivating\n Scenario: The status column's fraudStatus maps to the fraud status of the referral\n Given at least one referral\n Then the referral cell fraud status is set to `moderationStatus` of the referral\n\n @motivating\n Scenario Outline: The status column displays the status of each referral\n Given referrals exist\n Then the status of each referral is displayed\n And the status <status> is displayed as text from <statusTextProp> in a <pillColour> pill\n\n Examples:\n | status | statusTextProp | pillColour |\n | In Progress | inProgressStatusText | Orange |\n | Converted | convertedStatusText | Green |\n | Pending | pendingReviewStatusText | Orange |\n | Denied | deniedStatusText | Red |\n";
10734
10736
 
@@ -10895,6 +10897,7 @@ const cashPayoutSentReward = {
10895
10897
  statuses: ["AVAILABLE"],
10896
10898
  globalRewardKey: "Key",
10897
10899
  rewardRedemptionTransactions: null,
10900
+ rewardedCash: true,
10898
10901
  };
10899
10902
  const nullExpiresIn = {
10900
10903
  dateExpires: null,
@@ -11256,6 +11259,7 @@ const baseReward$1 = {
11256
11259
  },
11257
11260
  ],
11258
11261
  },
11262
+ rewardedCash: false,
11259
11263
  };
11260
11264
  // Reward Status Cases
11261
11265
  const pendingReward$1 = {
@@ -11810,193 +11814,274 @@ const ReferralTable = /*#__PURE__*/Object.freeze({
11810
11814
  const TaxAndCashReferralTableRewardsCell_stories = {
11811
11815
  title: "Components/Tax And Cash Referral Table Rewards Cell",
11812
11816
  };
11813
- function getDays$1() {
11814
- return luxon.luxon.DateTime.now().toMillis() + 600000000;
11815
- }
11816
- function getMonths$1() {
11817
- return luxon.luxon.DateTime.now().toMillis() + 10000000000;
11818
- }
11817
+ // Reusable timestamps (current date is May 2026)
11818
+ const PAST = 1640995200000; // Jan 1, 2022
11819
+ const FUTURE = 2779257600000; // ~2058
11819
11820
  const cashReward = {
11820
11821
  id: "1234",
11821
11822
  type: "CREDIT",
11822
11823
  value: 50,
11823
11824
  unit: "USD",
11824
11825
  name: "test",
11825
- dateScheduledFor: getDays$1(),
11826
- dateExpires: getMonths$1(),
11827
- dateCancelled: 134400,
11828
- dateRedeemed: 0,
11826
+ dateScheduledFor: null,
11827
+ dateExpires: null,
11828
+ dateCancelled: null,
11829
+ dateRedeemed: null,
11829
11830
  fuelTankCode: null,
11830
11831
  fuelTankType: null,
11831
11832
  currency: "USD",
11832
11833
  prettyValue: "$50.00",
11833
- statuses: ["AVAILABLE"],
11834
+ statuses: [],
11834
11835
  globalRewardKey: "Key",
11835
11836
  rewardRedemptionTransactions: null,
11836
11837
  partnerFundsTransfer: null,
11838
+ rewardedCash: true,
11837
11839
  };
11838
- const taxConnection = {
11840
+ // ============================================================
11841
+ // Reusable tax connections
11842
+ // ============================================================
11843
+ const fullySetupTaxConnection = {
11839
11844
  connected: true,
11840
11845
  taxHandlingEnabled: true,
11841
11846
  publisher: {
11842
11847
  requiredTaxDocumentType: "W9",
11848
+ currentTaxDocument: {
11849
+ status: "ACTIVE",
11850
+ type: "W9",
11851
+ dateCreated: PAST,
11852
+ },
11843
11853
  withdrawalSettings: { paymentMethod: "BANK_TRANSFER" },
11844
11854
  payoutsAccount: null,
11855
+ },
11856
+ };
11857
+ const connectedNoWithdrawalSettings = {
11858
+ connected: true,
11859
+ taxHandlingEnabled: true,
11860
+ publisher: {
11861
+ requiredTaxDocumentType: "W9",
11845
11862
  currentTaxDocument: {
11846
11863
  status: "ACTIVE",
11847
11864
  type: "W9",
11848
- dateCreated: 1627427794891,
11865
+ dateCreated: PAST,
11849
11866
  },
11867
+ withdrawalSettings: null,
11868
+ payoutsAccount: null,
11850
11869
  },
11851
11870
  };
11852
- const defaultPFT = {
11853
- id: "ID1234",
11854
- status: null,
11855
- dateCreated: null,
11856
- dateScheduled: null,
11857
- dateTransferred: null,
11858
- };
11859
- const defaultTaxDocument = {
11860
- status: "NOT_VERIFIED",
11861
- type: "W9",
11862
- dateCreated: luxon.luxon.DateTime.now().toMillis() - 1000000,
11871
+ const notConnectedTaxConnection = {
11872
+ connected: false,
11873
+ taxHandlingEnabled: true,
11874
+ publisher: null,
11863
11875
  };
11864
11876
  const defaultProps$o = {
11865
11877
  statusText: "{status, select, AVAILABLE {Available} CANCELLED {Cancelled} PENDING {Pending} PENDING_REVIEW {Pending} PAYOUT_APPROVED {Payout Approved} PROCESSING {Payment Processing} PAYOUT_FAILED {Payout Failed} PAYOUT_CANCELLED {Payout Cancelled} PENDING_TAX_REVIEW {Pending} PENDING_NEW_TAX_FORM {Pending} PENDING_TAX_SUBMISSION {Pending} PENDING_PARTNER_CREATION {Pending} DENIED {Denied} EXPIRED {Expired} REDEEMED {Redeemed} other {Not available} }",
11866
- statusLongText: "{status, select, AVAILABLE {Reward expiring on} CANCELLED {Reward cancelled on} PENDING {Available on} PENDING_REVIEW {Pending since} PAYOUT_APPROVED {Processing until {scheduledPayoutDate}. Payout is then scheduled based on your settings.} PAYOUT_FAILED {Payout failed due to a fulfillment issue and is currently being retried.} PAYOUT_CANCELLED {If you think this is a mistake, contact our Support team.} PENDING_TAX_REVIEW {Awaiting tax form review} PENDING_NEW_TAX_FORM {Invalid tax form. Submit a new form to receive your rewards.} PROCESSING {Processing until {scheduledPayoutDate}. Payout is then scheduled based on your settings.} PENDING_TAX_SUBMISSION {Submit your tax documents to receive your rewards} PENDING_PARTNER_CREATION {Complete your tax and cash payout setup to receive your rewards} DENIED {Denied on} EXPIRED {Reward expired on} other {Not available} }",
11878
+ statusLongText: "{status, select, AVAILABLE {Reward expiring on} CANCELLED {Reward cancelled on} PENDING {Available on} PENDING_REVIEW {Pending since} PAYOUT_APPROVED {Processing until {scheduledPayoutDate}. Payout is then scheduled based on your settings.} PAYOUT_FAILED {Payout failed due to a fulfillment issue and is currently being retried.} PAYOUT_CANCELLED {If you think this is a mistake, contact our Support team.} PENDING_TAX_REVIEW {Awaiting tax form review} PENDING_NEW_TAX_FORM {Invalid tax form. Submit a new form to receive your rewards.} PROCESSING {Processing until {scheduledPayoutDate}. Payout is then scheduled based on your settings.} PENDING_TAX_SUBMISSION {Submit your tax documents to receive your rewards} PENDING_PARTNER_CREATION {Complete cash payout setup to receive your rewards} DENIED {Denied on} EXPIRED {Reward expired on} other {Not available} }",
11867
11879
  rewardReceivedText: "Reward received on",
11868
11880
  hideDetails: false,
11869
11881
  };
11870
- const CashReward = () => {
11871
- return (index.h("sqm-referral-table-rewards-cell", Object.assign({ rewards: [{ ...cashReward }], taxConnection: taxConnection }, defaultProps$o)));
11872
- };
11873
- const PayoutApproved = () => {
11874
- return (index.h("sqm-referral-table-rewards-cell", Object.assign({ rewards: [
11875
- {
11876
- ...cashReward,
11877
- partnerFundsTransfer: {
11878
- ...defaultPFT,
11879
- status: "TRANSFERRED",
11880
- dateScheduled: Date.now() - 600000000,
11881
- },
11882
- },
11883
- ], taxConnection: taxConnection }, defaultProps$o)));
11884
- };
11885
- const PayoutProcessing = () => {
11886
- return (index.h("sqm-referral-table-rewards-cell", Object.assign({ rewards: [
11887
- {
11888
- ...cashReward,
11889
- partnerFundsTransfer: {
11890
- ...defaultPFT,
11891
- dateCreated: 1355612521321,
11892
- dateScheduled: getDays$1(),
11893
- },
11894
- },
11895
- ], taxConnection: taxConnection }, defaultProps$o)));
11896
- };
11897
- const PayoutFailed$1 = () => {
11898
- return (index.h("sqm-referral-table-rewards-cell", Object.assign({ rewards: [
11899
- {
11900
- ...cashReward,
11901
- partnerFundsTransfer: {
11902
- ...defaultPFT,
11903
- status: "OVERDUE",
11904
- dateScheduled: Date.now() - 100000,
11905
- },
11906
- },
11907
- ], taxConnection: taxConnection }, defaultProps$o)));
11908
- };
11909
- const PayoutCancelled$1 = () => {
11910
- return (index.h("sqm-referral-table-rewards-cell", Object.assign({ rewards: [
11911
- {
11912
- ...cashReward,
11913
- partnerFundsTransfer: {
11914
- ...defaultPFT,
11915
- status: "REVERSED",
11916
- dateScheduled: Date.now() - 100000,
11917
- },
11918
- },
11919
- ], taxConnection: taxConnection }, defaultProps$o)));
11920
- };
11921
- const PendingTaxReview$1 = () => {
11922
- return (index.h("sqm-referral-table-rewards-cell", Object.assign({ rewards: [
11923
- {
11924
- ...cashReward,
11925
- statuses: ["PENDING"],
11926
- pendingReasons: ["US_TAX"],
11927
- },
11928
- ], taxConnection: {
11929
- ...taxConnection,
11930
- publisher: {
11931
- ...taxConnection.publisher,
11932
- currentTaxDocument: {
11933
- ...defaultTaxDocument,
11934
- status: "NOT_VERIFIED",
11935
- },
11882
+ // ============================================================
11883
+ // STATE PRECEDENCE LADDER one story per rule
11884
+ // (See referral-table-rewards-column-new.feature § 2)
11885
+ // ============================================================
11886
+ // 1. Fraud check denied the referral state is DENIED
11887
+ const RewardsCellFraudDenied = () => (index.h("sqm-referral-table-rewards-cell", Object.assign({ rewards: [
11888
+ {
11889
+ ...cashReward,
11890
+ referral: { fraudData: { moderationStatus: "DENIED" } },
11891
+ },
11892
+ ], taxConnection: fullySetupTaxConnection }, defaultProps$o)));
11893
+ // 2. Fraud check is still pending review → state is PENDING_REVIEW
11894
+ const RewardsCellFraudPendingReview = () => (index.h("sqm-referral-table-rewards-cell", Object.assign({ rewards: [
11895
+ {
11896
+ ...cashReward,
11897
+ referral: { fraudData: { moderationStatus: "PENDING" } },
11898
+ },
11899
+ ], taxConnection: fullySetupTaxConnection }, defaultProps$o)));
11900
+ // 3a. Cash reward but the user has not connected an Impact partner → shows the partner-setup prompt
11901
+ const RewardsCellPartnerNotCreatedSetupNotStarted = () => (index.h("sqm-referral-table-rewards-cell", Object.assign({ rewards: [{ ...cashReward, statuses: ["AVAILABLE"] }], taxConnection: notConnectedTaxConnection }, defaultProps$o)));
11902
+ // 3b. Cash reward, partner is connected but withdrawal settings are missing → shows the partner-setup prompt
11903
+ const RewardsCellPartnerCreatedSetupStartedButIncomplete = () => (index.h("sqm-referral-table-rewards-cell", Object.assign({ rewards: [
11904
+ {
11905
+ ...cashReward,
11906
+ partnerFundsTransfer: {
11907
+ id: "pft-not-yet-due",
11908
+ status: "NOT_YET_DUE",
11909
+ dateCreated: PAST,
11910
+ dateScheduled: FUTURE,
11911
+ dateTransferred: null,
11936
11912
  },
11937
- } }, defaultProps$o)));
11938
- };
11939
- const PendingNewTaxForm$1 = () => {
11940
- return (index.h("sqm-referral-table-rewards-cell", Object.assign({ rewards: [
11941
- {
11942
- ...cashReward,
11943
- statuses: ["PENDING"],
11944
- pendingReasons: ["US_TAX"],
11913
+ },
11914
+ ], taxConnection: connectedNoWithdrawalSettings }, defaultProps$o)));
11915
+ // 4. Partner funds transfer was reversed → state is PAYOUT_CANCELLED
11916
+ const RewardsCellPayoutCancelled = () => (index.h("sqm-referral-table-rewards-cell", Object.assign({ rewards: [
11917
+ {
11918
+ ...cashReward,
11919
+ partnerFundsTransfer: {
11920
+ id: "pft-reversed",
11921
+ status: "REVERSED",
11922
+ dateCreated: PAST,
11923
+ dateScheduled: PAST,
11924
+ dateTransferred: null,
11945
11925
  },
11946
- ], taxConnection: {
11947
- ...taxConnection,
11948
- publisher: {
11949
- ...taxConnection.publisher,
11950
- currentTaxDocument: {
11951
- ...defaultTaxDocument,
11952
- status: "INACTIVE",
11953
- },
11926
+ },
11927
+ ], taxConnection: fullySetupTaxConnection }, defaultProps$o)));
11928
+ // 5. Partner funds transfer is overdue → state is PAYOUT_FAILED
11929
+ const RewardsCellPayoutFailed = () => (index.h("sqm-referral-table-rewards-cell", Object.assign({ rewards: [
11930
+ {
11931
+ ...cashReward,
11932
+ partnerFundsTransfer: {
11933
+ id: "pft-overdue",
11934
+ status: "OVERDUE",
11935
+ dateCreated: PAST,
11936
+ dateScheduled: PAST,
11937
+ dateTransferred: null,
11954
11938
  },
11955
- } }, defaultProps$o)));
11956
- };
11957
- const PendingTaxSubmission$1 = () => {
11958
- return (index.h("sqm-referral-table-rewards-cell", Object.assign({ rewards: [
11959
- {
11960
- ...cashReward,
11961
- statuses: ["PENDING"],
11962
- pendingReasons: ["US_TAX"],
11939
+ },
11940
+ ], taxConnection: fullySetupTaxConnection }, defaultProps$o)));
11941
+ // 6. Partner funds transfer is scheduled for a future date → state is PROCESSING
11942
+ const RewardsCellPayoutProcessing = () => (index.h("sqm-referral-table-rewards-cell", Object.assign({ rewards: [
11943
+ {
11944
+ ...cashReward,
11945
+ partnerFundsTransfer: {
11946
+ id: "pft-processing",
11947
+ status: null,
11948
+ dateCreated: PAST,
11949
+ dateScheduled: FUTURE,
11950
+ dateTransferred: null,
11963
11951
  },
11964
- ], taxConnection: {
11965
- ...taxConnection,
11966
- publisher: {
11967
- ...taxConnection.publisher,
11968
- currentTaxDocument: null,
11952
+ },
11953
+ ], taxConnection: fullySetupTaxConnection }, defaultProps$o)));
11954
+ // 7. Partner funds transfer has been transferred → state is PAYOUT_APPROVED
11955
+ const RewardsCellPayoutApproved = () => (index.h("sqm-referral-table-rewards-cell", Object.assign({ rewards: [
11956
+ {
11957
+ ...cashReward,
11958
+ partnerFundsTransfer: {
11959
+ id: "pft-transferred",
11960
+ status: "TRANSFERRED",
11961
+ dateCreated: PAST,
11962
+ dateScheduled: PAST,
11963
+ dateTransferred: PAST,
11969
11964
  },
11970
- } }, defaultProps$o)));
11971
- };
11972
- const PendingPartnerCreation$1 = () => {
11973
- return (index.h("sqm-referral-table-rewards-cell", Object.assign({ rewards: [
11974
- {
11975
- ...cashReward,
11976
- statuses: ["PENDING"],
11977
- pendingReasons: ["MISSING_PAYOUT_CONFIGURATION"],
11965
+ },
11966
+ ], taxConnection: fullySetupTaxConnection }, defaultProps$o)));
11967
+ // 8. Reward is pending US_TAX but tax handling is disabled → state is PENDING (W-9 required)
11968
+ const RewardsCellPendingW9Required = () => (index.h("sqm-referral-table-rewards-cell", Object.assign({ rewards: [
11969
+ {
11970
+ ...cashReward,
11971
+ statuses: ["PENDING"],
11972
+ pendingReasons: ["US_TAX"],
11973
+ },
11974
+ ], taxConnection: { ...fullySetupTaxConnection, taxHandlingEnabled: false } }, defaultProps$o)));
11975
+ // 9. Reward is pending US_TAX and the partner is not connected → shows the partner-setup prompt
11976
+ const RewardsCellUsTaxPartnerNotConnected = () => (index.h("sqm-referral-table-rewards-cell", Object.assign({ rewards: [
11977
+ {
11978
+ ...cashReward,
11979
+ statuses: ["PENDING"],
11980
+ pendingReasons: ["US_TAX"],
11981
+ },
11982
+ ], taxConnection: notConnectedTaxConnection }, defaultProps$o)));
11983
+ // 10. Partner is connected but has not submitted any tax documents → shows the submit-tax-docs prompt
11984
+ const RewardsCellPendingTaxSubmission = () => (index.h("sqm-referral-table-rewards-cell", Object.assign({ rewards: [
11985
+ {
11986
+ ...cashReward,
11987
+ statuses: ["PENDING"],
11988
+ pendingReasons: ["US_TAX"],
11989
+ },
11990
+ ], taxConnection: {
11991
+ ...fullySetupTaxConnection,
11992
+ publisher: {
11993
+ ...fullySetupTaxConnection.publisher,
11994
+ currentTaxDocument: null,
11995
+ },
11996
+ } }, defaultProps$o)));
11997
+ // 11. Partner's tax document is inactive (rejected) → shows the submit-a-new-form prompt
11998
+ const RewardsCellPendingNewTaxForm = () => (index.h("sqm-referral-table-rewards-cell", Object.assign({ rewards: [
11999
+ {
12000
+ ...cashReward,
12001
+ statuses: ["PENDING"],
12002
+ pendingReasons: ["US_TAX"],
12003
+ },
12004
+ ], taxConnection: {
12005
+ ...fullySetupTaxConnection,
12006
+ publisher: {
12007
+ ...fullySetupTaxConnection.publisher,
12008
+ currentTaxDocument: {
12009
+ status: "INACTIVE",
12010
+ type: "W9",
12011
+ dateCreated: PAST,
11978
12012
  },
11979
- ], taxConnection: {
11980
- ...taxConnection,
11981
- connected: false,
11982
- } }, defaultProps$o)));
11983
- };
11984
- const PendingW9 = () => {
11985
- return (index.h("sqm-referral-table-rewards-cell", Object.assign({ rewards: [
11986
- {
11987
- ...cashReward,
11988
- statuses: ["PENDING"],
11989
- pendingReasons: ["US_TAX"],
12013
+ },
12014
+ } }, defaultProps$o)));
12015
+ // 12. Partner's tax document is awaiting verification → shows the awaiting-review prompt
12016
+ const RewardsCellPendingTaxReview = () => (index.h("sqm-referral-table-rewards-cell", Object.assign({ rewards: [
12017
+ {
12018
+ ...cashReward,
12019
+ statuses: ["PENDING"],
12020
+ pendingReasons: ["US_TAX"],
12021
+ },
12022
+ ], taxConnection: {
12023
+ ...fullySetupTaxConnection,
12024
+ publisher: {
12025
+ ...fullySetupTaxConnection.publisher,
12026
+ currentTaxDocument: {
12027
+ status: "NOT_VERIFIED",
12028
+ type: "W9",
12029
+ dateCreated: PAST,
11990
12030
  },
11991
- ], taxConnection: {
11992
- ...taxConnection,
11993
- taxHandlingEnabled: false,
11994
- } }, defaultProps$o)));
11995
- };
12031
+ },
12032
+ } }, defaultProps$o)));
12033
+ // 13. Partner has an active tax form but has not configured withdrawal settings → shows the partner-setup prompt
12034
+ const RewardsCellExistingTaxFormNoWithdrawalSettings = () => (index.h("sqm-referral-table-rewards-cell", Object.assign({ rewards: [
12035
+ {
12036
+ ...cashReward,
12037
+ statuses: ["PENDING"],
12038
+ pendingReasons: ["US_TAX"],
12039
+ },
12040
+ ], taxConnection: connectedNoWithdrawalSettings }, defaultProps$o)));
12041
+ // 14. Reward has MISSING_PAYOUT_CONFIGURATION pending reason → shows the partner-setup prompt
12042
+ const RewardsCellMissingPayoutConfiguration = () => (index.h("sqm-referral-table-rewards-cell", Object.assign({ rewards: [
12043
+ {
12044
+ ...cashReward,
12045
+ statuses: ["PENDING"],
12046
+ pendingReasons: ["MISSING_PAYOUT_CONFIGURATION"],
12047
+ },
12048
+ ], taxConnection: connectedNoWithdrawalSettings }, defaultProps$o)));
12049
+ // 18. Reward does not match any precedence rule → state is undefined (Not available)
12050
+ const RewardsCellNoMatchingRule = () => (index.h("sqm-referral-table-rewards-cell", Object.assign({ rewards: [{ ...cashReward, statuses: [] }], taxConnection: fullySetupTaxConnection }, defaultProps$o)));
12051
+ // ============================================================
12052
+ // Aliases kept for backwards compatibility with existing references
12053
+ // ============================================================
12054
+ const CashReward = RewardsCellPayoutApproved;
12055
+ const PayoutApproved = RewardsCellPayoutApproved;
12056
+ const PayoutProcessing = RewardsCellPayoutProcessing;
12057
+ const PayoutFailed$1 = RewardsCellPayoutFailed;
12058
+ const PayoutCancelled$1 = RewardsCellPayoutCancelled;
12059
+ const PendingTaxReview$1 = RewardsCellPendingTaxReview;
12060
+ const PendingNewTaxForm$1 = RewardsCellPendingNewTaxForm;
12061
+ const PendingTaxSubmission$1 = RewardsCellPendingTaxSubmission;
12062
+ const PartnerNotCreatedSetupNotStarted = RewardsCellPartnerNotCreatedSetupNotStarted;
12063
+ const PartnerCreatedSetupStartedButIncomplete = RewardsCellPartnerCreatedSetupStartedButIncomplete;
12064
+ const PendingW9 = RewardsCellPendingW9Required;
11996
12065
 
11997
12066
  const TaxAndCashReferralTableRewardsCell = /*#__PURE__*/Object.freeze({
11998
12067
  __proto__: null,
11999
12068
  'default': TaxAndCashReferralTableRewardsCell_stories,
12069
+ RewardsCellFraudDenied: RewardsCellFraudDenied,
12070
+ RewardsCellFraudPendingReview: RewardsCellFraudPendingReview,
12071
+ RewardsCellPartnerNotCreatedSetupNotStarted: RewardsCellPartnerNotCreatedSetupNotStarted,
12072
+ RewardsCellPartnerCreatedSetupStartedButIncomplete: RewardsCellPartnerCreatedSetupStartedButIncomplete,
12073
+ RewardsCellPayoutCancelled: RewardsCellPayoutCancelled,
12074
+ RewardsCellPayoutFailed: RewardsCellPayoutFailed,
12075
+ RewardsCellPayoutProcessing: RewardsCellPayoutProcessing,
12076
+ RewardsCellPayoutApproved: RewardsCellPayoutApproved,
12077
+ RewardsCellPendingW9Required: RewardsCellPendingW9Required,
12078
+ RewardsCellUsTaxPartnerNotConnected: RewardsCellUsTaxPartnerNotConnected,
12079
+ RewardsCellPendingTaxSubmission: RewardsCellPendingTaxSubmission,
12080
+ RewardsCellPendingNewTaxForm: RewardsCellPendingNewTaxForm,
12081
+ RewardsCellPendingTaxReview: RewardsCellPendingTaxReview,
12082
+ RewardsCellExistingTaxFormNoWithdrawalSettings: RewardsCellExistingTaxFormNoWithdrawalSettings,
12083
+ RewardsCellMissingPayoutConfiguration: RewardsCellMissingPayoutConfiguration,
12084
+ RewardsCellNoMatchingRule: RewardsCellNoMatchingRule,
12000
12085
  CashReward: CashReward,
12001
12086
  PayoutApproved: PayoutApproved,
12002
12087
  PayoutProcessing: PayoutProcessing,
@@ -12005,7 +12090,8 @@ const TaxAndCashReferralTableRewardsCell = /*#__PURE__*/Object.freeze({
12005
12090
  PendingTaxReview: PendingTaxReview$1,
12006
12091
  PendingNewTaxForm: PendingNewTaxForm$1,
12007
12092
  PendingTaxSubmission: PendingTaxSubmission$1,
12008
- PendingPartnerCreation: PendingPartnerCreation$1,
12093
+ PartnerNotCreatedSetupNotStarted: PartnerNotCreatedSetupNotStarted,
12094
+ PartnerCreatedSetupStartedButIncomplete: PartnerCreatedSetupStartedButIncomplete,
12009
12095
  PendingW9: PendingW9
12010
12096
  });
12011
12097
 
@@ -12082,7 +12168,7 @@ const taxAndCashTableProps = {
12082
12168
  index.h("sqm-referral-table-user-cell", { name: "Partner Creation User" }),
12083
12169
  index.h(Converted, null),
12084
12170
  index.h(DateCell$1, null),
12085
- index.h(PendingPartnerCreation$1, null),
12171
+ index.h(PartnerNotCreatedSetupNotStarted, null),
12086
12172
  ],
12087
12173
  [
12088
12174
  index.h("sqm-referral-table-user-cell", { name: "Missing W9 User" }),
@@ -12426,7 +12512,7 @@ const scenario2 = "@author:derek\n@owner:derek\nFeature: Reward Table reward Col
12426
12512
 
12427
12513
  const scenario4 = "@author:derek @owner:derek\nFeature: Reward Table Source Column\n Shows the source of each reward\n\n @motivating @ui\n Scenario Outline: The title of the source column is configurable\n Given the \"column-title\" prop is set to <value>\n Then the source column is shown with <columnTitle>\n\n Examples:\n | value | columnTitle |\n | Source | |\n | My column title | My column title |\n\n @motivating @ui\n Scenario: The source column displays manual if the reward is caused by a manual action\n Given a user with a \"MANUAL\" reward\n When they view the rewards table\n Then the source of their reward is displayed as \"Manual\"\n\n @motivating @ui\n Scenario: The source column displays the program name if the reward is caused automatically by a program\n Given a user with a \"AUTOMATED\" program reward\n And the program has name \"Loyalty Program\"\n When they view the rewards table\n Then the source of their reward is displayed as \"Loyalty Program\"\n\n @motivating @ui\n Scenario Outline: The source column displays customizable reward exchange text with amount if the reward is caused by reward exchange\n Given the \"reward-exchange-text\" prop is <propValue>\n And a user with a \"MANUAL\" reward\n But it was created by a reward exchange\n Then they view the rewards table\n Then the source displays <exchangeText>\n And under it displays the following\n | prettyRedeemedCredit → prettyValue |\n\n Examples:\n | propValue | exchangeText |\n | | Reward Exchange |\n | Exchanged | Exchanged |\n\n @motivating @ui\n Scenario Outline: The source column displays customizable referral information if the reward is from a referral\n Given the \"reward-source-text\" prop is <propValue>\n And a user with a referral reward\n And that reward has <rewardSource>\n When they view the rewards table\n Then then source displays <referralText>\n And under it displays the full name of the <referralUser>\n\n Examples:\n | propValue | rewardSource | referralText | referralUser |\n | | REFERRED | Referred by | referrer user |\n | | FRIEND_SIGNUP | Referral to | referred user |\n | {rewardSource, select, FRIEND_SIGNUP {You Referred} REFERRED {Referred you} other {}} | REFERRED | Referred you | referrer user |\n | {rewardSource, select, FRIEND_SIGNUP {You Referred} REFERRED {Referred you} other {}} | FRIEND_SIGNUP | You Referred | referred user |\n\n @motivating @ui\n Scenario Outline: The source column displays the existing name for a referral if either the first name or last name does not exist\n Given a user with a referral reward\n And referral user exists\n And referral user has <name>\n But referral user has no <otherName>\n When they view the rewards table\n Then referral user's name is displayed as <name>\n\n Examples:\n | name | otherName |\n | first.name | last.name |\n | last.name | first.name |\n\n @motivating @ui\n Scenario Outline: The source column displays referral as \"Your Friend\" if the referral user has no names\n Given a user with a referral reward\n And that reward has <rewardSource>\n And the <referralUser> has no first name\n And the <referralUser> has no last name\n When they view the rewards table\n Then then source displays <sourceText>\n And under it displays \"Your Friend\"\n\n Examples:\n | rewardSource | referralUser | sourceText |\n | FRIEND_SIGNUP | referrer | Referral to |\n | REFERRED | referred user | Referred by |\n\n @motivating @ui\n Scenario Outline: The source column displays referral as \"Deleted User\" if the referral user is deleted in the system\n Given a user with a referral reward\n And that reward has <rewardSource>\n But <referral> user was deleted\n When they view the rewards table\n Then the source displays <sourceText>\n And under it displays \"Deleted User\"\n\n Examples:\n | rewardSource | referral | sourceText |\n | \"FRIEND_SIGNUP\" | referrer | Referral to |\n | \"REFERRED\" | referred | Referred by |\n\n @motivating @ui\n Scenario Outline: The source column displays referral as \"Deleted referral\" if the referral user is deleted in the system\n Given a user with a referral reward\n And that reward has <rewardSource>\n But <referral> user was deleted\n When they view the rewards table\n Then the source displays <sourceText>\n And under it displays \"Deleted referral\"\n\n Examples:\n | rewardSource | referral | sourceText |\n | \"FRIEND_SIGNUP\" | referrer | Referral to |\n | \"REFERRED\" | referred | Referred by |\n\n @minutia @ui\n Scenario Outline: Name fallbacks for referral users without names are customizable\n Given <prop> with <value>\n And a user with a referral reward\n But the referral user <hadAction>\n When they view the rewards table\n Then the source displays <value> as the referral user\n\n Examples:\n | prop | value | hadAction |\n | deleted-user | Former Customer | was deleted |\n | anonymous-user | Nameless User | had first and last name deleted |\n\n @motivating\n Scenario Outline: Source text can be customized\n Given the \"reward-source-text\" prop is \"{rewardSource, select, MANUAL {Support} AUTOMATED {Loyalty Program} other {}}\"\n And a user with a <rewardSource> reward\n When they view the rewards table\n Then the source is <sourceText>\n\n Examples:\n | rewardSource | sourceText |\n | MANUAL | Support |\n | AUTOMATED | Loyalty Program |\n";
12428
12514
 
12429
- const scenario3 = "@author:derek @owner:derek\nFeature: Reward Table Status Column\n Shows the status of each reward\n\n Background:\n Given the status column is included in the reward table\n\n @motivating @ui\n Scenario Outline: The title of the status column is configurable\n Given the \"column-title\" prop is set to <value>\n Then the status column is shown with <columnTitle>\n\n Examples:\n | value | columnTitle |\n | Status | |\n | My column title | My column title |\n\n @motivating @ui\n Scenario Outline: The status column displays the status of each reward\n Given a user\n And they have a <status> reward\n When they view the reward table\n Then the status of their reward is displayed in <pillColour> pill with <text>\n\n Examples:\n | status | text | pillColour |\n | AVAILABLE | Available | success |\n | CANCELLED | Cancelled | danger |\n | PENDING | Pending | warning |\n | EXPIRED | Expired | danger |\n | REDEEMED | Redeemed | primary |\n | PENDING_REVIEW | Pending | warning |\n | PAYOUT_TRANSFERRED | Payout Approved | primary |\n | PAYOUT_NOT_YET_DUE | Payout Approved | primary |\n | PAYOUT_OVERDUE | Payout Failed | danger |\n | PAYOUT_REVERSED | Payout Cancelled | danger |\n | PROCESSING | Processing | warning |\n | PENDING_TAX_REVIEW | Pending | warning |\n | PENDING_NEW_TAX_FORM | Pending | warning |\n | PENDING_TAX_SUBMISSION | Pending | warning |\n | PENDING_PARTNER_CREATION | Pending | warning |\n | DENIED | Denied | danger |\n\n @motivating\n Scenario Outline: Reward status related information is displayed under status pills\n Given a user\n And they have a <reward>\n And their program is\n When they view the reward table\n Then they see their reward\n And under the pill is <text>\n And the date is localized to the users locale\n\n Examples: Standard Rewards\n | reward | text |\n | available reward with an expiry date | Expires <localized date> |\n | redeemed reward | <localized date> |\n | expired reward | <localized date> |\n | cancelled reward | <localized date> |\n | pending reward with a scheduled date | Until <localized date> |\n \n Examples: Tax & Payout Rewards\n | reward | text |\n | pending reward due to W9 | W-9 required |\n | pending reward due to fulfillment error | Fulfillment error |\n | reward pending review of referral | Awaiting review |\n | pending reward due to no connected Impact partner | Complete your tax and cash payout setup to receive your rewards. |\n | pending reward due to an invalid tax document | Invalid tax form. Submit a new form to receive your rewards. |\n | pending reward due to user required to submit a tax document | Submit your tax documents to receive your rewards. |\n | pending reward due to tax document being in review | Awaiting tax form review. |\n | reward whose payout is processing | Processing until <localized date>. Payout is then scheduled based on your settings. |\n | reward whose payout failed | Payout failed due to a fulfillment issue and is currently being retried. |\n | reward whose payout was approved | Payout approved and scheduled for payment based on your settings. |\n | reward whose payout was cancelled | If you think this is a mistake, contact our Support team. |\n | cancelled reward from denied referral | Detected self-referral |\n\n @minutia\n Scenario Outline: Tax-related reward statuses are based on the user's Impact tax connection\n Given a user\n And they are in a program that has Impact tax handling enabled\n And they have at least one pending reward\n And the reward's pending reasons include \"MISSING_PAYOUT_CONFIGURATION\"\n Then the status description will be\n \"\"\"\n Complete your tax and cash payout setup to receive your rewards.\n \"\"\"\n\n @motivating\n Scenario Outline: Statuses can be customized via ICU format\n Given the \"status-text\" prop is \"{status, select, AVAILABLE {Redeem me!} CANCELLED {Unavailable} PENDING {Coming soon!} EXPIRED {Past due} REDEEMED {Spent} PENDING_REVIEW {Pending Review!} PAYOUT_SENT {Payout Sent!} PAYOUT_FAILED {Payout Failed!} PENDING_TAX_REVIEW {Pending Tax Review!} PENDING_NEW_TAX_FORM {Pending new tax form!} PENDING_TAX_SUBMISSION {Pending tax submission!} PENDING_PARTNER_CREATION {Pending partner creation!} DENIED {Unlucky!}}\"\n And a user\n And they have a <status> reward\n When they view the reward table\n Then the status of their reward is displayed in <pillColour> pill with <text>\n\n Examples:\n | status | text | pillColour |\n | AVAILABLE | Redeem me! | success |\n | CANCELLED | Unavailable | danger |\n | PENDING | Coming soon! | warning |\n | EXPIRED | Past due | danger |\n | REDEEMED | Spent | primary |\n | PENDING_REVIEW | Pending Review! | warning |\n | PAYOUT_TRANSFERRED | Payout Approved! | primary |\n | PAYOUT_NOT_YET_DUE | Payout Approved! | primary |\n | PAYOUT_OVERDUE | Payout Failed! | danger |\n | PAYOUT_REVERSED | Payout Cancelled! | danger |\n | DENIED | Unlucky! | danger |\n\n @minutia @ui\n Scenario Outline: Expiry status date text can be configured\n Given the \"expiry-text\" prop has <value>\n And a user with an available reward with an expiry date\n When they view the reward table\n Then they see <text> under the Available Status pill\n\n Examples:\n | value | text |\n | Expires | Expires <localized date> |\n | Redeem before | Redeem before <localized date> |\n\n @motivating\n Scenario: Payout-related reward statuses are determined by the state of the Paid Funds Transfer\n Given a user has a reward with a connected Paid Funds Transfer (PFT)\n When the PFT is in <pftState>\n Then the reward's status is <status>\n And the status is displayed in a <pillColour> pill with <text>\n And under the pill is <description>\n\n Examples:\n | pftState | status | text | pillColour | description |\n | transfer date is in the future | PROCESSING | Processing | warning | Processing until <localized date>. Payout is then scheduled based on your settings. |\n | successfully transferred to payment provider | PAYOUT_TRANSFERRED | Payout Approved | primary | Payout approved and scheduled for payment based on your settings. |\n | approved but payout scheduled date not yet arrived | PAYOUT_NOT_YET_DUE | Payout Approved | primary | Payout approved and scheduled for payment based on your settings. |\n | failed due to fulfillment issue and retrying | PAYOUT_OVERDUE | Payout Failed | danger | Payout failed due to a fulfillment issue and is currently being retried. |\n | reversed or cancelled after being processed | PAYOUT_REVERSED | Payout Cancelled | danger | If you think this is a mistake, contact our Support team. |";
12515
+ const scenario3 = "@author:derek @owner:derek\nFeature: Reward Table Status Column\n Shows the status of each reward\n\n Background:\n Given the status column is included in the reward table\n\n @motivating @ui\n Scenario Outline: The title of the status column is configurable\n Given the \"column-title\" prop is set to <value>\n Then the status column is shown with <columnTitle>\n\n Examples:\n | value | columnTitle |\n | Status | |\n | My column title | My column title |\n\n @motivating @ui\n Scenario Outline: The status column displays the status of each reward\n Given a user\n And they have a <status> reward\n When they view the reward table\n Then the status of their reward is displayed in <pillColour> pill with <text>\n\n Examples:\n | status | text | pillColour |\n | AVAILABLE | Available | success |\n | CANCELLED | Cancelled | danger |\n | PENDING | Pending | warning |\n | EXPIRED | Expired | danger |\n | REDEEMED | Redeemed | primary |\n | PENDING_REVIEW | Pending | warning |\n | PAYOUT_TRANSFERRED | Payout Approved | primary |\n | PAYOUT_NOT_YET_DUE | Payout Approved | primary |\n | PAYOUT_OVERDUE | Payout Failed | danger |\n | PAYOUT_REVERSED | Payout Cancelled | danger |\n | PROCESSING | Processing | warning |\n | PENDING_TAX_REVIEW | Pending | warning |\n | PENDING_NEW_TAX_FORM | Pending | warning |\n | PENDING_TAX_SUBMISSION | Pending | warning |\n | PENDING_PARTNER_CREATION | Pending | warning |\n | DENIED | Denied | danger |\n\n @motivating\n Scenario Outline: Status precedence ladder\n Given a reward, its referral fraud state, the user's Impact tax connection\n Then <rule> is produced\n And the <resultingStatus>, <resultingBadgeText>, and <resultingDescription> is determined in the following <order>:\n\n Examples:\n | order | rule | resultingStatus | resultingBadgeText | resultingDescription |\n | 1 | referral.fraudData.moderationStatus is \"DENIED\" | DENIED | Denied | Detected self-referral |\n | 2 | referral.fraudData.moderationStatus is \"PENDING\" | PENDING_REVIEW | Pending | Awaiting review |\n | 3 | reward.rewardedCash is true AND impactConnection is NOT connected | PENDING | Pending | Complete your cash payout setup to receive your rewards. |\n | 4 | reward.rewardedCash is true AND impactConnection is connected AND publisher.withdrawalSettings is missing | PENDING | Pending | Complete your cash payout setup to receive your rewards. |\n | 5 | partnerFundsTransfer.status is \"REVERSED\" | PAYOUT_CANCELLED | Payout Cancelled | If you think this is a mistake, contact our Support team. |\n | 6 | partnerFundsTransfer.status is \"OVERDUE\" | PAYOUT_FAILED | Payout Failed | Payout failed due to a fulfillment issue and is currently being retried. |\n | 7 | reward.pendingReasons includes \"MISSING_PAYOUT_CONFIGURATION\" AND publisher.withdrawalSettings is missing | PENDING | Pending | Complete your cash payout setup to receive your rewards. |\n | 8 | partnerFundsTransfer.dateScheduled is in the future | PROCESSING | Payment Processing | Processing until Jan 1, 2026. Payout is then scheduled based on your settings. |\n | 9 | partnerFundsTransfer.status is \"TRANSFERRED\" / \"NOT_YET_DUE\", or dateScheduled has passed without REVERSED/OVERDUE | PAYOUT_APPROVED | Payout Approved | Payout approved and scheduled for payment based on your settings. |\n | 10 | reward.dateCancelled is set | CANCELLED | Cancelled | Jan 1, 2026 |\n | 11 | reward.statuses includes \"EXPIRED\" | EXPIRED | Expired | Jan 1, 2026 |\n | 12 | reward.statuses includes \"PENDING\" | PENDING | Pending | Until Jan 1, 2026 |\n | 13 | statuses includes \"REDEEMED\" | REDEEMED | Redeemed | Jan 1, 2026 |\n | 14 | statuses includes \"AVAILABLE\" | AVAILABLE | Available | Expires Jan 1, 2026 |\n | 15 | statuses includes \"CANCELLED\" | CANCELLED | Cancelled | Jan 1, 2026 |\n# This spec should probably be inserted in to the above spec after rule 9 because it gets invoked when the reward state is pending\n# and does not hit the rules that output pending from above\n\n @motivating\n Scenario Outline: PENDING description precedence ladder\n Given a PENDING reward, its pendingReasons, and the user's Impact tax connection\n Then <rule> is produced\n And the <resultingStatus>, <resultingBadgeText>, and <resultingDescription> is determined in the following order:\n\n Examples:\n | order | rule | resultingStatus | resultingBadgeText | resultingDescription |\n | 1 | pendingReasons includes \"US_TAX\" AND impactConnection.taxHandlingEnabled is false | PENDING | Pending | W-9 required |\n | 2 | pendingReasons includes \"US_TAX\" AND impactConnection is NOT connected | PENDING | Pending | Complete your tax and cash payout setup to receive your rewards. |\n | 3 | pendingReasons includes \"US_TAX\" AND publisher.requiredTaxDocumentType is set AND publisher.currentTaxDocument is missing | PENDING | Pending | Submit your tax documents to receive your rewards. |\n | 4 | pendingReasons includes \"US_TAX\" AND publisher.requiredTaxDocumentType is set AND publisher.currentTaxDocument.status is \"INACTIVE\" | PENDING | Pending | Invalid tax form. Submit a new form to receive your rewards. |\n | 5 | pendingReasons includes \"US_TAX\" AND publisher.requiredTaxDocumentType is set AND publisher.currentTaxDocument.status is \"NOT_VERIFIED\" | PENDING | Pending | Awaiting tax form review. |\n | 6 | pendingReasons includes \"US_TAX\" AND publisher.withdrawalSettings is missing | PENDING | Pending | Complete your tax and cash payout setup to receive your rewards. |\n | 7 | pendingReasons includes \"MISSING_PAYOUT_CONFIGURATION\" | PENDING | Pending | Complete your tax and cash payout setup to receive your rewards. |\n | 8 | reward.rewardedCash is true AND impactConnection is NOT connected (fallback when no pendingReason returned) | PENDING | Pending | Complete your tax and cash payout setup to receive your rewards. |\n | 9 | reward.rewardedCash is true AND impactConnection is connected AND publisher.withdrawalSettings is missing (fallback) | PENDING | Pending | Complete your tax and cash payout setup to receive your rewards. |\n\n @motivating\n Scenario Outline: Reward status related information is displayed under status pills\n Given a user\n And they have a <reward>\n And their program is\n When they view the reward table\n Then they see their reward\n And under the pill is <text>\n And the date is localized to the users locale\n\n Examples: Standard Rewards\n | reward | text |\n | available reward with an expiry date | Expires <localized date> |\n | redeemed reward | <localized date> |\n | expired reward | <localized date> |\n | cancelled reward | <localized date> |\n | pending reward with a scheduled date | Until <localized date> |\n\n Examples: Tax & Payout Rewards\n | reward | text |\n | pending reward due to W9 | W-9 required |\n | pending reward due to fulfillment error | Fulfillment error |\n | reward pending review of referral | Awaiting review |\n | pending reward due to no connected Impact partner | Complete your tax and cash payout setup to receive your rewards. |\n | pending reward due to an invalid tax document | Invalid tax form. Submit a new form to receive your rewards. |\n | pending reward due to user required to submit a tax document | Submit your tax documents to receive your rewards. |\n | pending reward due to tax document being in review | Awaiting tax form review. |\n | reward whose payout is processing | Processing until <localized date>. Payout is then scheduled based on your settings. |\n | reward whose payout failed | Payout failed due to a fulfillment issue and is currently being retried. |\n | reward whose payout was approved | Payout approved and scheduled for payment based on your settings. |\n | reward whose payout was cancelled | If you think this is a mistake, contact our Support team. |\n | cancelled reward from denied referral | Detected self-referral |\n\n @minutia\n Scenario Outline: Tax-related reward statuses are based on the user's Impact tax connection\n Given a user\n And they are in a program that has Impact tax handling enabled\n And they have at least one pending reward\n And the reward's pending reasons include \"MISSING_PAYOUT_CONFIGURATION\"\n Then the status description will be\n \"\"\"\n Complete your tax and cash payout setup to receive your rewards.\n \"\"\"\n\n @motivating\n Scenario Outline: Statuses can be customized via ICU format\n Given the \"status-text\" prop is \"{status, select, AVAILABLE {Redeem me!} CANCELLED {Unavailable} PENDING {Coming soon!} EXPIRED {Past due} REDEEMED {Spent} PENDING_REVIEW {Pending Review!} PAYOUT_SENT {Payout Sent!} PAYOUT_FAILED {Payout Failed!} PENDING_TAX_REVIEW {Pending Tax Review!} PENDING_NEW_TAX_FORM {Pending new tax form!} PENDING_TAX_SUBMISSION {Pending tax submission!} PENDING_PARTNER_CREATION {Pending partner creation!} DENIED {Unlucky!}}\"\n And a user\n And they have a <status> reward\n When they view the reward table\n Then the status of their reward is displayed in <pillColour> pill with <text>\n\n Examples:\n | status | text | pillColour |\n | AVAILABLE | Redeem me! | success |\n | CANCELLED | Unavailable | danger |\n | PENDING | Coming soon! | warning |\n | EXPIRED | Past due | danger |\n | REDEEMED | Spent | primary |\n | PENDING_REVIEW | Pending Review! | warning |\n | PAYOUT_TRANSFERRED | Payout Approved! | primary |\n | PAYOUT_NOT_YET_DUE | Payout Approved! | primary |\n | PAYOUT_OVERDUE | Payout Failed! | danger |\n | PAYOUT_REVERSED | Payout Cancelled! | danger |\n | DENIED | Unlucky! | danger |\n\n @minutia @ui\n Scenario Outline: Expiry status date text can be configured\n Given the \"expiry-text\" prop has <value>\n And a user with an available reward with an expiry date\n When they view the reward table\n Then they see <text> under the Available Status pill\n\n Examples:\n | value | text |\n | Expires | Expires <localized date> |\n | Redeem before | Redeem before <localized date> |\n\n @motivating\n Scenario: Payout-related reward statuses are determined by the state of the Paid Funds Transfer\n Given a user has a reward with a connected Paid Funds Transfer (PFT)\n When the PFT is in <pftState>\n Then the reward's status is <status>\n And the status is displayed in a <pillColour> pill with <text>\n And under the pill is <description>\n\n Examples:\n | pftState | status | text | pillColour | description |\n | transfer date is in the future | PROCESSING | Processing | warning | Processing until <localized date>. Payout is then scheduled based on your settings. |\n | successfully transferred to payment provider | PAYOUT_TRANSFERRED | Payout Approved | primary | Payout approved and scheduled for payment based on your settings. |\n | approved but payout scheduled date not yet arrived | PAYOUT_NOT_YET_DUE | Payout Approved | primary | Payout approved and scheduled for payment based on your settings. |\n | failed due to fulfillment issue and retrying | PAYOUT_OVERDUE | Payout Failed | danger | Payout failed due to a fulfillment issue and is currently being retried. |\n | reversed or cancelled after being processed | PAYOUT_REVERSED | Payout Cancelled | danger | If you think this is a mistake, contact our Support team. |\n";
12430
12516
 
12431
12517
  const scenario$x = scenario1 + scenario2 + scenario3 + scenario4;
12432
12518
  const RewardsTableCell_stories = {
@@ -12954,6 +13040,9 @@ const RewardsTable$1 = /*#__PURE__*/Object.freeze({
12954
13040
  const TaxAndCashRewardsTableCell_stories = {
12955
13041
  title: "Components/Tax And Cash Rewards Table Cell",
12956
13042
  };
13043
+ // Reusable timestamps (current date is May 2026)
13044
+ const PAST$1 = 1640995200000; // Jan 1, 2022
13045
+ const FUTURE$1 = 2779257600000; // ~2058
12957
13046
  const cashReward$1 = {
12958
13047
  id: "68c34fd98a6cb4f5f8394084",
12959
13048
  type: "CREDIT",
@@ -12973,13 +13062,13 @@ const cashReward$1 = {
12973
13062
  name: "Cash",
12974
13063
  },
12975
13064
  name: null,
12976
- dateCreated: 1757630425085,
12977
- dateScheduledFor: 1757631025115,
12978
- dateGiven: 1757630737115,
13065
+ dateCreated: PAST$1,
13066
+ dateScheduledFor: null,
13067
+ dateGiven: PAST$1,
12979
13068
  dateExpires: null,
12980
13069
  dateCancelled: null,
12981
- dateRedeemed: 1757630737115,
12982
- dateModified: 1757630737115,
13070
+ dateRedeemed: null,
13071
+ dateModified: PAST$1,
12983
13072
  rewardSource: "MANUAL",
12984
13073
  fuelTankCode: null,
12985
13074
  fuelTankType: null,
@@ -13012,161 +13101,266 @@ const cashReward$1 = {
13012
13101
  },
13013
13102
  referral: null,
13014
13103
  description: null,
13015
- statuses: ["REDEEMED"],
13104
+ statuses: [],
13016
13105
  rewardRedemptionTransactions: {
13017
13106
  data: null,
13018
13107
  },
13019
13108
  exchangedRewardRedemptionTransaction: null,
13020
13109
  pendingReasons: [],
13110
+ rewardedCash: true,
13021
13111
  };
13022
- const pending$1 = {
13023
- statuses: ["PENDING"],
13024
- };
13025
- const processingPFT = {
13026
- partnerFundsTransfer: {
13027
- id: "123",
13028
- status: null,
13029
- dateCreated: 1355612521321,
13030
- dateScheduled: 2779257600000,
13031
- dateTransferred: null,
13112
+ // ============================================================
13113
+ // Reusable tax connections
13114
+ // ============================================================
13115
+ const fullySetupTaxConnection$1 = {
13116
+ connected: true,
13117
+ taxHandlingEnabled: true,
13118
+ connectionStatus: "COMPLETED",
13119
+ publisher: {
13120
+ requiredTaxDocumentType: "W9",
13121
+ currentTaxDocument: {
13122
+ status: "ACTIVE",
13123
+ type: "W9",
13124
+ dateCreated: PAST$1,
13125
+ },
13126
+ withdrawalSettings: { paymentMethod: "BANK_TRANSFER" },
13127
+ payoutsAccount: null,
13032
13128
  },
13033
13129
  };
13034
- const taxConnection$1 = {
13130
+ const connectedNoWithdrawalSettings$1 = {
13035
13131
  connected: true,
13036
13132
  taxHandlingEnabled: true,
13133
+ connectionStatus: "COMPLETED",
13037
13134
  publisher: {
13038
- requiredTaxDocumentType: "W8BEN",
13135
+ requiredTaxDocumentType: "W9",
13039
13136
  currentTaxDocument: {
13040
- status: "NOT_VERIFIED",
13041
- type: "W8BEN",
13042
- dateCreated: 321321487,
13043
- },
13044
- withdrawalSettings: {
13045
- paymentMethod: "BANK_TRANSFER",
13137
+ status: "ACTIVE",
13138
+ type: "W9",
13139
+ dateCreated: PAST$1,
13046
13140
  },
13141
+ withdrawalSettings: null,
13047
13142
  payoutsAccount: null,
13048
13143
  },
13049
13144
  };
13050
- const CashReward$1 = () => {
13051
- return (index.h("sqm-rewards-table-reward-cell", { reward: { ...cashReward$1 }, availableText: "{availableAmount} remaining" }));
13052
- };
13053
- const StatusCellPendingTaxReview = () => {
13054
- return (index.h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: { ...cashReward$1, ...pending$1, pendingReasons: ["US_TAX"] }, taxConnection: {
13055
- ...taxConnection$1,
13056
- publisher: {
13057
- requiredTaxDocumentType: "W8BEN",
13058
- currentTaxDocument: {
13059
- status: "",
13060
- },
13061
- ...taxConnection$1.publisher,
13062
- },
13063
- } }));
13064
- };
13065
- const StatusCellPendingNewTaxForm = () => {
13066
- return (index.h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: {
13067
- ...cashReward$1,
13068
- statuses: ["PENDING"],
13069
- pendingReasons: ["US_TAX"],
13070
- }, taxConnection: {
13071
- connected: true,
13072
- taxHandlingEnabled: true,
13073
- publisher: {
13074
- requiredTaxDocumentType: "W8BEN",
13075
- withdrawalSettings: {
13076
- paymentMethod: "BANK_TRANSFER",
13077
- },
13078
- payoutsAccount: null,
13079
- currentTaxDocument: {
13080
- status: "INACTIVE",
13081
- type: "W8BEN",
13082
- dateCreated: 321321487,
13083
- },
13084
- },
13085
- } }));
13086
- };
13087
- const StatusCellPendingTaxSubmission = () => {
13088
- return (index.h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: { ...cashReward$1, ...pending$1, pendingReasons: ["US_TAX"] }, taxConnection: {
13089
- ...taxConnection$1,
13090
- publisher: {
13091
- ...taxConnection$1.publisher,
13092
- requiredTaxDocumentType: "W8BEN",
13093
- currentTaxDocument: null,
13094
- },
13095
- } }));
13096
- };
13097
- const StatusCellPendingPartnerCreation = () => {
13098
- return (index.h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: {
13099
- ...cashReward$1,
13100
- ...pending$1,
13101
- pendingReasons: ["US_TAX"],
13102
- }, taxConnection: {
13103
- ...taxConnection$1,
13104
- connected: false,
13105
- } }));
13106
- };
13107
- const StatusCellPendingW9 = () => {
13108
- return (index.h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: {
13109
- ...cashReward$1,
13110
- ...pending$1,
13111
- pendingReasons: ["US_TAX"],
13112
- }, taxConnection: {
13113
- ...taxConnection$1,
13114
- taxHandlingEnabled: false,
13115
- } }));
13116
- };
13117
- const StatusCellPayoutSent = () => {
13118
- return (index.h("sqm-rewards-table-status-cell", { statusText: "Payout Sent", reward: {
13119
- ...cashReward$1,
13120
- partnerFundsTransfer: {
13121
- id: "transfer-123",
13122
- status: "TRANSFERRED",
13123
- dateScheduled: 1640995200000,
13124
- dateTransferred: 1640995200000,
13125
- dateCreated: 1640995200000,
13126
- },
13127
- }, taxConnection: taxConnection$1 }));
13128
- };
13129
- const StatusCellPayoutFailed = () => {
13130
- return (index.h("sqm-rewards-table-status-cell", { statusText: "Payout Failed", reward: {
13131
- ...cashReward$1,
13132
- partnerFundsTransfer: {
13133
- id: "transfer-failed",
13134
- status: "OVERDUE",
13135
- dateScheduled: 1640995200000,
13136
- dateTransferred: null,
13137
- dateCreated: 1640995200000,
13145
+ const notConnectedTaxConnection$1 = {
13146
+ connected: false,
13147
+ taxHandlingEnabled: true,
13148
+ connectionStatus: "NOT_STARTED",
13149
+ publisher: null,
13150
+ };
13151
+ // ============================================================
13152
+ // Reward Cell (kept from original)
13153
+ // ============================================================
13154
+ const CashReward$1 = () => (index.h("sqm-rewards-table-reward-cell", { reward: { ...cashReward$1, statuses: ["REDEEMED"], dateRedeemed: PAST$1 }, availableText: "{availableAmount} remaining" }));
13155
+ // ============================================================
13156
+ // STATUS PRECEDENCE LADDER — one story per rule
13157
+ // (See sqm-rewards-table-status-column-new.feature § 2)
13158
+ // ============================================================
13159
+ // 1. Fraud check denied the referral → status is Denied
13160
+ const StatusCellFraudDenied = () => (index.h("sqm-rewards-table-status-cell", { statusText: "Denied", reward: {
13161
+ ...cashReward$1,
13162
+ referral: { fraudData: { moderationStatus: "DENIED" } },
13163
+ }, taxConnection: fullySetupTaxConnection$1 }));
13164
+ // 2. Fraud check is still pending review → status is Pending Review
13165
+ const StatusCellFraudPendingReview = () => (index.h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: {
13166
+ ...cashReward$1,
13167
+ referral: { fraudData: { moderationStatus: "PENDING" } },
13168
+ }, taxConnection: fullySetupTaxConnection$1 }));
13169
+ // 3. Partner funds transfer was reversed → status is Payout Cancelled
13170
+ const StatusCellPayoutCancelled = () => (index.h("sqm-rewards-table-status-cell", { statusText: "Payout Cancelled", reward: {
13171
+ ...cashReward$1,
13172
+ partnerFundsTransfer: {
13173
+ id: "pft-reversed",
13174
+ status: "REVERSED",
13175
+ dateCreated: PAST$1,
13176
+ dateScheduled: PAST$1,
13177
+ dateTransferred: null,
13178
+ },
13179
+ }, taxConnection: fullySetupTaxConnection$1 }));
13180
+ // 4. Partner funds transfer is overdue → status is Payout Failed
13181
+ const StatusCellPayoutFailed = () => (index.h("sqm-rewards-table-status-cell", { statusText: "Payout Failed", reward: {
13182
+ ...cashReward$1,
13183
+ partnerFundsTransfer: {
13184
+ id: "pft-overdue",
13185
+ status: "OVERDUE",
13186
+ dateCreated: PAST$1,
13187
+ dateScheduled: PAST$1,
13188
+ dateTransferred: null,
13189
+ },
13190
+ }, taxConnection: fullySetupTaxConnection$1 }));
13191
+ // 5. Connected partner has not finished withdrawal settings setup → status is Pending
13192
+ const StatusCellPartnerCreatedSetupStartedButIncomplete = () => (index.h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: {
13193
+ ...cashReward$1,
13194
+ partnerFundsTransfer: {
13195
+ id: "pft-not-yet-due",
13196
+ status: "NOT_YET_DUE",
13197
+ dateCreated: PAST$1,
13198
+ dateScheduled: FUTURE$1,
13199
+ dateTransferred: null,
13200
+ },
13201
+ }, taxConnection: connectedNoWithdrawalSettings$1 }));
13202
+ // Reward is pending US_TAX and the partner has not been created yet → shows the partner-setup prompt
13203
+ const StatusCellPartnerNotCreatedSetupNotStarted = () => (index.h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: {
13204
+ ...cashReward$1,
13205
+ statuses: ["PENDING"],
13206
+ pendingReasons: ["US_TAX"],
13207
+ }, taxConnection: notConnectedTaxConnection$1 }));
13208
+ // 6. Reward has MISSING_PAYOUT_CONFIGURATION pending reason and no withdrawal settings → status is Pending
13209
+ const StatusCellMissingPayoutConfiguration = () => (index.h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: {
13210
+ ...cashReward$1,
13211
+ statuses: ["PENDING"],
13212
+ pendingReasons: ["MISSING_PAYOUT_CONFIGURATION"],
13213
+ }, taxConnection: connectedNoWithdrawalSettings$1 }));
13214
+ // 7. Partner funds transfer is scheduled for a future date → status is Processing
13215
+ const StatusCellPayoutProcessing = () => (index.h("sqm-rewards-table-status-cell", { statusText: "Processing", reward: {
13216
+ ...cashReward$1,
13217
+ partnerFundsTransfer: {
13218
+ id: "pft-processing",
13219
+ status: null,
13220
+ dateCreated: PAST$1,
13221
+ dateScheduled: FUTURE$1,
13222
+ dateTransferred: null,
13223
+ },
13224
+ }, taxConnection: fullySetupTaxConnection$1 }));
13225
+ // 8. Partner funds transfer has been transferred → status is Payout Approved
13226
+ const StatusCellPayoutApproved = () => (index.h("sqm-rewards-table-status-cell", { statusText: "Payout Approved", reward: {
13227
+ ...cashReward$1,
13228
+ partnerFundsTransfer: {
13229
+ id: "pft-transferred",
13230
+ status: "TRANSFERRED",
13231
+ dateCreated: PAST$1,
13232
+ dateScheduled: PAST$1,
13233
+ dateTransferred: PAST$1,
13234
+ },
13235
+ }, taxConnection: fullySetupTaxConnection$1 }));
13236
+ // 9. Reward has a cancellation date set → status is Cancelled
13237
+ const StatusCellRewardCancelled = () => (index.h("sqm-rewards-table-status-cell", { statusText: "Cancelled", reward: {
13238
+ ...cashReward$1,
13239
+ statuses: ["CANCELLED"],
13240
+ dateCancelled: PAST$1,
13241
+ }, taxConnection: fullySetupTaxConnection$1 }));
13242
+ // 10. Reward statuses include EXPIRED → status is Expired
13243
+ const StatusCellRewardExpired = () => (index.h("sqm-rewards-table-status-cell", { statusText: "Expired", reward: {
13244
+ ...cashReward$1,
13245
+ statuses: ["EXPIRED"],
13246
+ dateExpires: PAST$1,
13247
+ }, taxConnection: fullySetupTaxConnection$1 }));
13248
+ // 11. Reward is pending and scheduled for a future date → status is Pending with the scheduled date shown
13249
+ const StatusCellPendingScheduled$1 = () => (index.h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: {
13250
+ ...cashReward$1,
13251
+ statuses: ["PENDING"],
13252
+ pendingReasons: ["SCHEDULED"],
13253
+ dateScheduledFor: FUTURE$1,
13254
+ }, taxConnection: fullySetupTaxConnection$1 }));
13255
+ // 12. Reward does not match any precedence rule → no badge text, no description
13256
+ const StatusCellNoMatchingRule = () => (index.h("sqm-rewards-table-status-cell", { statusText: "", reward: {
13257
+ ...cashReward$1,
13258
+ statuses: [],
13259
+ }, taxConnection: fullySetupTaxConnection$1 }));
13260
+ // ============================================================
13261
+ // US_TAX getTaxPendingReasons branches (Pending Description Resolution § 5)
13262
+ // ============================================================
13263
+ // Reward is pending US_TAX but tax handling is disabled → shows "W-9 required"
13264
+ const StatusCellPendingW9Required = () => (index.h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: {
13265
+ ...cashReward$1,
13266
+ statuses: ["PENDING"],
13267
+ pendingReasons: ["US_TAX"],
13268
+ }, taxConnection: { ...fullySetupTaxConnection$1, taxHandlingEnabled: false } }));
13269
+ // Partner is connected but has not submitted any tax documents → shows the submit-tax-docs prompt
13270
+ const StatusCellPendingTaxSubmission = () => (index.h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: {
13271
+ ...cashReward$1,
13272
+ statuses: ["PENDING"],
13273
+ pendingReasons: ["US_TAX"],
13274
+ }, taxConnection: {
13275
+ ...fullySetupTaxConnection$1,
13276
+ publisher: {
13277
+ ...fullySetupTaxConnection$1.publisher,
13278
+ currentTaxDocument: null,
13279
+ },
13280
+ } }));
13281
+ // Partner's tax document is inactive (rejected) → shows the submit-a-new-form prompt
13282
+ const StatusCellPendingNewTaxForm = () => (index.h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: {
13283
+ ...cashReward$1,
13284
+ statuses: ["PENDING"],
13285
+ pendingReasons: ["US_TAX"],
13286
+ }, taxConnection: {
13287
+ ...fullySetupTaxConnection$1,
13288
+ publisher: {
13289
+ ...fullySetupTaxConnection$1.publisher,
13290
+ currentTaxDocument: {
13291
+ status: "INACTIVE",
13292
+ type: "W9",
13293
+ dateCreated: PAST$1,
13138
13294
  },
13139
- } }));
13140
- };
13141
- const StatusCellPayoutProcessing = () => {
13142
- return (index.h("sqm-rewards-table-status-cell", { statusText: "Payment Processing", reward: { ...cashReward$1, ...processingPFT } }));
13143
- };
13144
- const StatusCellPayoutCancelled = () => {
13145
- return (index.h("sqm-rewards-table-status-cell", { statusText: "Payout Cancelled", reward: {
13146
- ...cashReward$1,
13147
- partnerFundsTransfer: {
13148
- id: "transfer-reversed",
13149
- status: "REVERSED",
13150
- dateScheduled: 1640995200000,
13151
- dateTransferred: null,
13152
- dateCreated: 1640995200000,
13295
+ },
13296
+ } }));
13297
+ // Partner's tax document is awaiting verification → shows the awaiting-review prompt
13298
+ const StatusCellPendingTaxReview = () => (index.h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: {
13299
+ ...cashReward$1,
13300
+ statuses: ["PENDING"],
13301
+ pendingReasons: ["US_TAX"],
13302
+ }, taxConnection: {
13303
+ ...fullySetupTaxConnection$1,
13304
+ publisher: {
13305
+ ...fullySetupTaxConnection$1.publisher,
13306
+ currentTaxDocument: {
13307
+ status: "NOT_VERIFIED",
13308
+ type: "W9",
13309
+ dateCreated: PAST$1,
13153
13310
  },
13154
- } }));
13155
- };
13311
+ },
13312
+ } }));
13313
+ // Partner has an active tax form but has not configured withdrawal settings → shows the partner-setup prompt
13314
+ const StatusCellExistingTaxFormNoWithdrawalSettings = () => (index.h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: {
13315
+ ...cashReward$1,
13316
+ statuses: ["PENDING"],
13317
+ pendingReasons: ["US_TAX"],
13318
+ }, taxConnection: connectedNoWithdrawalSettings$1 }));
13319
+ // Partner is connected, no tax form is required, but withdrawal settings are not submitted → shows the partner-setup prompt
13320
+ const StatusCellConnectedNoTaxRequiredNoWithdrawalSettings = () => (index.h("sqm-rewards-table-status-cell", { statusText: "Pending", reward: {
13321
+ ...cashReward$1,
13322
+ statuses: ["PENDING"],
13323
+ pendingReasons: [],
13324
+ }, taxConnection: {
13325
+ connected: true,
13326
+ taxHandlingEnabled: true,
13327
+ connectionStatus: "COMPLETED",
13328
+ publisher: {
13329
+ requiredTaxDocumentType: null,
13330
+ currentTaxDocument: null,
13331
+ withdrawalSettings: null,
13332
+ payoutsAccount: null,
13333
+ },
13334
+ } }));
13335
+ // Aliases kept for the table-level stories file
13336
+ const StatusCellPayoutSent = StatusCellPayoutApproved;
13337
+ const StatusCellPendingW9 = StatusCellPendingW9Required;
13156
13338
 
13157
13339
  const TaxAndCashRewardsTableCell = /*#__PURE__*/Object.freeze({
13158
13340
  __proto__: null,
13159
13341
  'default': TaxAndCashRewardsTableCell_stories,
13160
13342
  CashReward: CashReward$1,
13161
- StatusCellPendingTaxReview: StatusCellPendingTaxReview,
13162
- StatusCellPendingNewTaxForm: StatusCellPendingNewTaxForm,
13163
- StatusCellPendingTaxSubmission: StatusCellPendingTaxSubmission,
13164
- StatusCellPendingPartnerCreation: StatusCellPendingPartnerCreation,
13165
- StatusCellPendingW9: StatusCellPendingW9,
13166
- StatusCellPayoutSent: StatusCellPayoutSent,
13343
+ StatusCellFraudDenied: StatusCellFraudDenied,
13344
+ StatusCellFraudPendingReview: StatusCellFraudPendingReview,
13345
+ StatusCellPayoutCancelled: StatusCellPayoutCancelled,
13167
13346
  StatusCellPayoutFailed: StatusCellPayoutFailed,
13347
+ StatusCellPartnerCreatedSetupStartedButIncomplete: StatusCellPartnerCreatedSetupStartedButIncomplete,
13348
+ StatusCellPartnerNotCreatedSetupNotStarted: StatusCellPartnerNotCreatedSetupNotStarted,
13349
+ StatusCellMissingPayoutConfiguration: StatusCellMissingPayoutConfiguration,
13168
13350
  StatusCellPayoutProcessing: StatusCellPayoutProcessing,
13169
- StatusCellPayoutCancelled: StatusCellPayoutCancelled
13351
+ StatusCellPayoutApproved: StatusCellPayoutApproved,
13352
+ StatusCellRewardCancelled: StatusCellRewardCancelled,
13353
+ StatusCellRewardExpired: StatusCellRewardExpired,
13354
+ StatusCellPendingScheduled: StatusCellPendingScheduled$1,
13355
+ StatusCellNoMatchingRule: StatusCellNoMatchingRule,
13356
+ StatusCellPendingW9Required: StatusCellPendingW9Required,
13357
+ StatusCellPendingTaxSubmission: StatusCellPendingTaxSubmission,
13358
+ StatusCellPendingNewTaxForm: StatusCellPendingNewTaxForm,
13359
+ StatusCellPendingTaxReview: StatusCellPendingTaxReview,
13360
+ StatusCellExistingTaxFormNoWithdrawalSettings: StatusCellExistingTaxFormNoWithdrawalSettings,
13361
+ StatusCellConnectedNoTaxRequiredNoWithdrawalSettings: StatusCellConnectedNoTaxRequiredNoWithdrawalSettings,
13362
+ StatusCellPayoutSent: StatusCellPayoutSent,
13363
+ StatusCellPendingW9: StatusCellPendingW9
13170
13364
  });
13171
13365
 
13172
13366
  const TaxAndCashRewardsTable_stories = {
@@ -13225,7 +13419,7 @@ const r_pending_tax_review = [
13225
13419
  ];
13226
13420
  const r_pending_partner_creation = [
13227
13421
  index.h(CashReward$1, null),
13228
- index.h(StatusCellPendingPartnerCreation, null),
13422
+ index.h(StatusCellPartnerNotCreatedSetupNotStarted, null),
13229
13423
  index.h(SourceCellReferral, null),
13230
13424
  index.h(DateCell$2, null),
13231
13425
  ];
@@ -16327,6 +16521,175 @@ const BankingInfoForm = /*#__PURE__*/Object.freeze({
16327
16521
  BankingInfoFormModalOpen: BankingInfoFormModalOpen
16328
16522
  });
16329
16523
 
16524
+ const TaxAndCashDashboardView_stories = {
16525
+ title: "Components/Tax And Cash Dashboard View",
16526
+ };
16527
+ const defaultText = {
16528
+ statusTextActive: "Active",
16529
+ statusTextNotActive: "Invalid Tax Form",
16530
+ statusTextNotVerified: "Not Verified",
16531
+ statusTextRequired: "Required",
16532
+ requiredTaxForm: "Your payouts are on hold until you submit a {taxFormType} tax form.",
16533
+ badgeTextSubmittedOn: "Submitted on {dateSubmitted}.",
16534
+ badgeTextSubmittedOnW8: "Submitted on {dateSubmitted}. Valid for three years after submission.",
16535
+ badgeTextAwaitingReview: "Awaiting review. Submitted on {dateSubmitted}.",
16536
+ taxAlertHeaderNotActiveW9: "Your W-9 tax form has personal information that doesn't match your profile",
16537
+ taxAlertHeaderNotActiveW8: "{documentType} tax form is invalid",
16538
+ taxAlertNotActiveMessageW9: "Please resubmit a new {documentType} form.",
16539
+ taxAlertNotActiveMessageW8: "Your tax form may have expired or has personal information that doesn't match your profile. Please submit a new {documentType} form.",
16540
+ invalidForm: "Make sure your information is correct and submit new form.",
16541
+ bankingInformationSectionHeader: "Payout information",
16542
+ taxDocumentSectionHeader: "Tax documents",
16543
+ taxDocumentSectionSubHeader: "{documentType} tax form",
16544
+ taxDocumentSectionSubHeaderNoDocument: "Tax form",
16545
+ indirectTaxInfoSectionHeader: "Indirect tax",
16546
+ indirectTaxInfoCanada: "Registered in {province}, {country}",
16547
+ indirectTaxInfoOtherCountry: "Registered in {country}",
16548
+ indirectTaxInfoSpain: "Registered in {country}, {subRegion}",
16549
+ indirectTaxTooltipSupport: "To make changes to your indirect tax information, please contact our {supportLink}.",
16550
+ indirectTaxDetails: "{indirectTaxType} number: {indirectTaxNumber}",
16551
+ newFormButton: "Submit new tax form",
16552
+ editPaymentInformationButton: "Edit payout information",
16553
+ notRegisteredForTax: "Not registered for indirect tax. If you've previously registered with your tax authority, contact our {supportLink} to add your information to stay tax compliant.",
16554
+ qstNumber: "QST number: {qstNumber}",
16555
+ subRegionTaxNumber: "Income tax number: {subRegionTaxNumber}",
16556
+ invoiceColumnTitle: "Invoice",
16557
+ dateColumnTitle: "Date",
16558
+ earningsColumnTitle: "Earnings",
16559
+ indirectTaxColumnTitle: "Indirect tax",
16560
+ earningsAfterTaxColumnTitle: "Earnings after tax",
16561
+ invoiceDescription: "View and download your invoices to report your earnings and stay tax compliant.",
16562
+ invoicePrevLabel: "Prev",
16563
+ invoiceMoreLabel: "Next",
16564
+ invoiceHeader: "Invoices",
16565
+ invoiceEmptyStateHeader: "View your invoice details",
16566
+ invoiceEmptyStateText: "Refer a friend to view the status of your invoices and rewards earned",
16567
+ payoutFromImpact: "Your balance may take up to 24 hours to update. Payouts will be sent from our referral program provider, impact.com.",
16568
+ replaceTaxFormModalHeader: "Replace existing tax form",
16569
+ replaceTaxFormModalBodyText: "Submitting a new tax form will remove your existing form. Make sure to sign and complete your new tax form to prevent any issues with your next payout.",
16570
+ supportLink: "support team",
16571
+ cancelButton: "Cancel",
16572
+ payoutHoldAlertHeader: "Your payout is on hold",
16573
+ payoutHoldAlertDescription: "Please contact our {supportLink} or check your inbox for an email from our referral program provider, impact.com.",
16574
+ verificationRequiredHeader: "Verify your identity",
16575
+ verificationRequiredDescription: "Complete your verification to start receiving your cash rewards. It should only take a few minutes verify. If you run in to an issue verifying your identity contact our {supportLink}.",
16576
+ verificationRequiredButtonText: "Start Verification",
16577
+ verificationRequiredInternalHeader: "Identity verification in progress",
16578
+ verificationRequiredInternalDescription: "Identity verification submission has been received. Our system is currently performing additional checks and analyzing the results. You will be updated shortly. If you don't hear from us contact our {supportLink}.",
16579
+ verificationReviewInternalHeader: "Identity verification under review",
16580
+ verificationReviewInternalDescription: "Identity verification requires further review due to a potential error. Our team is reviewing the information and will update you shortly. If you don't hear from us contact our {supportLink}.",
16581
+ verificationFailedInternalHeader: "Identity verification unsuccessful",
16582
+ verificationFailedInternalDescription: "Identity verification has failed. Our team is reviewing the report and will contact you with further information. If you don't hear from us contact our {supportLink}.",
16583
+ w9RequiredHeader: "Your next payout is on hold",
16584
+ w9RequiredDescription: "You have surpassed the $2000 threshold requiring a W-9 form or have multiple accounts with impact.com. To remove the hold, please submit your W-9 form.",
16585
+ w9RequiredButtonText: "Submit W-9",
16586
+ accountReviewHeader: "Your account is under review",
16587
+ accountReviewDescription: "This process takes 48 hours, payouts are on hold until it's completed. You will receive an email from our referral provider, Impact.com, if any issues arise. It contains details on how to resolve this issue. If you need further assistance, please reach out to our {supportLink}.",
16588
+ paymentHoldOnChangeHeader: "We are reviewing your new payout settings",
16589
+ paymentHoldOnChangeDescription: "Your payout is temporarily on hold while we review your new payment information, this process is usually resolved within 48 hours.",
16590
+ beneficiaryNameInvalidHeader: "Your payment information does not match your tax form",
16591
+ beneficiaryNameInvalidDescription: "The account holder (beneficiary) name in your payment information does not match what was submitted in your tax form. Please review and update your payment information or tax form so that they match exactly and do not include any invalid characters. Your payouts are on hold until this is resolved.",
16592
+ beneficiaryNameMismatchHeader: "Your payment information does not match your tax form",
16593
+ beneficiaryNameMismatchDescription: "The account holder (beneficiary) name in your payment information does not match what was submitted in your tax form. Please review and update your payment information or tax form so that they match exactly and do not include any invalid characters. Your payouts are on hold until this is resolved.",
16594
+ bankTaxNameMismatchHeader: "Your payment information does not match your tax form",
16595
+ bankTaxNameMismatchDescription: "The bank account (beneficiary) name in your payment information does not match what was submitted in your tax form. Please review and update your payment information or tax form so that they match exactly and do not include any invalid characters. Your payouts are on hold until this is resolved.",
16596
+ withdrawalSettingsInvalidHeader: "Your payment information is incomplete or includes invalid characters",
16597
+ withdrawalSettingsInvalidDescription: "There are missing fields or invalid characters in your payment information. Please review your information and make sure it is correct. Your payouts are on hold until this is resolved.",
16598
+ paymentReturnedHeader: "Payout unsuccessful",
16599
+ paymentReturnedDescription: "Our recent payment attempt for your earnings was unsuccessful. Please review your payment information and make sure it is correct.",
16600
+ termsAndConditions: "Terms and Conditions",
16601
+ error: {
16602
+ generalTitle: "There was a problem submitting your information",
16603
+ generalDescription: "Please review your information and try again. If this problem continues, contact our {supportLink}.",
16604
+ loadingErrorAlertHeader: "There was a problem loading your form",
16605
+ loadingErrorAlertDescription: "Please refresh the page and try again. If this problem continues, contact our {supportLink}.",
16606
+ },
16607
+ };
16608
+ const defaultCallbacks$1 = {
16609
+ onClick: () => { },
16610
+ onVerifyClick: () => { },
16611
+ onEditPayoutInfo: () => { },
16612
+ onNewFormCancel: () => { },
16613
+ onNewFormClick: () => { },
16614
+ };
16615
+ const defaultSlots = {
16616
+ payoutDetailsCardSlot: (index.h("sqm-payout-details-card", { demoData: { states: { badgeStatus: "nextPayout" } } })),
16617
+ };
16618
+ const baseStates = {
16619
+ payoutStatus: "DONE",
16620
+ veriffLoading: false,
16621
+ canEditPayoutInfo: true,
16622
+ disabled: false,
16623
+ status: "ACTIVE",
16624
+ documentType: "W9",
16625
+ documentTypeString: subregions.taxTypeToName("W9"),
16626
+ dateSubmitted: "Jan 18th, 2025",
16627
+ noFormNeeded: false,
16628
+ country: "United States",
16629
+ indirectTaxType: "VAT",
16630
+ indirectTaxNumber: "123456",
16631
+ showNewFormDialog: false,
16632
+ hasHold: false,
16633
+ loading: false,
16634
+ loadingError: false,
16635
+ };
16636
+ // Stories not covered by TaxForm.stories.tsx (which uses sqm-tax-and-cash-dashboard WC)
16637
+ // ─── Base ─────────────────────────────────────────────────────────────────────
16638
+ const ActiveW9Form = () => (index.h(sqmUserInfoFormView.TaxAndCashDashboardView, { states: baseStates, text: defaultText, callbacks: defaultCallbacks$1, slots: defaultSlots }));
16639
+ const TaxFormRequired = () => (index.h(sqmUserInfoFormView.TaxAndCashDashboardView, { states: {
16640
+ ...baseStates,
16641
+ status: undefined,
16642
+ documentType: "W9",
16643
+ documentTypeString: subregions.taxTypeToName("W9"),
16644
+ noFormNeeded: false,
16645
+ }, text: defaultText, callbacks: defaultCallbacks$1, slots: defaultSlots }));
16646
+ // ─── Payout hold statuses not in TaxForm.stories.tsx ─────────────────────────
16647
+ const AccountUnderReview = () => (index.h(sqmUserInfoFormView.TaxAndCashDashboardView, { states: { ...baseStates, payoutStatus: "NEW_PAYEE_REVIEW" }, text: defaultText, callbacks: defaultCallbacks$1, slots: defaultSlots }));
16648
+ const PaymentHoldOnChange = () => (index.h(sqmUserInfoFormView.TaxAndCashDashboardView, { states: { ...baseStates, payoutStatus: "PAYMENT_HOLD_ON_CHANGE" }, text: defaultText, callbacks: defaultCallbacks$1, slots: defaultSlots }));
16649
+ const BeneficiaryNameInvalid = () => (index.h(sqmUserInfoFormView.TaxAndCashDashboardView, { states: { ...baseStates, payoutStatus: "BENEFICIARY_NAME_INVALID" }, text: defaultText, callbacks: defaultCallbacks$1, slots: defaultSlots }));
16650
+ const BeneficiaryNameMismatch = () => (index.h(sqmUserInfoFormView.TaxAndCashDashboardView, { states: { ...baseStates, payoutStatus: "BENEFICIARY_NAME_MISMATCH" }, text: defaultText, callbacks: defaultCallbacks$1, slots: defaultSlots }));
16651
+ const BankTaxNameMismatch = () => (index.h(sqmUserInfoFormView.TaxAndCashDashboardView, { states: { ...baseStates, payoutStatus: "BANK_TAX_NAME_MISMATCH" }, text: defaultText, callbacks: defaultCallbacks$1, slots: defaultSlots }));
16652
+ const WithdrawalSettingsInvalid = () => (index.h(sqmUserInfoFormView.TaxAndCashDashboardView, { states: { ...baseStates, payoutStatus: "WITHDRAWAL_SETTINGS_INVALID" }, text: defaultText, callbacks: defaultCallbacks$1, slots: defaultSlots }));
16653
+ const PaymentReturned = () => (index.h(sqmUserInfoFormView.TaxAndCashDashboardView, { states: { ...baseStates, payoutStatus: "PAYMENT_RETURNED" }, text: defaultText, callbacks: defaultCallbacks$1, slots: defaultSlots }));
16654
+ const W9ThresholdReachedHardBlock = () => (index.h(sqmUserInfoFormView.TaxAndCashDashboardView, { states: {
16655
+ ...baseStates,
16656
+ payoutStatus: "OVER_W9_THRESHOLD",
16657
+ enforceUsTaxComplianceOption: "HARD_BLOCK",
16658
+ status: undefined,
16659
+ }, text: defaultText, callbacks: defaultCallbacks$1, slots: defaultSlots }));
16660
+ // ─── Verification loading state ───────────────────────────────────────────────
16661
+ const VerificationRequiredLoading = () => (index.h(sqmUserInfoFormView.TaxAndCashDashboardView, { states: {
16662
+ ...baseStates,
16663
+ payoutStatus: "VERIFICATION:REQUIRED",
16664
+ veriffLoading: true,
16665
+ notRegistered: true,
16666
+ }, text: defaultText, callbacks: defaultCallbacks$1, slots: defaultSlots }));
16667
+ // ─── Loading and error states ─────────────────────────────────────────────────
16668
+ const Loading$c = () => (index.h(sqmUserInfoFormView.TaxAndCashDashboardView, { states: { ...baseStates, loading: true }, text: defaultText, callbacks: defaultCallbacks$1, slots: defaultSlots }));
16669
+ const LoadingError = () => (index.h(sqmUserInfoFormView.TaxAndCashDashboardView, { states: { ...baseStates, loadingError: true }, text: defaultText, callbacks: defaultCallbacks$1, slots: defaultSlots }));
16670
+ const GeneralError = () => (index.h(sqmUserInfoFormView.TaxAndCashDashboardView, { states: { ...baseStates, errors: { general: true } }, text: defaultText, callbacks: defaultCallbacks$1, slots: defaultSlots }));
16671
+ const Disabled$2 = () => (index.h(sqmUserInfoFormView.TaxAndCashDashboardView, { states: { ...baseStates, disabled: true }, text: defaultText, callbacks: defaultCallbacks$1, slots: defaultSlots }));
16672
+
16673
+ const TaxAndCashDashboardView = /*#__PURE__*/Object.freeze({
16674
+ __proto__: null,
16675
+ 'default': TaxAndCashDashboardView_stories,
16676
+ ActiveW9Form: ActiveW9Form,
16677
+ TaxFormRequired: TaxFormRequired,
16678
+ AccountUnderReview: AccountUnderReview,
16679
+ PaymentHoldOnChange: PaymentHoldOnChange,
16680
+ BeneficiaryNameInvalid: BeneficiaryNameInvalid,
16681
+ BeneficiaryNameMismatch: BeneficiaryNameMismatch,
16682
+ BankTaxNameMismatch: BankTaxNameMismatch,
16683
+ WithdrawalSettingsInvalid: WithdrawalSettingsInvalid,
16684
+ PaymentReturned: PaymentReturned,
16685
+ W9ThresholdReachedHardBlock: W9ThresholdReachedHardBlock,
16686
+ VerificationRequiredLoading: VerificationRequiredLoading,
16687
+ Loading: Loading$c,
16688
+ LoadingError: LoadingError,
16689
+ GeneralError: GeneralError,
16690
+ Disabled: Disabled$2
16691
+ });
16692
+
16330
16693
  const TaxForm_stories = {
16331
16694
  title: "Components/Tax Form",
16332
16695
  };
@@ -16475,7 +16838,7 @@ const stepTwoProps = {
16475
16838
  setCountrySearch: (c) => console.log(c),
16476
16839
  },
16477
16840
  data: {
16478
- esRegions: sqmUserInfoFormView.INDIRECT_TAX_SPAIN_REGIONS,
16841
+ esRegions: subregions.INDIRECT_TAX_SPAIN_REGIONS,
16479
16842
  countries: [
16480
16843
  {
16481
16844
  countryCode: "CA",
@@ -16512,7 +16875,7 @@ const stepTwoProps = {
16512
16875
  displayName: "United States",
16513
16876
  },
16514
16877
  ],
16515
- provinces: sqmUserInfoFormView.INDIRECT_TAX_PROVINCES,
16878
+ provinces: subregions.INDIRECT_TAX_PROVINCES,
16516
16879
  },
16517
16880
  slotProps: {
16518
16881
  formState: {
@@ -16590,7 +16953,7 @@ const dashboardProps = {
16590
16953
  disabled: false,
16591
16954
  status: "ACTIVE",
16592
16955
  documentType: "W9",
16593
- documentTypeString: data.taxTypeToName("W9"),
16956
+ documentTypeString: subregions.taxTypeToName("W9"),
16594
16957
  dateSubmitted: "Jan 18th, 2025",
16595
16958
  noFormNeeded: false,
16596
16959
  country: "United Kingdom",
@@ -16608,7 +16971,7 @@ const dashboardProps = {
16608
16971
  },
16609
16972
  };
16610
16973
  const GeneralLoadingView = () => {
16611
- return index.h(data.LoadingView, null);
16974
+ return index.h(subregions.LoadingView, null);
16612
16975
  };
16613
16976
  const GeneralErrorView = () => {
16614
16977
  return (index.h("sqm-form-message", { type: "error" },
@@ -16947,7 +17310,7 @@ const StepThreeWithDocusign = () => {
16947
17310
  return (index.h("sqm-docusign-form", { demoData: {
16948
17311
  states: {
16949
17312
  documentType: "W9",
16950
- documentTypeString: data.taxTypeToName("W9"),
17313
+ documentTypeString: subregions.taxTypeToName("W9"),
16951
17314
  ...docusignFormProps.states,
16952
17315
  },
16953
17316
  } }));
@@ -16957,7 +17320,7 @@ const StepThreeWithDocusignW8BEN = () => {
16957
17320
  states: {
16958
17321
  ...docusignFormProps.states,
16959
17322
  documentType: "W8BEN",
16960
- documentTypeString: data.taxTypeToName("W8BEN"),
17323
+ documentTypeString: subregions.taxTypeToName("W8BEN"),
16961
17324
  },
16962
17325
  } }));
16963
17326
  };
@@ -16966,7 +17329,7 @@ const StepThreeWithDocusignW8BENE = () => {
16966
17329
  states: {
16967
17330
  ...docusignFormProps.states,
16968
17331
  documentType: "W8BENE",
16969
- documentTypeString: data.taxTypeToName("W8BENE"),
17332
+ documentTypeString: subregions.taxTypeToName("W8BENE"),
16970
17333
  formState: {
16971
17334
  taxFormExpired: false,
16972
17335
  participantType: "businessEntity",
@@ -17062,7 +17425,7 @@ const StepThreeWithDocusignModalOpen = () => {
17062
17425
  return (index.h("sqm-docusign-form", { demoData: {
17063
17426
  states: {
17064
17427
  documentType: "W9",
17065
- documentTypeString: data.taxTypeToName("W9"),
17428
+ documentTypeString: subregions.taxTypeToName("W9"),
17066
17429
  ...docusignFormProps.states,
17067
17430
  showModal: true,
17068
17431
  },
@@ -17135,7 +17498,7 @@ const TaxAndCashDashboardActiveW8BENForm = () => {
17135
17498
  noFormNeeded: false,
17136
17499
  canEditPayoutInfo: true,
17137
17500
  documentType: "W8BEN",
17138
- documentTypeString: data.taxTypeToName("W8BEN"),
17501
+ documentTypeString: subregions.taxTypeToName("W8BEN"),
17139
17502
  country: "United Kingdom",
17140
17503
  indirectTaxType: "VAT",
17141
17504
  indirectTaxNumber: "123456",
@@ -17153,7 +17516,7 @@ const TaxAndCashDashboardActiveW8BENEForm = () => {
17153
17516
  noFormNeeded: false,
17154
17517
  canEditPayoutInfo: true,
17155
17518
  documentType: "W8BENE",
17156
- documentTypeString: data.taxTypeToName("W8BENE"),
17519
+ documentTypeString: subregions.taxTypeToName("W8BENE"),
17157
17520
  country: "United Kingdom",
17158
17521
  indirectTaxType: "VAT",
17159
17522
  indirectTaxNumber: "123456",
@@ -17171,7 +17534,7 @@ const TaxAndCashDashboardNotActiveW9Form = () => {
17171
17534
  canEditPayoutInfo: true,
17172
17535
  status: "INACTIVE",
17173
17536
  documentType: "W9",
17174
- documentTypeString: data.taxTypeToName("W9"),
17537
+ documentTypeString: subregions.taxTypeToName("W9"),
17175
17538
  country: "United Kingdom",
17176
17539
  indirectTaxType: "VAT",
17177
17540
  indirectTaxNumber: "123456",
@@ -17191,7 +17554,7 @@ const TaxAndCashDashboardNotActiveW8Form = () => {
17191
17554
  canEditPayoutInfo: true,
17192
17555
  status: "INACTIVE",
17193
17556
  documentType: "W8BEN",
17194
- documentTypeString: data.taxTypeToName("W8BEN"),
17557
+ documentTypeString: subregions.taxTypeToName("W8BEN"),
17195
17558
  country: "United Kingdom",
17196
17559
  indirectTaxType: "VAT",
17197
17560
  indirectTaxNumber: "123456",
@@ -17228,7 +17591,7 @@ const TaxAndCashDashboardNotVerifiedW9Form = () => {
17228
17591
  disabled: false,
17229
17592
  status: "NOT_VERIFIED",
17230
17593
  documentType: "W9",
17231
- documentTypeString: data.taxTypeToName("W9"),
17594
+ documentTypeString: subregions.taxTypeToName("W9"),
17232
17595
  noFormNeeded: false,
17233
17596
  country: "United States",
17234
17597
  indirectTaxType: "VAT",
@@ -17249,7 +17612,7 @@ const TaxAndCashDashboardNotVerifiedW8BENForm = () => {
17249
17612
  disabled: false,
17250
17613
  status: "NOT_VERIFIED",
17251
17614
  documentType: "W8BEN",
17252
- documentTypeString: data.taxTypeToName("W8BEN"),
17615
+ documentTypeString: subregions.taxTypeToName("W8BEN"),
17253
17616
  dateSubmitted: "Jan 18th, 2025",
17254
17617
  noFormNeeded: false,
17255
17618
  country: "United Kingdom",
@@ -17270,7 +17633,7 @@ const TaxAndCashDashboardNotVerifiedW8BENEForm = () => {
17270
17633
  disabled: false,
17271
17634
  status: "NOT_VERIFIED",
17272
17635
  documentType: "W8BENE",
17273
- documentTypeString: data.taxTypeToName("W8BENE"),
17636
+ documentTypeString: subregions.taxTypeToName("W8BENE"),
17274
17637
  dateSubmitted: "Jan 18th, 2025",
17275
17638
  noFormNeeded: false,
17276
17639
  country: "United Kingdom",
@@ -17291,7 +17654,7 @@ const TaxAndCashDashboardNotActiveW8BENEForm = () => {
17291
17654
  disabled: false,
17292
17655
  status: "NOT_ACTIVE",
17293
17656
  documentType: "W8BENE",
17294
- documentTypeString: data.taxTypeToName("W8BENE"),
17657
+ documentTypeString: subregions.taxTypeToName("W8BENE"),
17295
17658
  dateSubmitted: "Jan 18th, 2025",
17296
17659
  noFormNeeded: false,
17297
17660
  indirectTaxNumber: "123456",
@@ -17311,7 +17674,7 @@ const TaxAndCashDashboardNoFormNeeded = () => {
17311
17674
  canEditPayoutInfo: true,
17312
17675
  disabled: false,
17313
17676
  documentType: "W9",
17314
- documentTypeString: data.taxTypeToName("W9"),
17677
+ documentTypeString: subregions.taxTypeToName("W9"),
17315
17678
  dateSubmitted: "Jan 18th, 2025",
17316
17679
  noFormNeeded: true,
17317
17680
  province: "Ontario",
@@ -17333,7 +17696,7 @@ const TaxAndCashDashboardIndirectTaxCanada = () => {
17333
17696
  status: "ACTIVE",
17334
17697
  disabled: false,
17335
17698
  documentType: "W8BENE",
17336
- documentTypeString: data.taxTypeToName("W8BENE"),
17699
+ documentTypeString: subregions.taxTypeToName("W8BENE"),
17337
17700
  dateSubmitted: "Jan 18th, 2025",
17338
17701
  noFormNeeded: false,
17339
17702
  province: "Ontario",
@@ -17355,7 +17718,7 @@ const TaxAndCashDashboardIndirectTaxCanadaQuebec = () => {
17355
17718
  status: "ACTIVE",
17356
17719
  disabled: false,
17357
17720
  documentType: "W8BENE",
17358
- documentTypeString: data.taxTypeToName("W8BENE"),
17721
+ documentTypeString: subregions.taxTypeToName("W8BENE"),
17359
17722
  dateSubmitted: "Jan 18th, 2025",
17360
17723
  noFormNeeded: false,
17361
17724
  province: "Quebec",
@@ -17378,7 +17741,7 @@ const TaxAndCashDashboardIndirectTaxSpain = () => {
17378
17741
  status: "ACTIVE",
17379
17742
  disabled: false,
17380
17743
  documentType: "W8BENE",
17381
- documentTypeString: data.taxTypeToName("W8BENE"),
17744
+ documentTypeString: subregions.taxTypeToName("W8BENE"),
17382
17745
  dateSubmitted: "Jan 18th, 2025",
17383
17746
  noFormNeeded: false,
17384
17747
  country: "Spain",
@@ -17400,7 +17763,7 @@ const TaxAndCashDashboardIndirectTaxNotRegistered = () => {
17400
17763
  canEditPayoutInfo: true,
17401
17764
  status: "ACTIVE",
17402
17765
  documentType: "W8BEN",
17403
- documentTypeString: data.taxTypeToName("W8BEN"),
17766
+ documentTypeString: subregions.taxTypeToName("W8BEN"),
17404
17767
  dateSubmitted: "Jan 18th, 2025",
17405
17768
  noFormNeeded: false,
17406
17769
  notRegistered: true,
@@ -17418,7 +17781,7 @@ const TaxAndCashDashboardIdentityVerifcationRequired = () => {
17418
17781
  canEditPayoutInfo: true,
17419
17782
  status: "ACTIVE",
17420
17783
  documentType: "W8BEN",
17421
- documentTypeString: data.taxTypeToName("W8BEN"),
17784
+ documentTypeString: subregions.taxTypeToName("W8BEN"),
17422
17785
  dateSubmitted: "Jan 18th, 2025",
17423
17786
  noFormNeeded: false,
17424
17787
  notRegistered: true,
@@ -17436,7 +17799,7 @@ const TaxAndCashDashboardIdentityVerifcationRequiredInternal = () => {
17436
17799
  canEditPayoutInfo: true,
17437
17800
  status: "ACTIVE",
17438
17801
  documentType: "W8BEN",
17439
- documentTypeString: data.taxTypeToName("W8BEN"),
17802
+ documentTypeString: subregions.taxTypeToName("W8BEN"),
17440
17803
  dateSubmitted: "Jan 18th, 2025",
17441
17804
  noFormNeeded: false,
17442
17805
  notRegistered: true,
@@ -17454,7 +17817,7 @@ const TaxAndCashDashboardIdentityVerifcationReviewInternal = () => {
17454
17817
  canEditPayoutInfo: true,
17455
17818
  status: "ACTIVE",
17456
17819
  documentType: "W8BEN",
17457
- documentTypeString: data.taxTypeToName("W8BEN"),
17820
+ documentTypeString: subregions.taxTypeToName("W8BEN"),
17458
17821
  dateSubmitted: "Jan 18th, 2025",
17459
17822
  noFormNeeded: false,
17460
17823
  notRegistered: true,
@@ -17472,7 +17835,7 @@ const TaxAndCashDashboardIdentityVerifcationFailedInternal = () => {
17472
17835
  canEditPayoutInfo: true,
17473
17836
  status: "ACTIVE",
17474
17837
  documentType: "W8BEN",
17475
- documentTypeString: data.taxTypeToName("W8BEN"),
17838
+ documentTypeString: subregions.taxTypeToName("W8BEN"),
17476
17839
  dateSubmitted: "Jan 18th, 2025",
17477
17840
  noFormNeeded: false,
17478
17841
  notRegistered: true,
@@ -17490,7 +17853,7 @@ const TaxAndCashDashboardW9ThresholdReached = () => {
17490
17853
  canEditPayoutInfo: true,
17491
17854
  status: null,
17492
17855
  documentType: "W9",
17493
- documentTypeString: data.taxTypeToName("W9"),
17856
+ documentTypeString: subregions.taxTypeToName("W9"),
17494
17857
  dateSubmitted: "Jan 18th, 2025",
17495
17858
  noFormNeeded: false,
17496
17859
  notRegistered: false,
@@ -17509,7 +17872,7 @@ const TaxAndCashDashboardNewTaxForm = () => {
17509
17872
  canEditPayoutInfo: true,
17510
17873
  status: "ACTIVE",
17511
17874
  documentType: "W8BEN",
17512
- documentTypeString: data.taxTypeToName("W8BEN"),
17875
+ documentTypeString: subregions.taxTypeToName("W8BEN"),
17513
17876
  dateSubmitted: "Jan 18th, 2025",
17514
17877
  noFormNeeded: false,
17515
17878
  notRegistered: true,
@@ -17528,7 +17891,7 @@ const TaxAndCashDashboardPayoutsOnHold = () => {
17528
17891
  disabled: true,
17529
17892
  status: "ACTIVE",
17530
17893
  documentType: "W8BEN",
17531
- documentTypeString: data.taxTypeToName("W8BEN"),
17894
+ documentTypeString: subregions.taxTypeToName("W8BEN"),
17532
17895
  dateSubmitted: "Jan 18th, 2025",
17533
17896
  noFormNeeded: false,
17534
17897
  indirectTaxNumber: "123456",
@@ -17548,7 +17911,7 @@ const TaxAndCashDashboardNoTaxFormRequiredAndBeneficiaryNameInvalid = () => {
17548
17911
  disabled: true,
17549
17912
  status: "ACTIVE",
17550
17913
  documentType: undefined,
17551
- documentTypeString: data.taxTypeToName("W9"),
17914
+ documentTypeString: subregions.taxTypeToName("W9"),
17552
17915
  dateSubmitted: "Jan 18th, 2025",
17553
17916
  noFormNeeded: true,
17554
17917
  indirectTaxNumber: "123456",
@@ -17568,7 +17931,7 @@ const TaxAndCashDashboardNoTaxFormRequiredAndBeneficiaryNameInvalidUS = () => {
17568
17931
  disabled: true,
17569
17932
  status: "ACTIVE",
17570
17933
  documentType: undefined,
17571
- documentTypeString: data.taxTypeToName("W9"),
17934
+ documentTypeString: subregions.taxTypeToName("W9"),
17572
17935
  dateSubmitted: "Jan 18th, 2025",
17573
17936
  noFormNeeded: true,
17574
17937
  indirectTaxNumber: "123456",
@@ -17629,7 +17992,7 @@ const TaxAndCashDashboardFallbackDocumentTypeW9 = () => {
17629
17992
  disabled: false,
17630
17993
  status: "ACTIVE",
17631
17994
  documentType: "W9",
17632
- documentTypeString: data.taxTypeToName("W9"),
17995
+ documentTypeString: subregions.taxTypeToName("W9"),
17633
17996
  dateSubmitted: "Mar 15, 2025",
17634
17997
  noFormNeeded: false,
17635
17998
  indirectTaxNumber: "123456",
@@ -17650,7 +18013,7 @@ const TaxAndCashDashboardFallbackDocumentTypeW8BEN = () => {
17650
18013
  disabled: false,
17651
18014
  status: "ACTIVE",
17652
18015
  documentType: "W8BEN",
17653
- documentTypeString: data.taxTypeToName("W8BEN"),
18016
+ documentTypeString: subregions.taxTypeToName("W8BEN"),
17654
18017
  dateSubmitted: "Feb 20, 2025",
17655
18018
  noFormNeeded: false,
17656
18019
  indirectTaxNumber: "654321",
@@ -17692,7 +18055,7 @@ const TaxAndCashDashboardLoading = () => {
17692
18055
  disabled: false,
17693
18056
  status: "ACTIVE",
17694
18057
  documentType: "W9",
17695
- documentTypeString: data.taxTypeToName("W9"),
18058
+ documentTypeString: subregions.taxTypeToName("W9"),
17696
18059
  dateSubmitted: "Jan 18th, 2025",
17697
18060
  noFormNeeded: false,
17698
18061
  loading: true,
@@ -17711,7 +18074,7 @@ const TaxAndCashDashboardWithLoadingError = () => {
17711
18074
  canEditPayoutInfo: true,
17712
18075
  status: "ACTIVE",
17713
18076
  documentType: "W9",
17714
- documentTypeString: data.taxTypeToName("W9"),
18077
+ documentTypeString: subregions.taxTypeToName("W9"),
17715
18078
  dateSubmitted: "Jan 18th, 2025",
17716
18079
  noFormNeeded: false,
17717
18080
  loading: true,
@@ -17731,7 +18094,7 @@ const TaxAndCashDashboardWithGeneralError = () => {
17731
18094
  disabled: false,
17732
18095
  status: "ACTIVE",
17733
18096
  documentType: "W9",
17734
- documentTypeString: data.taxTypeToName("W9"),
18097
+ documentTypeString: subregions.taxTypeToName("W9"),
17735
18098
  dateSubmitted: "Jan 18th, 2025",
17736
18099
  noFormNeeded: false,
17737
18100
  indirectTaxNumber: "123456",
@@ -17755,7 +18118,7 @@ const TaxAndCashDashboardDisabled = () => {
17755
18118
  disabled: true,
17756
18119
  status: "ACTIVE",
17757
18120
  documentType: "W8BEN",
17758
- documentTypeString: data.taxTypeToName("W8BEN"),
18121
+ documentTypeString: subregions.taxTypeToName("W8BEN"),
17759
18122
  dateSubmitted: "Jan 18th, 2025",
17760
18123
  noFormNeeded: false,
17761
18124
  indirectTaxNumber: "123456",
@@ -17856,7 +18219,7 @@ const TaxForm = /*#__PURE__*/Object.freeze({
17856
18219
  const PayoutDetailsCard_stories = {
17857
18220
  title: "Components/Payout Details Card",
17858
18221
  };
17859
- const Loading$c = () => {
18222
+ const Loading$d = () => {
17860
18223
  return (index.h("sqm-payout-details-card", { demoData: {
17861
18224
  states: {
17862
18225
  loading: true,
@@ -17892,15 +18255,22 @@ const PaypalPayout = () => {
17892
18255
  },
17893
18256
  } }));
17894
18257
  };
18258
+ const BadgeTextICUParsing = () => {
18259
+ return (index.h("div", { style: { display: "flex", flexDirection: "column", gap: "16px" } },
18260
+ index.h("sqm-payout-details-card", { "status-badge-text": "{badgeText, select, payoutToday {Payout Today} nextPayout {Next Payout} other {Failed} }", demoData: { states: { badgeStatus: "nextPayout" } } }),
18261
+ index.h("sqm-payout-details-card", { "status-badge-text": "{badgeText, select, payoutToday {Payout Today} nextPayout {Next Payout} other {Failed} }", demoData: { states: { badgeStatus: "payoutToday" } } }),
18262
+ index.h("sqm-payout-details-card", { "status-badge-text": "{badgeText, select, payoutToday {Payout Today} nextPayout {Next Payout} other {Failed} }", demoData: { states: { badgeStatus: "error" } } })));
18263
+ };
17895
18264
 
17896
18265
  const PayoutDetailsCard = /*#__PURE__*/Object.freeze({
17897
18266
  __proto__: null,
17898
18267
  'default': PayoutDetailsCard_stories,
17899
- Loading: Loading$c,
18268
+ Loading: Loading$d,
17900
18269
  NextPayout: NextPayout,
17901
18270
  PayoutToday: PayoutToday,
17902
18271
  ThresholdPayout: ThresholdPayout,
17903
- PaypalPayout: PaypalPayout
18272
+ PaypalPayout: PaypalPayout,
18273
+ BadgeTextICUParsing: BadgeTextICUParsing
17904
18274
  });
17905
18275
 
17906
18276
  const PayoutStatusAlert_stories = {
@@ -17930,21 +18300,21 @@ const W9ThresholdReached = () => (index.h("sqm-payout-status-alert", { demoData:
17930
18300
  },
17931
18301
  } }));
17932
18302
  const Hold = () => (index.h("sqm-payout-status-alert", { demoData: { states: { ...defaultProps$s, status: "HOLD" } } }));
17933
- const Loading$d = () => (index.h("sqm-payout-status-alert", { demoData: { states: { ...defaultProps$s, loading: true } } }));
18303
+ const Loading$e = () => (index.h("sqm-payout-status-alert", { demoData: { states: { ...defaultProps$s, loading: true } } }));
17934
18304
  const Error$b = () => (index.h("sqm-payout-status-alert", { demoData: { states: { ...defaultProps$s, error: true } } }));
17935
18305
  const NewPayeeReview = () => (index.h("sqm-payout-status-alert", { demoData: { states: { ...defaultProps$s, status: "NEW_PAYEE_REVIEW" } } }));
17936
- const PaymentHoldOnChange = () => (index.h("sqm-payout-status-alert", { demoData: { states: { ...defaultProps$s, status: "PAYMENT_HOLD_ON_CHANGE" } } }));
17937
- const BeneficiaryNameInvalid = () => (index.h("sqm-payout-status-alert", { demoData: {
18306
+ const PaymentHoldOnChange$1 = () => (index.h("sqm-payout-status-alert", { demoData: { states: { ...defaultProps$s, status: "PAYMENT_HOLD_ON_CHANGE" } } }));
18307
+ const BeneficiaryNameInvalid$1 = () => (index.h("sqm-payout-status-alert", { demoData: {
17938
18308
  states: { ...defaultProps$s, status: "BENEFICIARY_NAME_INVALID" },
17939
18309
  } }));
17940
- const BeneficiaryNameMismatch = () => (index.h("sqm-payout-status-alert", { demoData: {
18310
+ const BeneficiaryNameMismatch$1 = () => (index.h("sqm-payout-status-alert", { demoData: {
17941
18311
  states: { ...defaultProps$s, status: "BENEFICIARY_NAME_MISMATCH" },
17942
18312
  } }));
17943
- const BankTaxNameMismatch = () => (index.h("sqm-payout-status-alert", { demoData: { states: { ...defaultProps$s, status: "BANK_TAX_NAME_MISMATCH" } } }));
17944
- const WithdrawalSettingsInvalid = () => (index.h("sqm-payout-status-alert", { demoData: {
18313
+ const BankTaxNameMismatch$1 = () => (index.h("sqm-payout-status-alert", { demoData: { states: { ...defaultProps$s, status: "BANK_TAX_NAME_MISMATCH" } } }));
18314
+ const WithdrawalSettingsInvalid$1 = () => (index.h("sqm-payout-status-alert", { demoData: {
17945
18315
  states: { ...defaultProps$s, status: "WITHDRAWAL_SETTINGS_INVALID" },
17946
18316
  } }));
17947
- const PaymentReturned = () => (index.h("sqm-payout-status-alert", { demoData: { states: { ...defaultProps$s, status: "PAYMENT_RETURNED" } } }));
18317
+ const PaymentReturned$1 = () => (index.h("sqm-payout-status-alert", { demoData: { states: { ...defaultProps$s, status: "PAYMENT_RETURNED" } } }));
17948
18318
 
17949
18319
  const PayoutStatusAlert = /*#__PURE__*/Object.freeze({
17950
18320
  __proto__: null,
@@ -17956,15 +18326,15 @@ const PayoutStatusAlert = /*#__PURE__*/Object.freeze({
17956
18326
  VerifyIdentityFailedInternal: VerifyIdentityFailedInternal,
17957
18327
  W9ThresholdReached: W9ThresholdReached,
17958
18328
  Hold: Hold,
17959
- Loading: Loading$d,
18329
+ Loading: Loading$e,
17960
18330
  Error: Error$b,
17961
18331
  NewPayeeReview: NewPayeeReview,
17962
- PaymentHoldOnChange: PaymentHoldOnChange,
17963
- BeneficiaryNameInvalid: BeneficiaryNameInvalid,
17964
- BeneficiaryNameMismatch: BeneficiaryNameMismatch,
17965
- BankTaxNameMismatch: BankTaxNameMismatch,
17966
- WithdrawalSettingsInvalid: WithdrawalSettingsInvalid,
17967
- PaymentReturned: PaymentReturned
18332
+ PaymentHoldOnChange: PaymentHoldOnChange$1,
18333
+ BeneficiaryNameInvalid: BeneficiaryNameInvalid$1,
18334
+ BeneficiaryNameMismatch: BeneficiaryNameMismatch$1,
18335
+ BankTaxNameMismatch: BankTaxNameMismatch$1,
18336
+ WithdrawalSettingsInvalid: WithdrawalSettingsInvalid$1,
18337
+ PaymentReturned: PaymentReturned$1
17968
18338
  });
17969
18339
 
17970
18340
  // ! IMPORTANT: These objects cannot be used as default values for component props
@@ -18148,7 +18518,7 @@ const BackgroundColor$2 = () => (index.h(emailRegistrationView.EmailRegistration
18148
18518
  backgroundColor: "aquamarine",
18149
18519
  },
18150
18520
  })));
18151
- const Loading$e = () => (index.h(emailRegistrationView.EmailRegistrationView, Object.assign({}, {
18521
+ const Loading$f = () => (index.h(emailRegistrationView.EmailRegistrationView, Object.assign({}, {
18152
18522
  ...defaultProps$t,
18153
18523
  states: {
18154
18524
  error: "",
@@ -18188,7 +18558,7 @@ const EmailRegistration = /*#__PURE__*/Object.freeze({
18188
18558
  WithSlots: WithSlots,
18189
18559
  NoBorder: NoBorder$1,
18190
18560
  BackgroundColor: BackgroundColor$2,
18191
- Loading: Loading$e,
18561
+ Loading: Loading$f,
18192
18562
  Error: Error$c,
18193
18563
  FraudError: FraudError,
18194
18564
  EmptyEmailError: EmptyEmailError
@@ -18328,7 +18698,7 @@ const WithError$1 = () => (index.h(sqmLeadInputFieldView.LeadInputFieldView, Obj
18328
18698
  },
18329
18699
  },
18330
18700
  } })));
18331
- const Disabled$2 = () => (index.h(sqmLeadInputFieldView.LeadInputFieldView, Object.assign({}, defaultProps$v, { states: {
18701
+ const Disabled$3 = () => (index.h(sqmLeadInputFieldView.LeadInputFieldView, Object.assign({}, defaultProps$v, { states: {
18332
18702
  ...defaultProps$v.states,
18333
18703
  leadFormState: {
18334
18704
  ...defaultProps$v.states.leadFormState,
@@ -18350,7 +18720,7 @@ const LeadInputField = /*#__PURE__*/Object.freeze({
18350
18720
  'default': LeadInputField_stories,
18351
18721
  Default: Default$s,
18352
18722
  WithError: WithError$1,
18353
- Disabled: Disabled$2,
18723
+ Disabled: Disabled$3,
18354
18724
  WithInitialValue: WithInitialValue
18355
18725
  });
18356
18726
 
@@ -18391,14 +18761,14 @@ const WithError$2 = () => (index.h(ShadowViewAddon.LeadDropdownFieldView, Object
18391
18761
  },
18392
18762
  },
18393
18763
  } })));
18394
- const Disabled$3 = () => (index.h(ShadowViewAddon.LeadDropdownFieldView, Object.assign({}, defaultProps$w, { states: {
18764
+ const Disabled$4 = () => (index.h(ShadowViewAddon.LeadDropdownFieldView, Object.assign({}, defaultProps$w, { states: {
18395
18765
  ...defaultProps$w.states,
18396
18766
  leadFormState: {
18397
18767
  ...defaultProps$w.states.leadFormState,
18398
18768
  disabled: true,
18399
18769
  },
18400
18770
  } })));
18401
- const Loading$f = () => (index.h(ShadowViewAddon.LeadDropdownFieldView, Object.assign({}, defaultProps$w, { states: {
18771
+ const Loading$g = () => (index.h(ShadowViewAddon.LeadDropdownFieldView, Object.assign({}, defaultProps$w, { states: {
18402
18772
  ...defaultProps$w.states,
18403
18773
  leadFormState: {
18404
18774
  ...defaultProps$w.states.leadFormState,
@@ -18421,8 +18791,8 @@ const LeadFormDropdownField = /*#__PURE__*/Object.freeze({
18421
18791
  Default: Default$t,
18422
18792
  Multiple: Multiple,
18423
18793
  WithError: WithError$2,
18424
- Disabled: Disabled$3,
18425
- Loading: Loading$f,
18794
+ Disabled: Disabled$4,
18795
+ Loading: Loading$g,
18426
18796
  WithInitialValue: WithInitialValue$1
18427
18797
  });
18428
18798
 
@@ -18558,7 +18928,7 @@ const mockPartnerData = {
18558
18928
  balance: "0",
18559
18929
  },
18560
18930
  };
18561
- const defaultText = {
18931
+ const defaultText$1 = {
18562
18932
  formStep: "Step {step} of {count}",
18563
18933
  firstName: "First Name",
18564
18934
  lastName: "Last Name",
@@ -18572,7 +18942,6 @@ const defaultText = {
18572
18942
  region: "Region",
18573
18943
  postalCode: "Postal Code",
18574
18944
  currency: "Currency",
18575
- currencyHelpText: "Select your preferred currency for payouts",
18576
18945
  allowBankingCollection: "I agree to the {termsAndConditionsLink}",
18577
18946
  personalInformation: "Personal Information",
18578
18947
  continueButton: "Continue",
@@ -18638,7 +19007,7 @@ const baseProps = {
18638
19007
  onSubmit: (props) => console.log("onSubmit", props),
18639
19008
  onFormChange: (field, e) => console.log("onFormChange", field, e),
18640
19009
  },
18641
- text: defaultText,
19010
+ text: defaultText$1,
18642
19011
  refs: {
18643
19012
  formRef: { current: null },
18644
19013
  currencyRef: { current: null },
@@ -18667,13 +19036,13 @@ const WithPrefilledData = () => {
18667
19036
  },
18668
19037
  } })));
18669
19038
  };
18670
- const Loading$g = () => {
19039
+ const Loading$h = () => {
18671
19040
  return (index.h(sqmUserInfoFormView.UserInfoFormView, Object.assign({}, baseProps, { states: {
18672
19041
  ...baseProps.states,
18673
19042
  loading: true,
18674
19043
  } })));
18675
19044
  };
18676
- const LoadingError = () => {
19045
+ const LoadingError$1 = () => {
18677
19046
  return (index.h(sqmUserInfoFormView.UserInfoFormView, Object.assign({}, baseProps, { states: {
18678
19047
  ...baseProps.states,
18679
19048
  loadingError: true,
@@ -18831,8 +19200,8 @@ const UserInfoFormView = /*#__PURE__*/Object.freeze({
18831
19200
  'default': UserInfoFormView_stories,
18832
19201
  Default: Default$w,
18833
19202
  WithPrefilledData: WithPrefilledData,
18834
- Loading: Loading$g,
18835
- LoadingError: LoadingError,
19203
+ Loading: Loading$h,
19204
+ LoadingError: LoadingError$1,
18836
19205
  WithValidationErrors: WithValidationErrors,
18837
19206
  WithGeneralError: WithGeneralError,
18838
19207
  PartnerAccount: PartnerAccount,
@@ -18844,6 +19213,217 @@ const UserInfoFormView = /*#__PURE__*/Object.freeze({
18844
19213
  DisabledForm: DisabledForm
18845
19214
  });
18846
19215
 
19216
+ const PartnerInfoModal_stories = {
19217
+ title: "Components/Partner Info Modal",
19218
+ };
19219
+ const demoCountries = [
19220
+ { countryCode: "US", displayName: "United States" },
19221
+ { countryCode: "CA", displayName: "Canada" },
19222
+ { countryCode: "GB", displayName: "United Kingdom" },
19223
+ { countryCode: "AU", displayName: "Australia" },
19224
+ { countryCode: "DE", displayName: "Germany" },
19225
+ { countryCode: "FR", displayName: "France" },
19226
+ { countryCode: "JP", displayName: "Japan" },
19227
+ ];
19228
+ const demoCurrencies = [
19229
+ { currencyCode: "USD", displayName: "US Dollar" },
19230
+ { currencyCode: "CAD", displayName: "Canadian Dollar" },
19231
+ { currencyCode: "GBP", displayName: "British Pound" },
19232
+ { currencyCode: "EUR", displayName: "Euro" },
19233
+ { currencyCode: "AUD", displayName: "Australian Dollar" },
19234
+ ];
19235
+ const noopCallbacks = {
19236
+ onCountryChange: (e) => console.log("Country changed:", e),
19237
+ onCurrencyChange: (e) => console.log("Currency changed:", e),
19238
+ onCheckboxChange: (e) => console.log("Checkbox changed:", e),
19239
+ setCountrySearch: (v) => console.log("Country search:", v),
19240
+ setCurrencySearch: (v) => console.log("Currency search:", v),
19241
+ onSubmit: () => console.log("Submit"),
19242
+ onClose: () => console.log("Close"),
19243
+ };
19244
+ const defaultText$2 = {
19245
+ modalHeader: "Let's get you ready for rewards",
19246
+ modalHeaderExistingPartner: "We found an existing account",
19247
+ descriptionNewPartner: "Confirm your country and currency now to get your future rewards faster.",
19248
+ descriptionExistingPartner: "We noticed you are already an Impact.com partner, please confirm your information.",
19249
+ supportDescriptionExistingPartner: "If this is a mistake, please contact Support or sign up for this referral program with a different email.",
19250
+ supportLink: "Support",
19251
+ countryLabel: "Country",
19252
+ currencyLabel: "Currency",
19253
+ submitButtonLabel: "Submit",
19254
+ confirmButtonLabel: "Confirm",
19255
+ searchCountryPlaceholder: "Search for a country",
19256
+ searchCurrencyPlaceholder: "Search for a currency",
19257
+ bankingCollectionText: "",
19258
+ allowBankingCollection: "I have read the {termsAndConditionsLink} and allow impact.com to collect my tax and banking information",
19259
+ termsAndConditionsLabel: "terms and conditions",
19260
+ termsAndConditionsLink: "https://terms.advocate.impact.com/PayoutTermsAndConditions.html",
19261
+ };
19262
+ const defaultProps$y = {
19263
+ states: {
19264
+ open: true,
19265
+ loading: false,
19266
+ submitting: false,
19267
+ isExistingPartner: false,
19268
+ countryCode: null,
19269
+ currency: null,
19270
+ error: "",
19271
+ success: false,
19272
+ filteredCountries: demoCountries,
19273
+ filteredCurrencies: demoCurrencies,
19274
+ allowBankingCollection: false,
19275
+ disabled: false,
19276
+ },
19277
+ callbacks: noopCallbacks,
19278
+ text: defaultText$2,
19279
+ };
19280
+ const NewPartnerEmpty = () => {
19281
+ return index.h(sqmPartnerInfoModalView.PartnerInfoModalView, Object.assign({}, defaultProps$y));
19282
+ };
19283
+ const NewPartnerPrefilled = () => {
19284
+ const props = {
19285
+ ...defaultProps$y,
19286
+ states: {
19287
+ ...defaultProps$y.states,
19288
+ countryCode: "US",
19289
+ currency: "",
19290
+ },
19291
+ };
19292
+ return index.h(sqmPartnerInfoModalView.PartnerInfoModalView, Object.assign({}, props));
19293
+ };
19294
+ const NewPartnerFullySelected = () => {
19295
+ const props = {
19296
+ ...defaultProps$y,
19297
+ states: {
19298
+ ...defaultProps$y.states,
19299
+ countryCode: "US",
19300
+ currency: "USD",
19301
+ },
19302
+ };
19303
+ return index.h(sqmPartnerInfoModalView.PartnerInfoModalView, Object.assign({}, props));
19304
+ };
19305
+ const ExistingPartnerConfirm = () => {
19306
+ const props = {
19307
+ ...defaultProps$y,
19308
+ states: {
19309
+ ...defaultProps$y.states,
19310
+ isExistingPartner: true,
19311
+ countryCode: "CA",
19312
+ currency: "CAD",
19313
+ },
19314
+ };
19315
+ return index.h(sqmPartnerInfoModalView.PartnerInfoModalView, Object.assign({}, props));
19316
+ };
19317
+ const ExistingPartnerEmpty = () => {
19318
+ const props = {
19319
+ ...defaultProps$y,
19320
+ states: {
19321
+ ...defaultProps$y.states,
19322
+ isExistingPartner: true,
19323
+ countryCode: "",
19324
+ currency: "",
19325
+ },
19326
+ };
19327
+ return index.h(sqmPartnerInfoModalView.PartnerInfoModalView, Object.assign({}, props));
19328
+ };
19329
+ const Submitting = () => {
19330
+ const props = {
19331
+ ...defaultProps$y,
19332
+ states: {
19333
+ ...defaultProps$y.states,
19334
+ countryCode: "GB",
19335
+ currency: "GBP",
19336
+ submitting: true,
19337
+ },
19338
+ };
19339
+ return index.h(sqmPartnerInfoModalView.PartnerInfoModalView, Object.assign({}, props));
19340
+ };
19341
+ const WithError$3 = () => {
19342
+ const props = {
19343
+ ...defaultProps$y,
19344
+ states: {
19345
+ ...defaultProps$y.states,
19346
+ countryCode: "US",
19347
+ currency: "USD",
19348
+ error: "An error occurred while creating your partner account. Please try again.",
19349
+ },
19350
+ };
19351
+ return index.h(sqmPartnerInfoModalView.PartnerInfoModalView, Object.assign({}, props));
19352
+ };
19353
+ const ValidationError$1 = () => {
19354
+ const props = {
19355
+ ...defaultProps$y,
19356
+ states: {
19357
+ ...defaultProps$y.states,
19358
+ countryCode: "",
19359
+ currency: "",
19360
+ error: "Please select both a country and currency.",
19361
+ },
19362
+ };
19363
+ return index.h(sqmPartnerInfoModalView.PartnerInfoModalView, Object.assign({}, props));
19364
+ };
19365
+ const Closed = () => {
19366
+ const props = {
19367
+ ...defaultProps$y,
19368
+ states: {
19369
+ ...defaultProps$y.states,
19370
+ open: false,
19371
+ },
19372
+ };
19373
+ return index.h(sqmPartnerInfoModalView.PartnerInfoModalView, Object.assign({}, props));
19374
+ };
19375
+ const SQMComponentExistingPartner = () => {
19376
+ return (index.h("sqm-partner-info-modal", { "support-link": "Support", "support-description-existing-partner": "If this is a mistake, please contact {supportLink} or sign up for this referral program with a different email.", "allow-banking-collection": "I have read the {termsAndConditionsLink} and allow impact.com to collect my tax and banking information", "terms-and-conditions-label": "terms and conditions", "terms-and-conditions-link": "https://terms.advocate.impact.com/PayoutTermsAndConditions.html", demoData: {
19377
+ states: { open: true, isExistingPartner: true },
19378
+ } }));
19379
+ };
19380
+ const SQMComponentNewPartner = () => {
19381
+ return (index.h("sqm-partner-info-modal", { demoData: {
19382
+ states: { open: true, isExistingPartner: false },
19383
+ } }));
19384
+ };
19385
+
19386
+ const PartnerInfoModal = /*#__PURE__*/Object.freeze({
19387
+ __proto__: null,
19388
+ 'default': PartnerInfoModal_stories,
19389
+ NewPartnerEmpty: NewPartnerEmpty,
19390
+ NewPartnerPrefilled: NewPartnerPrefilled,
19391
+ NewPartnerFullySelected: NewPartnerFullySelected,
19392
+ ExistingPartnerConfirm: ExistingPartnerConfirm,
19393
+ ExistingPartnerEmpty: ExistingPartnerEmpty,
19394
+ Submitting: Submitting,
19395
+ WithError: WithError$3,
19396
+ ValidationError: ValidationError$1,
19397
+ Closed: Closed,
19398
+ SQMComponentExistingPartner: SQMComponentExistingPartner,
19399
+ SQMComponentNewPartner: SQMComponentNewPartner
19400
+ });
19401
+
19402
+ const WidgetVerification_stories = {
19403
+ title: "Components/Widget Verification",
19404
+ };
19405
+ const Step1Email = () => (index.h("sqm-widget-verification", { stateController: JSON.stringify({
19406
+ "sqm-widget-verification": { showCode: false },
19407
+ }) }));
19408
+ const Step2Code = () => (index.h("sqm-widget-verification", { stateController: JSON.stringify({
19409
+ "sqm-widget-verification": { showCode: true },
19410
+ }) }));
19411
+ const Step3PartnerModal = () => (index.h("sqm-widget-verification", { stateController: JSON.stringify({
19412
+ "sqm-widget-verification": { showPartnerModal: true },
19413
+ }) }));
19414
+ const Loading$i = () => (index.h("sqm-widget-verification", { stateController: JSON.stringify({
19415
+ "sqm-widget-verification": { loading: true },
19416
+ }) }));
19417
+
19418
+ const WidgetVerification = /*#__PURE__*/Object.freeze({
19419
+ __proto__: null,
19420
+ 'default': WidgetVerification_stories,
19421
+ Step1Email: Step1Email,
19422
+ Step2Code: Step2Code,
19423
+ Step3PartnerModal: Step3PartnerModal,
19424
+ Loading: Loading$i
19425
+ });
19426
+
18847
19427
  const scenario$G = "@owner:zach @author:zach\nFeature: User Attribute\n Displays a user's custom field value.\n\n Background: A user exists\n Given a user is logged in\n And the user has custom fields\n\n @motivating\n Scenario: A custom field value is displayed\n Given the component has prop \"value\" with value \"firstName\"\n And the user has a custom field \"firstName\" with value \"John\"\n When the component is rendered\n Then the text \"John\" is displayed\n\n @landmine\n Scenario: Nothing is rendered when the custom field does not exist\n Given the component has prop \"value\" with value \"nonExistentField\"\n And the user does not have a custom field \"nonExistentField\"\n Then component is not rendered\n And nothing is displayed\n\n @motivating\n Scenario: Nothing is rendered while user data is loading\n Given the component is loading user data\n When the component is rendered\n Then component is not rendered\n And nothing is displayed\n\n @motivating\n Scenario Outline: Optional styling props can be applied to customize the text appearance\n Given the component has prop <prop> with value <value>\n When the component is rendered\n Then the text is displayed with <cssProperty> set to <value>\n\n Examples:\n | prop | value | cssProperty |\n | fontSize | 24 | font-size |\n | color | #E91E63 | color |\n | fontWeight | 700 | font-weight |\n\n @minutia\n Scenario: Style props are optional and default to no custom styling\n Given the component has no style props set\n When the component is rendered\n Then the text is displayed with default browser styles\n";
18848
19428
 
18849
19429
  const UserAttribute_stories = {
@@ -18872,7 +19452,7 @@ const InvalidValue = () => {
18872
19452
  } }),
18873
19453
  index.h("div", { style: { background: "#e0e0e0", padding: "8px" } }, "Below")));
18874
19454
  };
18875
- const Loading$h = () => {
19455
+ const Loading$j = () => {
18876
19456
  return (index.h("sqm-user-attribute", { demoData: {
18877
19457
  loading: true,
18878
19458
  value: "impact.com",
@@ -18893,7 +19473,7 @@ const UserAttribute = /*#__PURE__*/Object.freeze({
18893
19473
  'default': UserAttribute_stories,
18894
19474
  Default: Default$x,
18895
19475
  InvalidValue: InvalidValue,
18896
- Loading: Loading$h,
19476
+ Loading: Loading$j,
18897
19477
  WithCustomStyles: WithCustomStyles
18898
19478
  });
18899
19479
 
@@ -21590,6 +22170,9 @@ const stories = [
21590
22170
  TaxAndCashRewardsTable,
21591
22171
  TaxAndCashReferralTableRewardsCell,
21592
22172
  TaxAndCashReferralTable$1,
22173
+ TaxAndCashDashboardView,
22174
+ PartnerInfoModal,
22175
+ WidgetVerification,
21593
22176
  UserAttribute,
21594
22177
  ];
21595
22178
  const StencilStorybook = class {