@bigbinary/neeto-payments-frontend 6.1.26 → 6.1.28

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 (170) hide show
  1. package/app/javascript/src/translations/en.json +15 -4
  2. package/dist/AccountsDashboard.js +7 -7
  3. package/dist/AccountsDashboard.js.map +1 -1
  4. package/dist/AdminCancelRecurringPaymentButton.js +1 -1
  5. package/dist/AdminCancelRecurringPaymentButton.js.map +1 -1
  6. package/dist/CashPaymentButton.js +2 -2
  7. package/dist/CashPaymentButton.js.map +1 -1
  8. package/dist/ConfirmCashPaymentButton.js +2 -2
  9. package/dist/ConfirmCashPaymentButton.js.map +1 -1
  10. package/dist/{CopyButtonWrapper-Bp5IVO76.js → CopyButtonWrapper-DkI2F6Ty.js} +2 -2
  11. package/dist/CopyButtonWrapper-DkI2F6Ty.js.map +1 -0
  12. package/dist/CustomerCancelRecurringPaymentForm.js +2 -2
  13. package/dist/CustomerCancelRecurringPaymentForm.js.map +1 -1
  14. package/dist/{ExportModal-KInsxpSb.js → ExportModal-ubjATdMC.js} +2 -2
  15. package/dist/{ExportModal-KInsxpSb.js.map → ExportModal-ubjATdMC.js.map} +1 -1
  16. package/dist/ManualUpiConnect.js +3 -3
  17. package/dist/ManualUpiConnect.js.map +1 -1
  18. package/dist/ManualUpiPayment.js +128 -22
  19. package/dist/ManualUpiPayment.js.map +1 -1
  20. package/dist/ManualUpiPaymentConfirmButton.js +3 -3
  21. package/dist/ManualUpiPaymentConfirmButton.js.map +1 -1
  22. package/dist/ManualUpiPaymentRejectButton.js +3 -3
  23. package/dist/ManualUpiPaymentRejectButton.js.map +1 -1
  24. package/dist/PaymentKindRestrictionAlert.js.map +1 -1
  25. package/dist/PaymentsDashboard.js +24 -13
  26. package/dist/PaymentsDashboard.js.map +1 -1
  27. package/dist/PayoutsDashboard.js +7 -7
  28. package/dist/PayoutsDashboard.js.map +1 -1
  29. package/dist/PayoutsPage.js +5 -5
  30. package/dist/PayoutsPage.js.map +1 -1
  31. package/dist/RazorpayConnect.js +4 -4
  32. package/dist/RazorpayConnect.js.map +1 -1
  33. package/dist/RazorpayLinkedAccountForm.js +3 -3
  34. package/dist/RazorpayLinkedAccountForm.js.map +1 -1
  35. package/dist/RazorpayPaymentButton.js +2 -2
  36. package/dist/RazorpayPaymentButton.js.map +1 -1
  37. package/dist/RecurringPaymentSettings.js +3 -3
  38. package/dist/RecurringPaymentSettings.js.map +1 -1
  39. package/dist/RefundsDashboard.js +8 -10
  40. package/dist/RefundsDashboard.js.map +1 -1
  41. package/dist/SplitTransfersDashboard.js +11 -11
  42. package/dist/SplitTransfersDashboard.js.map +1 -1
  43. package/dist/StripeCheckoutSetting.js +2 -2
  44. package/dist/StripeCheckoutSetting.js.map +1 -1
  45. package/dist/StripeConnect.js +6 -6
  46. package/dist/StripeConnect.js.map +1 -1
  47. package/dist/StripeManage.js +3 -3
  48. package/dist/TaxesDashboard.js +2 -2
  49. package/dist/TaxesDashboard.js.map +1 -1
  50. package/dist/buildStripeTransactionLink.js +1 -1
  51. package/dist/cjs/AccountsDashboard.js +4 -4
  52. package/dist/cjs/AccountsDashboard.js.map +1 -1
  53. package/dist/cjs/AdminCancelRecurringPaymentButton.js.map +1 -1
  54. package/dist/cjs/CashPaymentButton.js.map +1 -1
  55. package/dist/cjs/ConfirmCashPaymentButton.js.map +1 -1
  56. package/dist/cjs/{CopyButtonWrapper-I-kdKiiB.js → CopyButtonWrapper-DZ9rE5UR.js} +2 -2
  57. package/dist/cjs/CopyButtonWrapper-DZ9rE5UR.js.map +1 -0
  58. package/dist/cjs/CustomerCancelRecurringPaymentForm.js +1 -1
  59. package/dist/cjs/CustomerCancelRecurringPaymentForm.js.map +1 -1
  60. package/dist/cjs/ExportModal-BFe0tF5L.js.map +1 -1
  61. package/dist/cjs/ManualUpiConnect.js +1 -1
  62. package/dist/cjs/ManualUpiConnect.js.map +1 -1
  63. package/dist/cjs/ManualUpiPayment.js +125 -19
  64. package/dist/cjs/ManualUpiPayment.js.map +1 -1
  65. package/dist/cjs/ManualUpiPaymentConfirmButton.js +2 -2
  66. package/dist/cjs/ManualUpiPaymentConfirmButton.js.map +1 -1
  67. package/dist/cjs/ManualUpiPaymentRejectButton.js +2 -2
  68. package/dist/cjs/ManualUpiPaymentRejectButton.js.map +1 -1
  69. package/dist/cjs/PaymentKindRestrictionAlert.js.map +1 -1
  70. package/dist/cjs/PaymentsDashboard.js +18 -7
  71. package/dist/cjs/PaymentsDashboard.js.map +1 -1
  72. package/dist/cjs/PayoutsDashboard.js +4 -4
  73. package/dist/cjs/PayoutsDashboard.js.map +1 -1
  74. package/dist/cjs/PayoutsPage.js +4 -4
  75. package/dist/cjs/PayoutsPage.js.map +1 -1
  76. package/dist/cjs/RazorpayConnect.js +2 -2
  77. package/dist/cjs/RazorpayConnect.js.map +1 -1
  78. package/dist/cjs/RazorpayLinkedAccountForm.js +1 -1
  79. package/dist/cjs/RazorpayLinkedAccountForm.js.map +1 -1
  80. package/dist/cjs/RazorpayPaymentButton.js +1 -1
  81. package/dist/cjs/RazorpayPaymentButton.js.map +1 -1
  82. package/dist/cjs/RecurringPaymentSettings.js +1 -1
  83. package/dist/cjs/RecurringPaymentSettings.js.map +1 -1
  84. package/dist/cjs/RefundsDashboard.js +3 -5
  85. package/dist/cjs/RefundsDashboard.js.map +1 -1
  86. package/dist/cjs/SplitTransfersDashboard.js +6 -6
  87. package/dist/cjs/SplitTransfersDashboard.js.map +1 -1
  88. package/dist/cjs/StripeCheckoutSetting.js +1 -1
  89. package/dist/cjs/StripeCheckoutSetting.js.map +1 -1
  90. package/dist/cjs/StripeConnect.js +3 -3
  91. package/dist/cjs/StripeConnect.js.map +1 -1
  92. package/dist/cjs/StripeManage.js +1 -1
  93. package/dist/cjs/TaxesDashboard.js +1 -1
  94. package/dist/cjs/TaxesDashboard.js.map +1 -1
  95. package/dist/cjs/dashboard-BWh6P9BB.js.map +1 -1
  96. package/dist/cjs/exportChannel-BL2RGGhP.js.map +1 -1
  97. package/dist/cjs/index-vUzevy4J.js.map +1 -1
  98. package/dist/cjs/index.js +9 -8
  99. package/dist/cjs/index.js.map +1 -1
  100. package/dist/cjs/{queryConstants-Dc6wh21D.js → queryConstants-CGUF7zol.js} +1 -12
  101. package/dist/cjs/{queryConstants-Dc6wh21D.js.map → queryConstants-CGUF7zol.js.map} +1 -1
  102. package/dist/cjs/{renderFunctions-9r2F0DaL.js → renderFunctions-B61EfbIp.js} +2 -2
  103. package/dist/cjs/{renderFunctions-9r2F0DaL.js.map → renderFunctions-B61EfbIp.js.map} +1 -1
  104. package/dist/cjs/{stripe.esm-CrNYjPcC.js → stripe.esm-DCCiiIbR.js} +2 -8
  105. package/dist/cjs/{stripe.esm-CrNYjPcC.js.map → stripe.esm-DCCiiIbR.js.map} +1 -1
  106. package/dist/cjs/{useAccountsApi-FFJUTaYQ.js → useAccountsApi-B1riDzpb.js} +2 -2
  107. package/dist/cjs/{useAccountsApi-FFJUTaYQ.js.map → useAccountsApi-B1riDzpb.js.map} +1 -1
  108. package/dist/cjs/useExportsApi-FDe0ucYU.js.map +1 -1
  109. package/dist/cjs/{useIntegrationsApi-D7HNuBW7.js → useIntegrationsApi-Cqu9MBJR.js} +2 -2
  110. package/dist/cjs/{useIntegrationsApi-D7HNuBW7.js.map → useIntegrationsApi-Cqu9MBJR.js.map} +1 -1
  111. package/dist/cjs/usePaymentApi-B-L0nxtr.js.map +1 -1
  112. package/dist/cjs/{usePaymentApi-fBUnau7x.js → usePaymentApi-BoLmrCje.js} +2 -2
  113. package/dist/cjs/{usePaymentApi-fBUnau7x.js.map → usePaymentApi-BoLmrCje.js.map} +1 -1
  114. package/dist/cjs/{usePaymentApi-Bbtzf9ST.js → usePaymentApi-CgsZjRBj.js} +1 -9
  115. package/dist/cjs/{usePaymentApi-Bbtzf9ST.js.map → usePaymentApi-CgsZjRBj.js.map} +1 -1
  116. package/dist/cjs/{usePlatformApi-BEa-Cs3V.js → usePlatformApi-D3yfxsMP.js} +2 -2
  117. package/dist/cjs/{usePlatformApi-BEa-Cs3V.js.map → usePlatformApi-D3yfxsMP.js.map} +1 -1
  118. package/dist/cjs/useRazorpayPayment.js +1 -1
  119. package/dist/cjs/useRazorpayPayment.js.map +1 -1
  120. package/dist/cjs/useStripePromise.js +1 -1
  121. package/dist/cjs/useStripePromise.js.map +1 -1
  122. package/dist/constants.js +1 -1
  123. package/dist/{dashboard-Cr6UEj9o.js → dashboard-CZOZ1Oxi.js} +3 -3
  124. package/dist/{dashboard-Cr6UEj9o.js.map → dashboard-CZOZ1Oxi.js.map} +1 -1
  125. package/dist/exportChannel-Db0U5gc1.js.map +1 -1
  126. package/dist/getAddressElementOptions.js +1 -1
  127. package/dist/getAmountInLargestCurrencyUnit.js +1 -1
  128. package/dist/getAmountInSmallestCurrencyUnit.js +1 -1
  129. package/dist/getAmountWithAppliedTax.js +1 -1
  130. package/dist/getFormattedAmount.js +1 -1
  131. package/dist/getFormattedDiscountedAmount.js +1 -1
  132. package/dist/getFormattedDiscountedPercentage.js +1 -1
  133. package/dist/getFormattedTaxAmount.js +1 -1
  134. package/dist/getFormattedTipAmount.js +1 -1
  135. package/dist/getQrCodeValue.js +1 -1
  136. package/dist/getTaxAmount.js +1 -1
  137. package/dist/getTipAmount.js +1 -1
  138. package/dist/hasAmountToPay.js +1 -1
  139. package/dist/{index-DqpYJN4W.js → index-15RrM-W8.js} +4 -4
  140. package/dist/{index-DqpYJN4W.js.map → index-15RrM-W8.js.map} +1 -1
  141. package/dist/index.js +14 -13
  142. package/dist/index.js.map +1 -1
  143. package/dist/{queryConstants-C7AqdemO.js → queryConstants-8c7Nd8ML.js} +1 -12
  144. package/dist/queryConstants-8c7Nd8ML.js.map +1 -0
  145. package/dist/{renderFunctions-CmT7DuRQ.js → renderFunctions-C5m30W0E.js} +4 -4
  146. package/dist/{renderFunctions-CmT7DuRQ.js.map → renderFunctions-C5m30W0E.js.map} +1 -1
  147. package/dist/{stripe.esm-DuZ_gsAa.js → stripe.esm-CFEGjV29.js} +2 -8
  148. package/dist/{stripe.esm-DuZ_gsAa.js.map → stripe.esm-CFEGjV29.js.map} +1 -1
  149. package/dist/{useAccountsApi-Cxvp_Jcf.js → useAccountsApi-Cbfz0yG4.js} +3 -3
  150. package/dist/{useAccountsApi-Cxvp_Jcf.js.map → useAccountsApi-Cbfz0yG4.js.map} +1 -1
  151. package/dist/{useExportsApi-C_UN1GVL.js → useExportsApi-DBBXhnqr.js} +3 -3
  152. package/dist/{useExportsApi-C_UN1GVL.js.map → useExportsApi-DBBXhnqr.js.map} +1 -1
  153. package/dist/{useIntegrationsApi-v_nhBcdZ.js → useIntegrationsApi-C3K1aAvJ.js} +3 -3
  154. package/dist/{useIntegrationsApi-v_nhBcdZ.js.map → useIntegrationsApi-C3K1aAvJ.js.map} +1 -1
  155. package/dist/{usePaymentApi-DrpxsySj.js → usePaymentApi-BqNzxqL8.js} +2 -10
  156. package/dist/{usePaymentApi-DrpxsySj.js.map → usePaymentApi-BqNzxqL8.js.map} +1 -1
  157. package/dist/{usePaymentApi-D1xXtOAq.js → usePaymentApi-Cf_jWBQK.js} +2 -2
  158. package/dist/{usePaymentApi-D1xXtOAq.js.map → usePaymentApi-Cf_jWBQK.js.map} +1 -1
  159. package/dist/{usePaymentApi-D-8CnzxZ.js → usePaymentApi-DHDDzZkq.js} +3 -3
  160. package/dist/{usePaymentApi-D-8CnzxZ.js.map → usePaymentApi-DHDDzZkq.js.map} +1 -1
  161. package/dist/{usePlatformApi-BrtHM9LM.js → usePlatformApi-CCMB7CBj.js} +3 -3
  162. package/dist/{usePlatformApi-BrtHM9LM.js.map → usePlatformApi-CCMB7CBj.js.map} +1 -1
  163. package/dist/useRazorpayPayment.js +2 -2
  164. package/dist/useRazorpayPayment.js.map +1 -1
  165. package/dist/useStripePromise.js +1 -1
  166. package/dist/useStripePromise.js.map +1 -1
  167. package/package.json +11 -11
  168. package/dist/CopyButtonWrapper-Bp5IVO76.js.map +0 -1
  169. package/dist/cjs/CopyButtonWrapper-I-kdKiiB.js.map +0 -1
  170. package/dist/queryConstants-C7AqdemO.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"StripeConnect.js","sources":["../../app/javascript/src/components/StripeConnect/constants.js","../../app/javascript/src/components/StripeConnect/Account.jsx","../../app/javascript/src/apis/countries.js","../../app/javascript/src/hooks/reactQuery/useCountriesApi.js","../../app/javascript/src/components/StripeConnect/utils.js","../../app/javascript/src/components/StripeConnect/Country.jsx","../../app/javascript/src/components/StripeConnect/Processing.jsx","../../app/javascript/src/components/StripeConnect/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const VALID_ERROR_CODES = [\n \"account_already_exists\",\n \"account_not_activated\",\n];\n\nexport const INTEGRATION_METHOD = {\n useExistingAccount: \"use_existing_account\",\n createNewAccount: \"create_new_account\",\n};\n\nexport const INITIAL_VALUES = { country: \"\", return_url: \"\" };\n\nexport const VALIDATION_SCHEMA = yup.object().shape({\n country: yup\n .object()\n .required(t(\"neetoPayments.validations.countryRequired\")),\n});\n","import { useEffect, useState } from \"react\";\n\nimport DOMPurify from \"dompurify\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Stripe } from \"neetoicons/misc\";\nimport CardLayout from \"neetomolecules/CardLayout\";\nimport { Radio, Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useFetchPaymentIntegrations } from \"hooks/reactQuery/useIntegrationsApi\";\nimport { STRIPE_CONNECT_ENDPOINT } from \"src/constants\";\n\nimport { INTEGRATION_METHOD } from \"./constants\";\n\nconst sanitize = DOMPurify.sanitize;\n\nconst Account = ({\n processingPageRoute,\n countryPageRoute,\n holdableId,\n productNameLabel,\n getStripeAccount,\n manageRoute,\n}) => {\n const { t } = useTranslation();\n const [selectedOption, setSelectedOption] = useState(\n INTEGRATION_METHOD.createNewAccount\n );\n\n const history = useHistory();\n\n const { data: { stripeStandardAccounts, stripeStandardAccount } = {} } =\n useFetchPaymentIntegrations();\n\n const stripeAccount =\n getStripeAccount(stripeStandardAccounts) || stripeStandardAccount;\n\n const handleSubmit = () => {\n if (selectedOption !== INTEGRATION_METHOD.useExistingAccount) {\n return history.push(countryPageRoute);\n }\n\n const params = {\n return_url: `${window.location.origin}${processingPageRoute}`,\n };\n\n if (holdableId) {\n params.holdable_id = holdableId;\n }\n\n const stripeConnectUrl = buildUrl(STRIPE_CONNECT_ENDPOINT, params);\n\n return (window.location.href = sanitize(stripeConnectUrl));\n };\n\n useEffect(() => {\n if (stripeAccount?.isConnected) {\n history.push(manageRoute);\n }\n }, [stripeAccount?.isConnected]);\n\n return (\n <CardLayout\n icon={<Stripe size={48} />}\n title={t(\"neetoPayments.stripeConnect.title\")}\n actionBlock={\n <Button\n label={t(\"neetoPayments.common.continue\")}\n onClick={handleSubmit}\n />\n }\n description={t(\"neetoPayments.stripeConnect.unlinkedDescription\", {\n productNameLabel,\n })}\n >\n <Radio\n value={selectedOption}\n onChange={({ target: { value } }) => setSelectedOption(value)}\n >\n <Radio.Item\n label={t(\"neetoPayments.stripeConnect.createNewAccount\")}\n name=\"accountMethod\"\n value={INTEGRATION_METHOD.createNewAccount}\n />\n <Radio.Item\n label={t(\"neetoPayments.stripeConnect.useExistingAccount\")}\n name=\"accountMethod\"\n value={INTEGRATION_METHOD.useExistingAccount}\n />\n </Radio>\n </CardLayout>\n );\n};\n\nexport default Account;\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst fetchCountries = () => axios.get(`${BASE_URL}/api/v1/stripe/countries`);\n\nconst countriesApi = { fetchCountries };\n\nexport default countriesApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport countriesApi from \"apis/countries\";\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchStripeCountries = () =>\n useQuery({\n queryKey: [QUERY_KEYS.STRIPE_COUNTRIES],\n queryFn: countriesApi.fetchCountries,\n });\n","import { humanize } from \"neetocist\";\n\nexport const buildRefreshUrl = (accountId, returnUrl) =>\n `${window.location.origin}/payments/api/v1/stripe/callbacks/${accountId}/refresh?return_url=${returnUrl}`;\n\nexport const buildCountryOptions = countries =>\n Object.entries(countries)?.map(country => ({\n label: humanize(country[0]),\n value: country[1],\n }));\n","import { useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { Stripe } from \"neetoicons/misc\";\nimport CardLayout from \"neetomolecules/CardLayout\";\nimport { Spinner } from \"neetoui\";\nimport { Select, Form, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n usePollingStripeAccountCreationStatus,\n useCreateStripeAccount,\n} from \"hooks/reactQuery/stripe/useAccountsApi\";\nimport { useFetchStripeCountries } from \"hooks/reactQuery/useCountriesApi\";\nimport { useFetchPaymentIntegrations } from \"hooks/reactQuery/useIntegrationsApi\";\nimport { POLLING_INTERVAL } from \"src/constants\";\n\nimport { INITIAL_VALUES, VALIDATION_SCHEMA } from \"./constants\";\nimport { buildCountryOptions, buildRefreshUrl } from \"./utils\";\n\nconst Country = ({\n processingPageRoute,\n productNameLabel,\n getStripeAccount,\n holdableId = \"\",\n}) => {\n const [isPolling, setIsPolling] = useState(false);\n\n const { t } = useTranslation();\n const history = useHistory();\n\n const refetchInterval = query => {\n const { jobStatus, onboarding } = query.state.data || {};\n if (jobStatus === \"complete\") {\n window.open(onboarding?.url, \"_self\");\n\n return false;\n }\n\n return POLLING_INTERVAL;\n };\n\n const {\n isPending: isCreating,\n data: { jobId } = {},\n mutate: createStripeAccount,\n } = useCreateStripeAccount({ onSuccess: () => setIsPolling(true) });\n\n const { data: { stripeStandardAccounts, stripeStandardAccount } = {} } =\n useFetchPaymentIntegrations();\n\n const stripeAccount =\n getStripeAccount(stripeStandardAccounts) || stripeStandardAccount;\n\n const { isLoading, data: { countries = {} } = {} } =\n useFetchStripeCountries();\n\n usePollingStripeAccountCreationStatus(jobId, {\n refetchInterval,\n enabled: isPresent(jobId),\n });\n\n const handleSubmit = values => {\n if (isPresent(stripeAccount)) {\n return (window.location.href = buildRefreshUrl(\n stripeAccount?.id,\n `${window.location.origin}${processingPageRoute}`\n ));\n }\n\n const payload = {\n returnUrl: `${window.location.origin}${processingPageRoute}`,\n country: values.country.value,\n };\n\n if (holdableId) {\n payload.holdableId = holdableId;\n }\n\n return createStripeAccount(payload);\n };\n\n if (isLoading) {\n return (\n <div className=\"flex items-center justify-center grow w-full\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Form\n className=\"w-full\"\n formikProps={{\n enableReinitialize: true,\n initialValues: INITIAL_VALUES,\n validationSchema: VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <CardLayout\n icon={<Stripe size={48} />}\n title={t(\"neetoPayments.stripeConnect.title\")}\n actionBlock={\n <ActionBlock\n cancelButtonProps={{ onClick: () => history.goBack() }}\n isSubmitting={isCreating || isPolling}\n submitButtonProps={{ label: t(\"neetoPayments.common.connect\") }}\n />\n }\n description={t(\"neetoPayments.stripeConnect.unlinkedDescription\", {\n productNameLabel,\n })}\n >\n <Select\n required\n helpText={t(\"neetoPayments.stripeConnect.countryHelpText\")}\n label={t(\"neetoPayments.common.country\")}\n name=\"country\"\n options={buildCountryOptions(countries)}\n placeholder={t(\"neetoPayments.stripeConnect.countryPlaceholder\")}\n />\n </CardLayout>\n </Form>\n );\n};\n\nexport default Country;\n","import { useEffect, useState } from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { isPresent, humanize, isNotPresent } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { Stripe } from \"neetoicons/misc\";\nimport CardLayout from \"neetomolecules/CardLayout\";\nimport { Typography, Callout, Spinner, Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useFetchPaymentIntegrations } from \"hooks/reactQuery/useIntegrationsApi\";\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\nimport { POLLING_INTERVAL, ERROR_TYPE, MAX_POLLING_TIME } from \"src/constants\";\n\nconst Processing = ({\n baseRoute,\n getStripeAccount,\n productNameLabel,\n manageRoute,\n}) => {\n const queryClient = useQueryClient();\n const [isPolling, setIsPolling] = useState(false);\n const { t } = useTranslation();\n const history = useHistory();\n const { error, errorDescription = \"\" } = useQueryParams();\n\n const refetchInterval = query => {\n const { stripeStandardAccounts, stripeStandardAccount } =\n query.state.data || {};\n\n const stripeAccount =\n getStripeAccount(stripeStandardAccounts) || stripeStandardAccount;\n\n if (!stripeAccount?.isConnected && isPolling) {\n return POLLING_INTERVAL;\n }\n\n if (stripeAccount?.isConnected) {\n setIsPolling(false);\n history.push(manageRoute);\n }\n\n return false;\n };\n\n const { data: { stripeStandardAccounts, stripeStandardAccount } = {} } =\n useFetchPaymentIntegrations({\n refetchInterval,\n enabled: isNotPresent(error),\n });\n\n const errorMessage =\n error === ERROR_TYPE.processing_error\n ? errorDescription\n : humanize(errorDescription);\n\n const stripeAccount =\n getStripeAccount(stripeStandardAccounts) || stripeStandardAccount;\n\n const isAccountProcessingFailed =\n (isPresent(error) && isPresent(errorDescription)) ||\n (!isPolling && !stripeAccount?.isConnected);\n\n const handleRetry = () => {\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.PAYMENT_INTEGRATION_LIST],\n });\n history.push(baseRoute);\n };\n\n useEffect(() => {\n if (stripeAccount?.isConnected) {\n history.push(manageRoute);\n }\n\n if (isNotPresent(error)) {\n setIsPolling(true);\n }\n\n const pollingTimeoutId = setTimeout(() => {\n setIsPolling(false);\n }, MAX_POLLING_TIME);\n\n return () => {\n clearTimeout(pollingTimeoutId);\n };\n }, []);\n\n return (\n <CardLayout\n icon={<Stripe size={48} />}\n title={t(\"neetoPayments.stripeConnect.title\")}\n actionBlock={\n isAccountProcessingFailed && (\n <Button\n label={t(\"neetoPayments.common.tryAgain\")}\n onClick={handleRetry}\n />\n )\n }\n description={\n isAccountProcessingFailed\n ? t(\"neetoPayments.common.processingFailed\")\n : t(\"neetoPayments.stripeConnect.linkedDescription\", {\n productNameLabel,\n })\n }\n >\n {isPolling && (\n <Callout>\n <div className=\"flex space-x-4\">\n <Spinner />\n <Typography style=\"body1\">\n {t(\"neetoPayments.stripeConnect.verifyingMessage\")}\n </Typography>\n </div>\n </Callout>\n )}\n {isAccountProcessingFailed && (\n <Callout style=\"danger\">\n <Typography style=\"body1\">\n {isPresent(errorDescription)\n ? errorMessage\n : t(\"neetoPayments.stripeConnect.failedProcessing\")}\n </Typography>\n </Callout>\n )}\n </CardLayout>\n );\n};\n\nexport default Processing;\n","import { noop } from \"neetocist\";\nimport Container from \"neetomolecules/Container\";\nimport Header from \"neetomolecules/Header\";\nimport { useTranslation } from \"react-i18next\";\nimport { Route, Switch } from \"react-router-dom\";\n\nimport Account from \"./Account\";\nimport Country from \"./Country\";\nimport Processing from \"./Processing\";\n\nconst StripeConnect = ({\n baseRoute,\n manageRoute,\n breadcrumbs,\n holdableId,\n productNameLabel,\n getStripeAccount = noop,\n}) => {\n const { t } = useTranslation();\n const countryPageRoute = `${baseRoute}/countries`;\n const processingPageRoute = `${baseRoute}/processing`;\n\n return (\n <Container>\n <Header {...{ breadcrumbs }} title={t(\"neetoPayments.common.connect\")} />\n <Switch>\n <Route\n exact\n path={baseRoute}\n render={() => (\n <Account\n {...{\n countryPageRoute,\n getStripeAccount,\n holdableId,\n manageRoute,\n processingPageRoute,\n productNameLabel,\n }}\n />\n )}\n />\n <Route\n exact\n path={countryPageRoute}\n component={() => (\n <Country\n {...{\n getStripeAccount,\n holdableId,\n processingPageRoute,\n productNameLabel,\n }}\n />\n )}\n />\n <Route\n exact\n path={processingPageRoute}\n component={() => (\n <Processing\n {...{\n baseRoute,\n getStripeAccount,\n manageRoute,\n productNameLabel,\n }}\n />\n )}\n />\n </Switch>\n </Container>\n );\n};\n\nexport default StripeConnect;\n"],"names":["INTEGRATION_METHOD","useExistingAccount","createNewAccount","INITIAL_VALUES","country","return_url","VALIDATION_SCHEMA","yup","object","shape","required","t","sanitize","DOMPurify","Account","processingPageRoute","countryPageRoute","holdableId","productNameLabel","getStripeAccount","manageRoute","useTranslation","selectedOption","setSelectedOption","useState","history","useHistory","data","stripeStandardAccounts","stripeStandardAccount","useFetchPaymentIntegrations","stripeAccount","handleSubmit","push","params","window","location","origin","holdable_id","stripeConnectUrl","buildUrl","STRIPE_CONNECT_ENDPOINT","href","useEffect","isConnected","_jsx","CardLayout","icon","Stripe","size","title","actionBlock","Button","label","onClick","description","children","_jsxs","Radio","value","onChange","target","Item","name","fetchCountries","axios","get","BASE_URL","countriesApi","useFetchStripeCountries","useQuery","queryKey","QUERY_KEYS","STRIPE_COUNTRIES","queryFn","buildRefreshUrl","accountId","returnUrl","buildCountryOptions","countries","Object","entries","map","humanize","Country","isPolling","setIsPolling","refetchInterval","query","jobStatus","onboarding","state","open","url","POLLING_INTERVAL","isPending","isCreating","jobId","mutate","createStripeAccount","useCreateStripeAccount","onSuccess","isLoading","usePollingStripeAccountCreationStatus","enabled","isPresent","values","id","payload","className","Spinner","Form","formikProps","enableReinitialize","initialValues","validationSchema","onSubmit","ActionBlock","cancelButtonProps","goBack","isSubmitting","submitButtonProps","Select","helpText","options","placeholder","Processing","baseRoute","queryClient","useQueryClient","error","errorDescription","useQueryParams","isNotPresent","errorMessage","ERROR_TYPE","processing_error","isAccountProcessingFailed","handleRetry","invalidateQueries","PAYMENT_INTEGRATION_LIST","pollingTimeoutId","setTimeout","MAX_POLLING_TIME","clearTimeout","Callout","Typography","style","StripeConnect","breadcrumbs","noop","Container","Header","Switch","Route","exact","path","render","component"],"mappings":"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"}
1
+ {"version":3,"file":"StripeConnect.js","sources":["../../app/javascript/src/components/StripeConnect/constants.js","../../app/javascript/src/components/StripeConnect/Account.jsx","../../app/javascript/src/apis/countries.js","../../app/javascript/src/hooks/reactQuery/useCountriesApi.js","../../app/javascript/src/components/StripeConnect/utils.js","../../app/javascript/src/components/StripeConnect/Country.jsx","../../app/javascript/src/components/StripeConnect/Processing.jsx","../../app/javascript/src/components/StripeConnect/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const VALID_ERROR_CODES = [\n \"account_already_exists\",\n \"account_not_activated\",\n];\n\nexport const INTEGRATION_METHOD = {\n useExistingAccount: \"use_existing_account\",\n createNewAccount: \"create_new_account\",\n};\n\nexport const INITIAL_VALUES = { country: \"\", return_url: \"\" };\n\nexport const VALIDATION_SCHEMA = yup.object().shape({\n country: yup\n .object()\n .required(t(\"neetoPayments.validations.countryRequired\")),\n});\n","import { useEffect, useState } from \"react\";\n\nimport DOMPurify from \"dompurify\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Stripe } from \"neetoicons/misc\";\nimport CardLayout from \"neetomolecules/CardLayout\";\nimport { Radio, Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useFetchPaymentIntegrations } from \"hooks/reactQuery/useIntegrationsApi\";\nimport { STRIPE_CONNECT_ENDPOINT } from \"src/constants\";\n\nimport { INTEGRATION_METHOD } from \"./constants\";\n\nconst sanitize = DOMPurify.sanitize;\n\nconst Account = ({\n processingPageRoute,\n countryPageRoute,\n holdableId,\n productNameLabel,\n getStripeAccount,\n manageRoute,\n}) => {\n const { t } = useTranslation();\n const [selectedOption, setSelectedOption] = useState(\n INTEGRATION_METHOD.createNewAccount\n );\n\n const history = useHistory();\n\n const { data: { stripeStandardAccounts, stripeStandardAccount } = {} } =\n useFetchPaymentIntegrations();\n\n const stripeAccount =\n getStripeAccount(stripeStandardAccounts) || stripeStandardAccount;\n\n const handleSubmit = () => {\n if (selectedOption !== INTEGRATION_METHOD.useExistingAccount) {\n return history.push(countryPageRoute);\n }\n\n const params = {\n return_url: `${window.location.origin}${processingPageRoute}`,\n };\n\n if (holdableId) {\n params.holdable_id = holdableId;\n }\n\n const stripeConnectUrl = buildUrl(STRIPE_CONNECT_ENDPOINT, params);\n\n return (window.location.href = sanitize(stripeConnectUrl));\n };\n\n useEffect(() => {\n if (stripeAccount?.isConnected) {\n history.push(manageRoute);\n }\n }, [stripeAccount?.isConnected]);\n\n return (\n <CardLayout\n icon={<Stripe size={48} />}\n title={t(\"neetoPayments.stripeConnect.title\")}\n actionBlock={\n <Button\n label={t(\"neetoPayments.common.continue\")}\n onClick={handleSubmit}\n />\n }\n description={t(\"neetoPayments.stripeConnect.unlinkedDescription\", {\n productNameLabel,\n })}\n >\n <Radio\n value={selectedOption}\n onChange={({ target: { value } }) => setSelectedOption(value)}\n >\n <Radio.Item\n label={t(\"neetoPayments.stripeConnect.createNewAccount\")}\n name=\"accountMethod\"\n value={INTEGRATION_METHOD.createNewAccount}\n />\n <Radio.Item\n label={t(\"neetoPayments.stripeConnect.useExistingAccount\")}\n name=\"accountMethod\"\n value={INTEGRATION_METHOD.useExistingAccount}\n />\n </Radio>\n </CardLayout>\n );\n};\n\nexport default Account;\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst fetchCountries = () => axios.get(`${BASE_URL}/api/v1/stripe/countries`);\n\nconst countriesApi = { fetchCountries };\n\nexport default countriesApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport countriesApi from \"apis/countries\";\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchStripeCountries = () =>\n useQuery({\n queryKey: [QUERY_KEYS.STRIPE_COUNTRIES],\n queryFn: countriesApi.fetchCountries,\n });\n","import { humanize } from \"neetocist\";\n\nexport const buildRefreshUrl = (accountId, returnUrl) =>\n `${window.location.origin}/payments/api/v1/stripe/callbacks/${accountId}/refresh?return_url=${returnUrl}`;\n\nexport const buildCountryOptions = countries =>\n Object.entries(countries)?.map(country => ({\n label: humanize(country[0]),\n value: country[1],\n }));\n","import { useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { Stripe } from \"neetoicons/misc\";\nimport CardLayout from \"neetomolecules/CardLayout\";\nimport { Spinner } from \"neetoui\";\nimport { Select, Form, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n usePollingStripeAccountCreationStatus,\n useCreateStripeAccount,\n} from \"hooks/reactQuery/stripe/useAccountsApi\";\nimport { useFetchStripeCountries } from \"hooks/reactQuery/useCountriesApi\";\nimport { useFetchPaymentIntegrations } from \"hooks/reactQuery/useIntegrationsApi\";\nimport { POLLING_INTERVAL } from \"src/constants\";\n\nimport { INITIAL_VALUES, VALIDATION_SCHEMA } from \"./constants\";\nimport { buildCountryOptions, buildRefreshUrl } from \"./utils\";\n\nconst Country = ({\n processingPageRoute,\n productNameLabel,\n getStripeAccount,\n holdableId = \"\",\n}) => {\n const [isPolling, setIsPolling] = useState(false);\n\n const { t } = useTranslation();\n const history = useHistory();\n\n const refetchInterval = query => {\n const { jobStatus, onboarding } = query.state.data || {};\n if (jobStatus === \"complete\") {\n window.open(onboarding?.url, \"_self\");\n\n return false;\n }\n\n return POLLING_INTERVAL;\n };\n\n const {\n isPending: isCreating,\n data: { jobId } = {},\n mutate: createStripeAccount,\n } = useCreateStripeAccount({ onSuccess: () => setIsPolling(true) });\n\n const { data: { stripeStandardAccounts, stripeStandardAccount } = {} } =\n useFetchPaymentIntegrations();\n\n const stripeAccount =\n getStripeAccount(stripeStandardAccounts) || stripeStandardAccount;\n\n const { isLoading, data: { countries = {} } = {} } =\n useFetchStripeCountries();\n\n usePollingStripeAccountCreationStatus(jobId, {\n refetchInterval,\n enabled: isPresent(jobId),\n });\n\n const handleSubmit = values => {\n if (isPresent(stripeAccount)) {\n return (window.location.href = buildRefreshUrl(\n stripeAccount?.id,\n `${window.location.origin}${processingPageRoute}`\n ));\n }\n\n const payload = {\n returnUrl: `${window.location.origin}${processingPageRoute}`,\n country: values.country.value,\n };\n\n if (holdableId) {\n payload.holdableId = holdableId;\n }\n\n return createStripeAccount(payload);\n };\n\n if (isLoading) {\n return (\n <div className=\"flex items-center justify-center grow w-full\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Form\n className=\"w-full\"\n formikProps={{\n enableReinitialize: true,\n initialValues: INITIAL_VALUES,\n validationSchema: VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <CardLayout\n icon={<Stripe size={48} />}\n title={t(\"neetoPayments.stripeConnect.title\")}\n actionBlock={\n <ActionBlock\n cancelButtonProps={{ onClick: () => history.goBack() }}\n isSubmitting={isCreating || isPolling}\n submitButtonProps={{ label: t(\"neetoPayments.common.connect\") }}\n />\n }\n description={t(\"neetoPayments.stripeConnect.unlinkedDescription\", {\n productNameLabel,\n })}\n >\n <Select\n required\n helpText={t(\"neetoPayments.stripeConnect.countryHelpText\")}\n label={t(\"neetoPayments.common.country\")}\n name=\"country\"\n options={buildCountryOptions(countries)}\n placeholder={t(\"neetoPayments.stripeConnect.countryPlaceholder\")}\n />\n </CardLayout>\n </Form>\n );\n};\n\nexport default Country;\n","import { useEffect, useState } from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { isPresent, humanize, isNotPresent } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { Stripe } from \"neetoicons/misc\";\nimport CardLayout from \"neetomolecules/CardLayout\";\nimport { Typography, Callout, Spinner, Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useFetchPaymentIntegrations } from \"hooks/reactQuery/useIntegrationsApi\";\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\nimport { POLLING_INTERVAL, ERROR_TYPE, MAX_POLLING_TIME } from \"src/constants\";\n\nconst Processing = ({\n baseRoute,\n getStripeAccount,\n productNameLabel,\n manageRoute,\n}) => {\n const queryClient = useQueryClient();\n const [isPolling, setIsPolling] = useState(false);\n const { t } = useTranslation();\n const history = useHistory();\n const { error, errorDescription = \"\" } = useQueryParams();\n\n const refetchInterval = query => {\n const { stripeStandardAccounts, stripeStandardAccount } =\n query.state.data || {};\n\n const stripeAccount =\n getStripeAccount(stripeStandardAccounts) || stripeStandardAccount;\n\n if (!stripeAccount?.isConnected && isPolling) {\n return POLLING_INTERVAL;\n }\n\n if (stripeAccount?.isConnected) {\n setIsPolling(false);\n history.push(manageRoute);\n }\n\n return false;\n };\n\n const { data: { stripeStandardAccounts, stripeStandardAccount } = {} } =\n useFetchPaymentIntegrations({\n refetchInterval,\n enabled: isNotPresent(error),\n });\n\n const errorMessage =\n error === ERROR_TYPE.processing_error\n ? errorDescription\n : humanize(errorDescription);\n\n const stripeAccount =\n getStripeAccount(stripeStandardAccounts) || stripeStandardAccount;\n\n const isAccountProcessingFailed =\n (isPresent(error) && isPresent(errorDescription)) ||\n (!isPolling && !stripeAccount?.isConnected);\n\n const handleRetry = () => {\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.PAYMENT_INTEGRATION_LIST],\n });\n history.push(baseRoute);\n };\n\n useEffect(() => {\n if (stripeAccount?.isConnected) {\n history.push(manageRoute);\n }\n\n if (isNotPresent(error)) {\n setIsPolling(true);\n }\n\n const pollingTimeoutId = setTimeout(() => {\n setIsPolling(false);\n }, MAX_POLLING_TIME);\n\n return () => {\n clearTimeout(pollingTimeoutId);\n };\n }, []);\n\n return (\n <CardLayout\n icon={<Stripe size={48} />}\n title={t(\"neetoPayments.stripeConnect.title\")}\n actionBlock={\n isAccountProcessingFailed && (\n <Button\n label={t(\"neetoPayments.common.tryAgain\")}\n onClick={handleRetry}\n />\n )\n }\n description={\n isAccountProcessingFailed\n ? t(\"neetoPayments.common.processingFailed\")\n : t(\"neetoPayments.stripeConnect.linkedDescription\", {\n productNameLabel,\n })\n }\n >\n {isPolling && (\n <Callout>\n <div className=\"flex space-x-4\">\n <Spinner />\n <Typography style=\"body1\">\n {t(\"neetoPayments.stripeConnect.verifyingMessage\")}\n </Typography>\n </div>\n </Callout>\n )}\n {isAccountProcessingFailed && (\n <Callout style=\"danger\">\n <Typography style=\"body1\">\n {isPresent(errorDescription)\n ? errorMessage\n : t(\"neetoPayments.stripeConnect.failedProcessing\")}\n </Typography>\n </Callout>\n )}\n </CardLayout>\n );\n};\n\nexport default Processing;\n","import { noop } from \"neetocist\";\nimport Container from \"neetomolecules/Container\";\nimport Header from \"neetomolecules/Header\";\nimport { useTranslation } from \"react-i18next\";\nimport { Route, Switch } from \"react-router-dom\";\n\nimport Account from \"./Account\";\nimport Country from \"./Country\";\nimport Processing from \"./Processing\";\n\nconst StripeConnect = ({\n baseRoute,\n manageRoute,\n breadcrumbs,\n holdableId,\n productNameLabel,\n getStripeAccount = noop,\n}) => {\n const { t } = useTranslation();\n const countryPageRoute = `${baseRoute}/countries`;\n const processingPageRoute = `${baseRoute}/processing`;\n\n return (\n <Container>\n <Header {...{ breadcrumbs }} title={t(\"neetoPayments.common.connect\")} />\n <Switch>\n <Route\n exact\n path={baseRoute}\n render={() => (\n <Account\n {...{\n countryPageRoute,\n getStripeAccount,\n holdableId,\n manageRoute,\n processingPageRoute,\n productNameLabel,\n }}\n />\n )}\n />\n <Route\n exact\n path={countryPageRoute}\n component={() => (\n <Country\n {...{\n getStripeAccount,\n holdableId,\n processingPageRoute,\n productNameLabel,\n }}\n />\n )}\n />\n <Route\n exact\n path={processingPageRoute}\n component={() => (\n <Processing\n {...{\n baseRoute,\n getStripeAccount,\n manageRoute,\n productNameLabel,\n }}\n />\n )}\n />\n </Switch>\n </Container>\n );\n};\n\nexport default StripeConnect;\n"],"names":["INTEGRATION_METHOD","useExistingAccount","createNewAccount","INITIAL_VALUES","country","return_url","VALIDATION_SCHEMA","yup","object","shape","required","t","sanitize","DOMPurify","Account","processingPageRoute","countryPageRoute","holdableId","productNameLabel","getStripeAccount","manageRoute","useTranslation","selectedOption","setSelectedOption","useState","history","useHistory","data","stripeStandardAccounts","stripeStandardAccount","useFetchPaymentIntegrations","stripeAccount","handleSubmit","push","params","window","location","origin","holdable_id","stripeConnectUrl","buildUrl","STRIPE_CONNECT_ENDPOINT","href","useEffect","isConnected","_jsx","CardLayout","icon","Stripe","size","title","actionBlock","Button","label","onClick","description","children","_jsxs","Radio","value","onChange","target","Item","name","fetchCountries","axios","get","BASE_URL","countriesApi","useFetchStripeCountries","useQuery","queryKey","QUERY_KEYS","STRIPE_COUNTRIES","queryFn","buildRefreshUrl","accountId","returnUrl","buildCountryOptions","countries","Object","entries","map","humanize","Country","isPolling","setIsPolling","refetchInterval","query","jobStatus","onboarding","state","open","url","POLLING_INTERVAL","isPending","isCreating","jobId","mutate","createStripeAccount","useCreateStripeAccount","onSuccess","isLoading","usePollingStripeAccountCreationStatus","enabled","isPresent","values","id","payload","className","Spinner","Form","formikProps","enableReinitialize","initialValues","validationSchema","onSubmit","ActionBlock","cancelButtonProps","goBack","isSubmitting","submitButtonProps","Select","helpText","options","placeholder","Processing","baseRoute","queryClient","useQueryClient","error","errorDescription","useQueryParams","isNotPresent","errorMessage","ERROR_TYPE","processing_error","isAccountProcessingFailed","handleRetry","invalidateQueries","PAYMENT_INTEGRATION_LIST","pollingTimeoutId","setTimeout","MAX_POLLING_TIME","clearTimeout","Callout","Typography","style","StripeConnect","breadcrumbs","noop","Container","Header","Switch","Route","exact","path","render","component"],"mappings":"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"}
@@ -16,7 +16,7 @@ require('neetocommons/constants');
16
16
  require('decimal.js');
17
17
  require('neetocist');
18
18
  require('neetocommons/utils');
19
- require('./queryConstants-Dc6wh21D.js');
19
+ require('./queryConstants-CGUF7zol.js');
20
20
 
21
21
  const StripeManage = reactUtils.withT(({
22
22
  t,
@@ -8,7 +8,7 @@ var reactQuery = require('@tanstack/react-query');
8
8
  var reactUtils = require('neetocommons/react-utils');
9
9
  var axios = require('axios');
10
10
  var constants = require('./index-vUzevy4J.js');
11
- var queryConstants = require('./queryConstants-Dc6wh21D.js');
11
+ var queryConstants = require('./queryConstants-CGUF7zol.js');
12
12
  var Container = require('@bigbinary/neeto-molecules/Container');
13
13
  var Header$1 = require('@bigbinary/neeto-molecules/Header');
14
14
  var TableWrapper = require('@bigbinary/neeto-molecules/TableWrapper');
@@ -1 +1 @@
1
- {"version":3,"file":"TaxesDashboard.js","sources":["../../app/javascript/src/apis/taxes.js","../../app/javascript/src/hooks/reactQuery/useTaxesApi.js","../../app/javascript/src/components/TaxesDashboard/FormPane/constants.js","../../app/javascript/src/components/TaxesDashboard/FormPane/index.jsx","../../app/javascript/src/components/TaxesDashboard/utils.jsx","../../app/javascript/src/components/TaxesDashboard/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst list = taxableId =>\n axios.get(`${BASE_URL}/api/v1/taxable/${taxableId}/taxes`);\n\nconst create = ({ taxableId, payload }) =>\n axios.post(`${BASE_URL}/api/v1/taxable/${taxableId}/taxes`, {\n tax: payload,\n });\n\nconst update = ({ taxableId, taxId, payload }) =>\n axios.put(`${BASE_URL}/api/v1/taxable/${taxableId}/taxes/${taxId}`, {\n tax: payload,\n });\n\nconst destroy = ({ taxableId, taxId }) =>\n axios.delete(`${BASE_URL}/api/v1/taxable/${taxableId}/taxes/${taxId}`);\n\nconst taxesApi = { list, create, update, destroy };\n\nexport default taxesApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { isNotNil } from \"ramda\";\n\nimport taxesApi from \"apis/taxes\";\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchTaxes = ({ taxableId }) =>\n useQuery({\n queryKey: [QUERY_KEYS.TAXES, taxableId],\n queryFn: () => taxesApi.list(taxableId),\n enabled: isNotNil(taxableId),\n });\n\nexport const useCreateTax = ({ taxableId }, options) =>\n useMutationWithInvalidation(taxesApi.create, {\n keysToInvalidate: [QUERY_KEYS.TAXES, taxableId],\n ...options,\n });\n\nexport const useUpdateTax = ({ taxableId }, options) =>\n useMutationWithInvalidation(taxesApi.update, {\n keysToInvalidate: [QUERY_KEYS.TAXES, taxableId],\n ...options,\n });\n\nexport const useDeleteTax = ({ taxableId }, options) =>\n useMutationWithInvalidation(taxesApi.destroy, {\n keysToInvalidate: [QUERY_KEYS.TAXES, taxableId],\n ...options,\n });\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const INITIAL_VALUES = {\n name: \"\",\n description: \"\",\n kind: \"percentage\",\n value: \"\",\n};\n\nexport const VALIDATION_SCHEMA = yup.object().shape({\n name: yup.string().required(t(\"neetoPayments.validations.nameRequired\")),\n description: yup.string().nullable(),\n kind: yup.string().required(t(\"neetoPayments.validations.kindRequired\")),\n value: yup\n .number()\n .when(\"kind\", {\n is: \"percentage\",\n then: yup\n .number()\n .min(1, t(\"neetoPayments.validations.valueGreaterThanOrEqualToOne\"))\n .max(100, t(\"neetoPayments.validations.valueLessThanOrEqualToHundred\")),\n })\n .positive(t(\"neetoPayments.validations.valueMustBePositive\"))\n .required(t(\"neetoPayments.validations.valueRequired\")),\n});\n","import { isPresent } from \"neetocist\";\nimport { Label, Typography, Pane, Callout } from \"neetoui\";\nimport { Form, Input, Radio, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateTax, useUpdateTax } from \"hooks/reactQuery/useTaxesApi\";\n\nimport { INITIAL_VALUES, VALIDATION_SCHEMA } from \"./constants\";\n\nconst { Header, Body, Footer } = Pane;\nconst FormPane = ({\n taxableId,\n taxToEdit,\n setTaxToEdit,\n isOpen,\n setIsOpen,\n onTaxesChange,\n}) => {\n const { t } = useTranslation();\n const { mutate: create, isPending: isCreating } = useCreateTax(\n { taxableId },\n {\n onSuccess: () => {\n setIsOpen(false);\n onTaxesChange();\n },\n }\n );\n\n const { mutate: update, isPending: isUpdating } = useUpdateTax(\n { taxableId },\n {\n onSuccess: () => {\n setIsOpen(false);\n onTaxesChange();\n },\n }\n );\n\n const isEdit = isPresent(taxToEdit?.id);\n const handleSubmit = values => {\n if (isEdit) {\n update({ taxableId, taxId: taxToEdit.id, payload: values });\n setTaxToEdit(null);\n } else {\n create({ taxableId, payload: values });\n }\n };\n\n return (\n <Pane\n {...{ isOpen }}\n onClose={() => {\n setIsOpen(false);\n setTaxToEdit(null);\n }}\n >\n <Header>\n <Typography style=\"h3\">\n {isEdit\n ? t(\"neetoPayments.taxesDashboard.form.title.edit\")\n : t(\"neetoPayments.taxesDashboard.form.title.create\")}\n </Typography>\n </Header>\n <Form\n formikProps={{\n initialValues: isEdit ? taxToEdit : INITIAL_VALUES,\n validationSchema: VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <Body>\n <div className=\"flex flex-col w-full gap-4\">\n <Input\n required\n label={t(\"neetoPayments.taxesDashboard.form.name.label\")}\n name=\"name\"\n placeholder={t(\n \"neetoPayments.taxesDashboard.form.name.placeholder\"\n )}\n />\n <Callout style=\"info\">\n {t(\"neetoPayments.taxesDashboard.form.name.helpText\")}\n </Callout>\n <Input\n label={t(\"neetoPayments.taxesDashboard.form.description.label\")}\n name=\"description\"\n placeholder={t(\n \"neetoPayments.taxesDashboard.form.description.placeholder\"\n )}\n />\n <Label>{t(\"neetoPayments.taxesDashboard.form.kind.label\")}</Label>\n <Radio stacked name=\"kind\">\n <Radio.Item\n label={t(\"neetoPayments.taxesDashboard.form.kind.percentage\")}\n value=\"percentage\"\n />\n <Radio.Item\n label={t(\"neetoPayments.taxesDashboard.form.kind.fixed\")}\n value=\"fixed\"\n />\n </Radio>\n <Input\n required\n label={t(\"neetoPayments.taxesDashboard.form.value.label\")}\n name=\"value\"\n type=\"number\"\n placeholder={t(\n \"neetoPayments.taxesDashboard.form.value.placeholder\"\n )}\n />\n </div>\n </Body>\n <Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: () => setIsOpen(false) }}\n isSubmitting={isCreating || isUpdating}\n />\n </Footer>\n </Form>\n </Pane>\n );\n};\n\nexport default FormPane;\n","import { t } from \"i18next\";\nimport { humanize, truncate } from \"neetocist\";\n\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography } from \"neetoui\";\n\nexport const generateColumnData = handleDropdownClick => [\n {\n title: t(\"neetoPayments.taxesDashboard.table.taxName\"),\n dataIndex: \"name\",\n render: (name, tax) => (\n <div className=\"flex justify-between gap-2\">\n <Typography style=\"body1\">{truncate(name, 100)}</Typography>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={[\n {\n key: \"edit\",\n label: t(\"neetoPayments.common.edit\"),\n onClick: () => handleDropdownClick(tax, \"edit\"),\n \"data-testid\": \"menu-dropdown-edit-button\",\n },\n {\n key: \"delete\",\n label: t(\"neetoPayments.common.delete\"),\n onClick: () => handleDropdownClick(tax, \"delete\"),\n \"data-testid\": \"menu-dropdown-delete-button\",\n },\n ]}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoPayments.taxesDashboard.table.description\"),\n dataIndex: \"description\",\n width: 300,\n },\n {\n title: t(\"neetoPayments.taxesDashboard.table.value\"),\n dataIndex: \"value\",\n render: (value, tax) => (\n <>{tax.kind === \"percentage\" ? `${value}%` : value}</>\n ),\n },\n {\n title: t(\"neetoPayments.taxesDashboard.table.type\"),\n dataIndex: \"kind\",\n render: value => <>{humanize(value)}</>,\n },\n];\n","import { useState } from \"react\";\n\nimport { noop, isPresent } from \"neetocist\";\nimport { isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useFetchTaxes, useDeleteTax } from \"hooks/reactQuery/useTaxesApi\";\nimport Container from \"neetomolecules/Container\";\nimport Header from \"neetomolecules/Header\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Button, Table, Alert, NoData, Spinner } from \"neetoui\";\n\nimport FormPane from \"./FormPane\";\nimport { generateColumnData } from \"./utils\";\n\nconst TaxesDashboard = ({\n taxableId,\n breadcrumbs,\n noDataHelpText = \"\",\n onTaxesChange = noop,\n titleHelpPopoverProps = {},\n}) => {\n const [isFormPaneOpen, setIsFormPaneOpen] = useState(false);\n const [taxToEdit, setTaxToEdit] = useState(null);\n const [taxToDelete, setTaxToDelete] = useState(null);\n\n const { data: { taxes = [] } = {}, isLoading } = useFetchTaxes({ taxableId });\n const { mutate: deleteTax } = useDeleteTax(\n { taxableId },\n { onSuccess: onTaxesChange }\n );\n\n const { t } = useTranslation();\n\n const handleDropdownClick = (tax, action) => {\n switch (action) {\n case \"edit\":\n setTaxToEdit(tax);\n setIsFormPaneOpen(true);\n break;\n case \"delete\":\n setTaxToDelete(tax);\n break;\n }\n };\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Container>\n <Header\n {...{ breadcrumbs, titleHelpPopoverProps }}\n title={t(\"neetoPayments.taxesDashboard.title\")}\n actionBlock={\n <Button\n data-testid=\"add-new-tax-button\"\n label={t(\"neetoPayments.taxesDashboard.buttons.add\")}\n onClick={() => setIsFormPaneOpen(true)}\n />\n }\n />\n {isEmpty(taxes) ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n helpText={noDataHelpText}\n title={t(\"neetoPayments.taxesDashboard.noData\")}\n primaryButtonProps={{\n label: t(\"neetoPayments.taxesDashboard.buttons.add\"),\n onClick: () => setIsFormPaneOpen(true),\n }}\n />\n </div>\n ) : (\n <TableWrapper>\n <Table\n fixedHeight\n columnData={generateColumnData(handleDropdownClick)}\n loading={isLoading}\n rowData={taxes}\n />\n </TableWrapper>\n )}\n <FormPane\n {...{ onTaxesChange, setTaxToEdit, taxToEdit, taxableId }}\n isOpen={isFormPaneOpen}\n setIsOpen={setIsFormPaneOpen}\n />\n <Alert\n isOpen={isPresent(taxToDelete)}\n title={t(\"neetoPayments.alert.delete.tax.title\")}\n message={\n <Trans\n components={{ strong: <strong /> }}\n i18nKey=\"neetoPayments.alert.delete.tax.message\"\n values={{ name: taxToDelete?.name }}\n />\n }\n onClose={() => setTaxToDelete(null)}\n onSubmit={() => {\n deleteTax({ taxableId, taxId: taxToDelete?.id });\n setTaxToDelete(null);\n }}\n />\n </Container>\n );\n};\n\nexport default TaxesDashboard;\n"],"names":["list","taxableId","axios","get","BASE_URL","create","payload","post","tax","update","taxId","put","destroy","delete","taxesApi","useFetchTaxes","useQuery","queryKey","QUERY_KEYS","TAXES","queryFn","enabled","isNotNil","useCreateTax","options","useMutationWithInvalidation","keysToInvalidate","useUpdateTax","useDeleteTax","INITIAL_VALUES","name","description","kind","value","VALIDATION_SCHEMA","yup","object","shape","string","required","t","nullable","number","when","is","then","min","max","positive","Header","Body","Footer","Pane","FormPane","taxToEdit","setTaxToEdit","isOpen","setIsOpen","onTaxesChange","useTranslation","mutate","isPending","isCreating","onSuccess","isUpdating","isEdit","isPresent","id","handleSubmit","values","_jsxs","onClose","children","_jsx","Typography","style","Form","formikProps","initialValues","validationSchema","onSubmit","className","Input","label","placeholder","Callout","Label","Radio","stacked","Item","type","ActionBlock","cancelButtonProps","onClick","isSubmitting","generateColumnData","handleDropdownClick","title","dataIndex","render","truncate","MoreDropdown","dropdownProps","strategy","menuItems","key","width","_Fragment","humanize","TaxesDashboard","breadcrumbs","noDataHelpText","noop","titleHelpPopoverProps","isFormPaneOpen","setIsFormPaneOpen","useState","taxToDelete","setTaxToDelete","data","taxes","isLoading","deleteTax","action","Spinner","Container","actionBlock","Button","isEmpty","NoData","helpText","primaryButtonProps","TableWrapper","Table","fixedHeight","columnData","loading","rowData","Alert","message","Trans","components","strong","i18nKey"],"mappings":"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"}
1
+ {"version":3,"file":"TaxesDashboard.js","sources":["../../app/javascript/src/apis/taxes.js","../../app/javascript/src/hooks/reactQuery/useTaxesApi.js","../../app/javascript/src/components/TaxesDashboard/FormPane/constants.js","../../app/javascript/src/components/TaxesDashboard/FormPane/index.jsx","../../app/javascript/src/components/TaxesDashboard/utils.jsx","../../app/javascript/src/components/TaxesDashboard/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst list = taxableId =>\n axios.get(`${BASE_URL}/api/v1/taxable/${taxableId}/taxes`);\n\nconst create = ({ taxableId, payload }) =>\n axios.post(`${BASE_URL}/api/v1/taxable/${taxableId}/taxes`, {\n tax: payload,\n });\n\nconst update = ({ taxableId, taxId, payload }) =>\n axios.put(`${BASE_URL}/api/v1/taxable/${taxableId}/taxes/${taxId}`, {\n tax: payload,\n });\n\nconst destroy = ({ taxableId, taxId }) =>\n axios.delete(`${BASE_URL}/api/v1/taxable/${taxableId}/taxes/${taxId}`);\n\nconst taxesApi = { list, create, update, destroy };\n\nexport default taxesApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { isNotNil } from \"ramda\";\n\nimport taxesApi from \"apis/taxes\";\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchTaxes = ({ taxableId }) =>\n useQuery({\n queryKey: [QUERY_KEYS.TAXES, taxableId],\n queryFn: () => taxesApi.list(taxableId),\n enabled: isNotNil(taxableId),\n });\n\nexport const useCreateTax = ({ taxableId }, options) =>\n useMutationWithInvalidation(taxesApi.create, {\n keysToInvalidate: [QUERY_KEYS.TAXES, taxableId],\n ...options,\n });\n\nexport const useUpdateTax = ({ taxableId }, options) =>\n useMutationWithInvalidation(taxesApi.update, {\n keysToInvalidate: [QUERY_KEYS.TAXES, taxableId],\n ...options,\n });\n\nexport const useDeleteTax = ({ taxableId }, options) =>\n useMutationWithInvalidation(taxesApi.destroy, {\n keysToInvalidate: [QUERY_KEYS.TAXES, taxableId],\n ...options,\n });\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const INITIAL_VALUES = {\n name: \"\",\n description: \"\",\n kind: \"percentage\",\n value: \"\",\n};\n\nexport const VALIDATION_SCHEMA = yup.object().shape({\n name: yup.string().required(t(\"neetoPayments.validations.nameRequired\")),\n description: yup.string().nullable(),\n kind: yup.string().required(t(\"neetoPayments.validations.kindRequired\")),\n value: yup\n .number()\n .when(\"kind\", {\n is: \"percentage\",\n then: yup\n .number()\n .min(1, t(\"neetoPayments.validations.valueGreaterThanOrEqualToOne\"))\n .max(100, t(\"neetoPayments.validations.valueLessThanOrEqualToHundred\")),\n })\n .positive(t(\"neetoPayments.validations.valueMustBePositive\"))\n .required(t(\"neetoPayments.validations.valueRequired\")),\n});\n","import { isPresent } from \"neetocist\";\nimport { Label, Typography, Pane, Callout } from \"neetoui\";\nimport { Form, Input, Radio, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateTax, useUpdateTax } from \"hooks/reactQuery/useTaxesApi\";\n\nimport { INITIAL_VALUES, VALIDATION_SCHEMA } from \"./constants\";\n\nconst { Header, Body, Footer } = Pane;\nconst FormPane = ({\n taxableId,\n taxToEdit,\n setTaxToEdit,\n isOpen,\n setIsOpen,\n onTaxesChange,\n}) => {\n const { t } = useTranslation();\n const { mutate: create, isPending: isCreating } = useCreateTax(\n { taxableId },\n {\n onSuccess: () => {\n setIsOpen(false);\n onTaxesChange();\n },\n }\n );\n\n const { mutate: update, isPending: isUpdating } = useUpdateTax(\n { taxableId },\n {\n onSuccess: () => {\n setIsOpen(false);\n onTaxesChange();\n },\n }\n );\n\n const isEdit = isPresent(taxToEdit?.id);\n const handleSubmit = values => {\n if (isEdit) {\n update({ taxableId, taxId: taxToEdit.id, payload: values });\n setTaxToEdit(null);\n } else {\n create({ taxableId, payload: values });\n }\n };\n\n return (\n <Pane\n {...{ isOpen }}\n onClose={() => {\n setIsOpen(false);\n setTaxToEdit(null);\n }}\n >\n <Header>\n <Typography style=\"h3\">\n {isEdit\n ? t(\"neetoPayments.taxesDashboard.form.title.edit\")\n : t(\"neetoPayments.taxesDashboard.form.title.create\")}\n </Typography>\n </Header>\n <Form\n formikProps={{\n initialValues: isEdit ? taxToEdit : INITIAL_VALUES,\n validationSchema: VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <Body>\n <div className=\"flex flex-col w-full gap-4\">\n <Input\n required\n label={t(\"neetoPayments.taxesDashboard.form.name.label\")}\n name=\"name\"\n placeholder={t(\n \"neetoPayments.taxesDashboard.form.name.placeholder\"\n )}\n />\n <Callout style=\"info\">\n {t(\"neetoPayments.taxesDashboard.form.name.helpText\")}\n </Callout>\n <Input\n label={t(\"neetoPayments.taxesDashboard.form.description.label\")}\n name=\"description\"\n placeholder={t(\n \"neetoPayments.taxesDashboard.form.description.placeholder\"\n )}\n />\n <Label>{t(\"neetoPayments.taxesDashboard.form.kind.label\")}</Label>\n <Radio stacked name=\"kind\">\n <Radio.Item\n label={t(\"neetoPayments.taxesDashboard.form.kind.percentage\")}\n value=\"percentage\"\n />\n <Radio.Item\n label={t(\"neetoPayments.taxesDashboard.form.kind.fixed\")}\n value=\"fixed\"\n />\n </Radio>\n <Input\n required\n label={t(\"neetoPayments.taxesDashboard.form.value.label\")}\n name=\"value\"\n type=\"number\"\n placeholder={t(\n \"neetoPayments.taxesDashboard.form.value.placeholder\"\n )}\n />\n </div>\n </Body>\n <Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: () => setIsOpen(false) }}\n isSubmitting={isCreating || isUpdating}\n />\n </Footer>\n </Form>\n </Pane>\n );\n};\n\nexport default FormPane;\n","import { t } from \"i18next\";\nimport { humanize, truncate } from \"neetocist\";\n\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography } from \"neetoui\";\n\nexport const generateColumnData = handleDropdownClick => [\n {\n title: t(\"neetoPayments.taxesDashboard.table.taxName\"),\n dataIndex: \"name\",\n render: (name, tax) => (\n <div className=\"flex justify-between gap-2\">\n <Typography style=\"body1\">{truncate(name, 100)}</Typography>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={[\n {\n key: \"edit\",\n label: t(\"neetoPayments.common.edit\"),\n onClick: () => handleDropdownClick(tax, \"edit\"),\n \"data-testid\": \"menu-dropdown-edit-button\",\n },\n {\n key: \"delete\",\n label: t(\"neetoPayments.common.delete\"),\n onClick: () => handleDropdownClick(tax, \"delete\"),\n \"data-testid\": \"menu-dropdown-delete-button\",\n },\n ]}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoPayments.taxesDashboard.table.description\"),\n dataIndex: \"description\",\n width: 300,\n },\n {\n title: t(\"neetoPayments.taxesDashboard.table.value\"),\n dataIndex: \"value\",\n render: (value, tax) => (\n <>{tax.kind === \"percentage\" ? `${value}%` : value}</>\n ),\n },\n {\n title: t(\"neetoPayments.taxesDashboard.table.type\"),\n dataIndex: \"kind\",\n render: value => <>{humanize(value)}</>,\n },\n];\n","import { useState } from \"react\";\n\nimport { noop, isPresent } from \"neetocist\";\nimport { isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useFetchTaxes, useDeleteTax } from \"hooks/reactQuery/useTaxesApi\";\nimport Container from \"neetomolecules/Container\";\nimport Header from \"neetomolecules/Header\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Button, Table, Alert, NoData, Spinner } from \"neetoui\";\n\nimport FormPane from \"./FormPane\";\nimport { generateColumnData } from \"./utils\";\n\nconst TaxesDashboard = ({\n taxableId,\n breadcrumbs,\n noDataHelpText = \"\",\n onTaxesChange = noop,\n titleHelpPopoverProps = {},\n}) => {\n const [isFormPaneOpen, setIsFormPaneOpen] = useState(false);\n const [taxToEdit, setTaxToEdit] = useState(null);\n const [taxToDelete, setTaxToDelete] = useState(null);\n\n const { data: { taxes = [] } = {}, isLoading } = useFetchTaxes({ taxableId });\n const { mutate: deleteTax } = useDeleteTax(\n { taxableId },\n { onSuccess: onTaxesChange }\n );\n\n const { t } = useTranslation();\n\n const handleDropdownClick = (tax, action) => {\n switch (action) {\n case \"edit\":\n setTaxToEdit(tax);\n setIsFormPaneOpen(true);\n break;\n case \"delete\":\n setTaxToDelete(tax);\n break;\n }\n };\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Container>\n <Header\n {...{ breadcrumbs, titleHelpPopoverProps }}\n title={t(\"neetoPayments.taxesDashboard.title\")}\n actionBlock={\n <Button\n data-testid=\"add-new-tax-button\"\n label={t(\"neetoPayments.taxesDashboard.buttons.add\")}\n onClick={() => setIsFormPaneOpen(true)}\n />\n }\n />\n {isEmpty(taxes) ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n helpText={noDataHelpText}\n title={t(\"neetoPayments.taxesDashboard.noData\")}\n primaryButtonProps={{\n label: t(\"neetoPayments.taxesDashboard.buttons.add\"),\n onClick: () => setIsFormPaneOpen(true),\n }}\n />\n </div>\n ) : (\n <TableWrapper>\n <Table\n fixedHeight\n columnData={generateColumnData(handleDropdownClick)}\n loading={isLoading}\n rowData={taxes}\n />\n </TableWrapper>\n )}\n <FormPane\n {...{ onTaxesChange, setTaxToEdit, taxToEdit, taxableId }}\n isOpen={isFormPaneOpen}\n setIsOpen={setIsFormPaneOpen}\n />\n <Alert\n isOpen={isPresent(taxToDelete)}\n title={t(\"neetoPayments.alert.delete.tax.title\")}\n message={\n <Trans\n components={{ strong: <strong /> }}\n i18nKey=\"neetoPayments.alert.delete.tax.message\"\n values={{ name: taxToDelete?.name }}\n />\n }\n onClose={() => setTaxToDelete(null)}\n onSubmit={() => {\n deleteTax({ taxableId, taxId: taxToDelete?.id });\n setTaxToDelete(null);\n }}\n />\n </Container>\n );\n};\n\nexport default TaxesDashboard;\n"],"names":["list","taxableId","axios","get","BASE_URL","create","payload","post","tax","update","taxId","put","destroy","delete","taxesApi","useFetchTaxes","useQuery","queryKey","QUERY_KEYS","TAXES","queryFn","enabled","isNotNil","useCreateTax","options","useMutationWithInvalidation","keysToInvalidate","useUpdateTax","useDeleteTax","INITIAL_VALUES","name","description","kind","value","VALIDATION_SCHEMA","yup","object","shape","string","required","t","nullable","number","when","is","then","min","max","positive","Header","Body","Footer","Pane","FormPane","taxToEdit","setTaxToEdit","isOpen","setIsOpen","onTaxesChange","useTranslation","mutate","isPending","isCreating","onSuccess","isUpdating","isEdit","isPresent","id","handleSubmit","values","_jsxs","onClose","children","_jsx","Typography","style","Form","formikProps","initialValues","validationSchema","onSubmit","className","Input","label","placeholder","Callout","Label","Radio","stacked","Item","type","ActionBlock","cancelButtonProps","onClick","isSubmitting","generateColumnData","handleDropdownClick","title","dataIndex","render","truncate","MoreDropdown","dropdownProps","strategy","menuItems","key","width","_Fragment","humanize","TaxesDashboard","breadcrumbs","noDataHelpText","noop","titleHelpPopoverProps","isFormPaneOpen","setIsFormPaneOpen","useState","taxToDelete","setTaxToDelete","data","taxes","isLoading","deleteTax","action","Spinner","Container","actionBlock","Button","isEmpty","NoData","helpText","primaryButtonProps","TableWrapper","Table","fixedHeight","columnData","loading","rowData","Alert","message","Trans","components","strong","i18nKey"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-BWh6P9BB.js","sources":["../../app/javascript/src/utils/dashboard.js"],"sourcesContent":["import { camelToSnakeCase } from \"neetocist\";\nimport { assoc, concat, isEmpty, modify } from \"ramda\";\n\nconst buildEnforcedFilter = (enforceFilter, filterableColumns) => {\n const { key, value, rule, node } = enforceFilter;\n const filterConfig = filterableColumns.find(col => col.key === key);\n\n if (!filterConfig) return null;\n\n return {\n conditions: [\n {\n key,\n node: node || filterConfig.node,\n model: filterConfig.model,\n type: filterConfig.type,\n values: value,\n rule,\n value,\n },\n ],\n };\n};\n\nexport const mergeEnforcedFilters = (\n filters = [],\n enforceFilterValues = [],\n filterableColumns = []\n) => {\n if (isEmpty(enforceFilterValues)) return filters;\n\n // Build full filter objects from enforced values using filterableColumns config\n const enforcedFilters = enforceFilterValues\n .map(enforceFilter => buildEnforcedFilter(enforceFilter, filterableColumns))\n .filter(Boolean);\n\n // Simply append enforced filters to existing filters\n return concat(filters, enforcedFilters);\n};\n\nimport { DEFAULT_PAGE_VALUES } from \"src/constants\";\n\nconst processSortProperties = sortProperties => {\n if (sortProperties.sortBy === \"payment_amount\") {\n return assoc(\n \"sortBy\",\n \"neeto_payments_engine_payments.amount\",\n sortProperties\n );\n }\n\n if (\n sortProperties.sortBy === \"email\" ||\n sortProperties.sortBy === \"first_name\"\n ) {\n return modify(\"sortBy\", concat(\"users.\"), sortProperties);\n }\n\n if (sortProperties.sortBy === \"payable,ends_at\") {\n return assoc(\"sortBy\", \"bookings.ends_at\", sortProperties);\n }\n\n return sortProperties;\n};\n\nexport const buildDefaultPageProperties = tabs =>\n tabs.reduce(\n (pageProperties, tab) => ({\n ...pageProperties,\n [tab]: DEFAULT_PAGE_VALUES,\n }),\n {}\n );\n\nexport const buildPayload = ({\n tab,\n filters,\n pageProperties,\n sortProperties = {},\n payoutId = null,\n}) => ({\n tab: camelToSnakeCase(tab),\n payoutId,\n page: pageProperties[tab]?.page,\n pageSize: pageProperties[tab]?.pageSize,\n filters,\n ...processSortProperties(sortProperties),\n});\n\nexport const buildRowData = ({ data, pageProperties = {}, tab = \"all\" }) =>\n data.map((element, index) => ({\n ...element,\n payable: element.payable,\n identifier: element,\n id: isEmpty(pageProperties)\n ? index + 1\n : pageProperties[tab]?.pageSize * (pageProperties[tab]?.page - 1) +\n index +\n 1,\n }));\n"],"names":["buildEnforcedFilter","enforceFilter","filterableColumns","key","value","rule","node","filterConfig","find","col","conditions","model","type","values","mergeEnforcedFilters","filters","enforceFilterValues","isEmpty","enforcedFilters","map","filter","Boolean","concat","processSortProperties","sortProperties","sortBy","assoc","modify","buildDefaultPageProperties","tabs","reduce","pageProperties","tab","DEFAULT_PAGE_VALUES","buildPayload","payoutId","camelToSnakeCase","page","pageSize","buildRowData","data","element","index","payable","identifier","id"],"mappings":";;;;;;AAGA,MAAMA,mBAAmB,GAAGA,CAACC,aAAa,EAAEC,iBAAiB,KAAK;EAChE,MAAM;IAAEC,GAAG;IAAEC,KAAK;IAAEC,IAAI;AAAEC,IAAAA;AAAK,GAAC,GAAGL,aAAa;AAChD,EAAA,MAAMM,YAAY,GAAGL,iBAAiB,CAACM,IAAI,CAACC,GAAG,IAAIA,GAAG,CAACN,GAAG,KAAKA,GAAG,CAAC;AAEnE,EAAA,IAAI,CAACI,YAAY,EAAE,OAAO,IAAI;EAE9B,OAAO;AACLG,IAAAA,UAAU,EAAE,CACV;MACEP,GAAG;AACHG,MAAAA,IAAI,EAAEA,IAAI,IAAIC,YAAY,CAACD,IAAI;MAC/BK,KAAK,EAAEJ,YAAY,CAACI,KAAK;MACzBC,IAAI,EAAEL,YAAY,CAACK,IAAI;AACvBC,MAAAA,MAAM,EAAET,KAAK;MACbC,IAAI;AACJD,MAAAA;KACD;GAEJ;AACH,CAAC;AAEYU,MAAAA,oBAAoB,GAAGA,CAClCC,OAAO,GAAG,EAAE,EACZC,mBAAmB,GAAG,EAAE,EACxBd,iBAAiB,GAAG,EAAE,KACnB;AACH,EAAA,IAAIe,aAAO,CAACD,mBAAmB,CAAC,EAAE,OAAOD,OAAO;;AAEhD;AACA,EAAA,MAAMG,eAAe,GAAGF,mBAAmB,CACxCG,GAAG,CAAClB,aAAa,IAAID,mBAAmB,CAACC,aAAa,EAAEC,iBAAiB,CAAC,CAAC,CAC3EkB,MAAM,CAACC,OAAO,CAAC;;AAElB;AACA,EAAA,OAAOC,YAAM,CAACP,OAAO,EAAEG,eAAe,CAAC;AACzC;AAIA,MAAMK,qBAAqB,GAAGC,cAAc,IAAI;AAC9C,EAAA,IAAIA,cAAc,CAACC,MAAM,KAAK,gBAAgB,EAAE;AAC9C,IAAA,OAAOC,WAAK,CACV,QAAQ,EACR,uCAAuC,EACvCF,cACF,CAAC;AACH;EAEA,IACEA,cAAc,CAACC,MAAM,KAAK,OAAO,IACjCD,cAAc,CAACC,MAAM,KAAK,YAAY,EACtC;IACA,OAAOE,YAAM,CAAC,QAAQ,EAAEL,YAAM,CAAC,QAAQ,CAAC,EAAEE,cAAc,CAAC;AAC3D;AAEA,EAAA,IAAIA,cAAc,CAACC,MAAM,KAAK,iBAAiB,EAAE;AAC/C,IAAA,OAAOC,WAAK,CAAC,QAAQ,EAAE,kBAAkB,EAAEF,cAAc,CAAC;AAC5D;AAEA,EAAA,OAAOA,cAAc;AACvB,CAAC;AAEYI,MAAAA,0BAA0B,GAAGC,IAAI,IAC5CA,IAAI,CAACC,MAAM,CACT,CAACC,cAAc,EAAEC,GAAG,MAAM;AACxB,EAAA,GAAGD,cAAc;AACjB,EAAA,CAACC,GAAG,GAAGC;AACT,CAAC,CAAC,EACF,EACF;AAEK,MAAMC,YAAY,GAAGA,CAAC;EAC3BF,GAAG;EACHjB,OAAO;EACPgB,cAAc;EACdP,cAAc,GAAG,EAAE;AACnBW,EAAAA,QAAQ,GAAG;AACb,CAAC,MAAM;AACLH,EAAAA,GAAG,EAAEI,0BAAgB,CAACJ,GAAG,CAAC;EAC1BG,QAAQ;AACRE,EAAAA,IAAI,EAAEN,cAAc,CAACC,GAAG,CAAC,EAAEK,IAAI;AAC/BC,EAAAA,QAAQ,EAAEP,cAAc,CAACC,GAAG,CAAC,EAAEM,QAAQ;EACvCvB,OAAO;EACP,GAAGQ,qBAAqB,CAACC,cAAc;AACzC,CAAC;AAEM,MAAMe,YAAY,GAAGA,CAAC;EAAEC,IAAI;EAAET,cAAc,GAAG,EAAE;AAAEC,EAAAA,GAAG,GAAG;AAAM,CAAC,KACrEQ,IAAI,CAACrB,GAAG,CAAC,CAACsB,OAAO,EAAEC,KAAK,MAAM;AAC5B,EAAA,GAAGD,OAAO;EACVE,OAAO,EAAEF,OAAO,CAACE,OAAO;AACxBC,EAAAA,UAAU,EAAEH,OAAO;AACnBI,EAAAA,EAAE,EAAE5B,aAAO,CAACc,cAAc,CAAC,GACvBW,KAAK,GAAG,CAAC,GACTX,cAAc,CAACC,GAAG,CAAC,EAAEM,QAAQ,IAAIP,cAAc,CAACC,GAAG,CAAC,EAAEK,IAAI,GAAG,CAAC,CAAC,GAC/DK,KAAK,GACL;AACN,CAAC,CAAC;;;;;;;"}
1
+ {"version":3,"file":"dashboard-BWh6P9BB.js","sources":["../../app/javascript/src/utils/dashboard.js"],"sourcesContent":["import { camelToSnakeCase } from \"neetocist\";\nimport { assoc, concat, isEmpty, modify } from \"ramda\";\n\nconst buildEnforcedFilter = (enforceFilter, filterableColumns) => {\n const { key, value, rule, node } = enforceFilter;\n const filterConfig = filterableColumns.find(col => col.key === key);\n\n if (!filterConfig) return null;\n\n return {\n conditions: [\n {\n key,\n node: node || filterConfig.node,\n model: filterConfig.model,\n type: filterConfig.type,\n values: value,\n rule,\n value,\n },\n ],\n };\n};\n\nexport const mergeEnforcedFilters = (\n filters = [],\n enforceFilterValues = [],\n filterableColumns = []\n) => {\n if (isEmpty(enforceFilterValues)) return filters;\n\n // Build full filter objects from enforced values using filterableColumns config\n const enforcedFilters = enforceFilterValues\n .map(enforceFilter => buildEnforcedFilter(enforceFilter, filterableColumns))\n .filter(Boolean);\n\n // Simply append enforced filters to existing filters\n return concat(filters, enforcedFilters);\n};\n\nimport { DEFAULT_PAGE_VALUES } from \"src/constants\";\n\nconst processSortProperties = sortProperties => {\n if (sortProperties.sortBy === \"payment_amount\") {\n return assoc(\n \"sortBy\",\n \"neeto_payments_engine_payments.amount\",\n sortProperties\n );\n }\n\n if (\n sortProperties.sortBy === \"email\" ||\n sortProperties.sortBy === \"first_name\"\n ) {\n return modify(\"sortBy\", concat(\"users.\"), sortProperties);\n }\n\n if (sortProperties.sortBy === \"payable,ends_at\") {\n return assoc(\"sortBy\", \"bookings.ends_at\", sortProperties);\n }\n\n return sortProperties;\n};\n\nexport const buildDefaultPageProperties = tabs =>\n tabs.reduce(\n (pageProperties, tab) => ({\n ...pageProperties,\n [tab]: DEFAULT_PAGE_VALUES,\n }),\n {}\n );\n\nexport const buildPayload = ({\n tab,\n filters,\n pageProperties,\n sortProperties = {},\n payoutId = null,\n}) => ({\n tab: camelToSnakeCase(tab),\n payoutId,\n page: pageProperties[tab]?.page,\n pageSize: pageProperties[tab]?.pageSize,\n filters,\n ...processSortProperties(sortProperties),\n});\n\nexport const buildRowData = ({ data, pageProperties = {}, tab = \"all\" }) =>\n data.map((element, index) => ({\n ...element,\n payable: element.payable,\n identifier: element,\n id: isEmpty(pageProperties)\n ? index + 1\n : pageProperties[tab]?.pageSize * (pageProperties[tab]?.page - 1) +\n index +\n 1,\n }));\n"],"names":["buildEnforcedFilter","enforceFilter","filterableColumns","key","value","rule","node","filterConfig","find","col","conditions","model","type","values","mergeEnforcedFilters","filters","enforceFilterValues","isEmpty","enforcedFilters","map","filter","Boolean","concat","processSortProperties","sortProperties","sortBy","assoc","modify","buildDefaultPageProperties","tabs","reduce","pageProperties","tab","DEFAULT_PAGE_VALUES","buildPayload","payoutId","camelToSnakeCase","page","pageSize","buildRowData","data","element","index","payable","identifier","id"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"exportChannel-BL2RGGhP.js","sources":["../../app/javascript/src/constants/tableKeys.js","../../app/javascript/src/channels/exportChannel.js"],"sourcesContent":["/*\n * DO NOT change the table keys, they are used to identify the table in the database.\n * Table keys are required for the columnsButtonProps of the Subheader component and\n * for the useTableConfigurations hook. These are used for customizing the columns, i.e., the visibility,\n * order, and their persistence in the database.\n */\n\nexport const TABLE_KEYS = {\n ACCOUNTS_TABLE: \"neeto-payments-nano-accounts-table\",\n PAYMENTS_TABLE: \"neeto-payments-nano-payments-table\",\n PAYOUTS_TABLE: \"neeto-payments-nano-payouts-table\",\n REFUNDS_TABLE: \"neeto-payments-nano-refunds-table\",\n SPLIT_TRANSFERS_TABLE: \"neeto-payments-nano-split-transfers-table\",\n};\n","import { noop } from \"neetocist\";\nimport { createSubscription } from \"neetocommons/utils\";\n\nconst exportChannel = (token, receivedCallback) =>\n createSubscription(\n { channel: \"NeetoPaymentsEngine::ExportsChannel\", pubsub_token: token },\n {\n connected: noop,\n disconnected() {\n this.perform(\"unsubscribed\");\n this.unsubscribe();\n },\n received(data) {\n this.perform(\"unsubscribed\");\n\n receivedCallback(data);\n },\n }\n );\n\nexport default exportChannel;\n"],"names":["TABLE_KEYS","ACCOUNTS_TABLE","PAYMENTS_TABLE","PAYOUTS_TABLE","REFUNDS_TABLE","SPLIT_TRANSFERS_TABLE","exportChannel","token","receivedCallback","createSubscription","channel","pubsub_token","connected","noop","disconnected","perform","unsubscribe","received","data"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEO,MAAMA,UAAU,GAAG;AACxBC,EAAAA,cAAc,EAAE,oCAAoC;AACpDC,EAAAA,cAAc,EAAE,oCAAoC;AACpDC,EAAAA,aAAa,EAAE,mCAAmC;AAClDC,EAAAA,aAAa,EAAE,mCAAmC;AAClDC,EAAAA,qBAAqB,EAAE;AACzB;;ACVMC,MAAAA,aAAa,GAAGA,CAACC,KAAK,EAAEC,gBAAgB,KAC5CC,wBAAkB,CAChB;AAAEC,EAAAA,OAAO,EAAE,qCAAqC;AAAEC,EAAAA,YAAY,EAAEJ;AAAM,CAAC,EACvE;AACEK,EAAAA,SAAS,EAAEC,cAAI;AACfC,EAAAA,YAAYA,GAAG;AACb,IAAA,IAAI,CAACC,OAAO,CAAC,cAAc,CAAC;IAC5B,IAAI,CAACC,WAAW,EAAE;GACnB;EACDC,QAAQA,CAACC,IAAI,EAAE;AACb,IAAA,IAAI,CAACH,OAAO,CAAC,cAAc,CAAC;IAE5BP,gBAAgB,CAACU,IAAI,CAAC;AACxB;AACF,CACF;;;;;"}
1
+ {"version":3,"file":"exportChannel-BL2RGGhP.js","sources":["../../app/javascript/src/constants/tableKeys.js","../../app/javascript/src/channels/exportChannel.js"],"sourcesContent":["/*\n * DO NOT change the table keys, they are used to identify the table in the database.\n * Table keys are required for the columnsButtonProps of the Subheader component and\n * for the useTableConfigurations hook. These are used for customizing the columns, i.e., the visibility,\n * order, and their persistence in the database.\n */\n\nexport const TABLE_KEYS = {\n ACCOUNTS_TABLE: \"neeto-payments-nano-accounts-table\",\n PAYMENTS_TABLE: \"neeto-payments-nano-payments-table\",\n PAYOUTS_TABLE: \"neeto-payments-nano-payouts-table\",\n REFUNDS_TABLE: \"neeto-payments-nano-refunds-table\",\n SPLIT_TRANSFERS_TABLE: \"neeto-payments-nano-split-transfers-table\",\n};\n","import { noop } from \"neetocist\";\nimport { createSubscription } from \"neetocommons/utils\";\n\nconst exportChannel = (token, receivedCallback) =>\n createSubscription(\n { channel: \"NeetoPaymentsEngine::ExportsChannel\", pubsub_token: token },\n {\n connected: noop,\n disconnected() {\n this.perform(\"unsubscribed\");\n this.unsubscribe();\n },\n received(data) {\n this.perform(\"unsubscribed\");\n\n receivedCallback(data);\n },\n }\n );\n\nexport default exportChannel;\n"],"names":["TABLE_KEYS","ACCOUNTS_TABLE","PAYMENTS_TABLE","PAYOUTS_TABLE","REFUNDS_TABLE","SPLIT_TRANSFERS_TABLE","exportChannel","token","receivedCallback","createSubscription","channel","pubsub_token","connected","noop","disconnected","perform","unsubscribe","received","data"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEO,MAAMA,UAAU,GAAG;AACxBC,EAAAA,cAAc,EAAE,oCAAoC;AACpDC,EAAAA,cAAc,EAAE,oCAAoC;AACpDC,EAAAA,aAAa,EAAE,mCAAmC;AAClDC,EAAAA,aAAa,EAAE,mCAAmC;AAClDC,EAAAA,qBAAqB,EAAE;AACzB;;ACVA,MAAMC,aAAa,GAAGA,CAACC,KAAK,EAAEC,gBAAgB,KAC5CC,wBAAkB,CAChB;AAAEC,EAAAA,OAAO,EAAE,qCAAqC;AAAEC,EAAAA,YAAY,EAAEJ;AAAM,CAAC,EACvE;AACEK,EAAAA,SAAS,EAAEC,cAAI;AACfC,EAAAA,YAAYA,GAAG;AACb,IAAA,IAAI,CAACC,OAAO,CAAC,cAAc,CAAC;IAC5B,IAAI,CAACC,WAAW,EAAE;EACpB,CAAC;EACDC,QAAQA,CAACC,IAAI,EAAE;AACb,IAAA,IAAI,CAACH,OAAO,CAAC,cAAc,CAAC;IAE5BP,gBAAgB,CAACU,IAAI,CAAC;AACxB,EAAA;AACF,CACF;;;;;"}