@bigbinary/neeto-payments-frontend 1.5.0-beta1 → 1.6.0-beta2

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 (157) hide show
  1. package/README.md +4 -95
  2. package/app/javascript/src/translations/en.json +0 -15
  3. package/dist/AccountsDashboard.js +477 -0
  4. package/dist/AccountsDashboard.js.map +1 -0
  5. package/dist/Dashboard.js +598 -0
  6. package/dist/Dashboard.js.map +1 -0
  7. package/dist/ExportModal-85725c35.js +645 -0
  8. package/dist/ExportModal-85725c35.js.map +1 -0
  9. package/dist/IdentifierButton-73cadb18.js +20 -0
  10. package/dist/IdentifierButton-73cadb18.js.map +1 -0
  11. package/dist/PaymentKindRestrictionAlert.js +34 -0
  12. package/dist/PaymentKindRestrictionAlert.js.map +1 -0
  13. package/dist/PayoutsDashboard.js +503 -0
  14. package/dist/PayoutsDashboard.js.map +1 -0
  15. package/dist/PayoutsPage.js +185 -0
  16. package/dist/PayoutsPage.js.map +1 -0
  17. package/dist/RazorpayDashboard.js +251 -0
  18. package/dist/RazorpayDashboard.js.map +1 -0
  19. package/dist/RazorpayPaymentButton.js +111 -0
  20. package/dist/RazorpayPaymentButton.js.map +1 -0
  21. package/dist/StripeConnect.js +2071 -0
  22. package/dist/StripeConnect.js.map +1 -0
  23. package/dist/U2TDTBMY-c464dc98.js +12081 -0
  24. package/dist/U2TDTBMY-c464dc98.js.map +1 -0
  25. package/dist/UpiConnect.js +148 -0
  26. package/dist/UpiConnect.js.map +1 -0
  27. package/dist/UpiMarkAsPaidButton.js +42 -0
  28. package/dist/UpiMarkAsPaidButton.js.map +1 -0
  29. package/dist/UpiPayment.js +94 -0
  30. package/dist/UpiPayment.js.map +1 -0
  31. package/dist/V2PaymentsDashboard.js +302 -0
  32. package/dist/V2PaymentsDashboard.js.map +1 -0
  33. package/dist/buildStripeTransactionLink.js +6 -0
  34. package/dist/buildStripeTransactionLink.js.map +1 -0
  35. package/dist/cjs/AccountsDashboard.js +494 -0
  36. package/dist/cjs/AccountsDashboard.js.map +1 -0
  37. package/dist/cjs/Dashboard.js +613 -0
  38. package/dist/cjs/Dashboard.js.map +1 -0
  39. package/dist/cjs/ExportModal-20f368a1.js +669 -0
  40. package/dist/cjs/ExportModal-20f368a1.js.map +1 -0
  41. package/dist/cjs/IdentifierButton-40b5459d.js +27 -0
  42. package/dist/cjs/IdentifierButton-40b5459d.js.map +1 -0
  43. package/dist/cjs/PaymentKindRestrictionAlert.js +41 -0
  44. package/dist/cjs/PaymentKindRestrictionAlert.js.map +1 -0
  45. package/dist/cjs/PayoutsDashboard.js +519 -0
  46. package/dist/cjs/PayoutsDashboard.js.map +1 -0
  47. package/dist/cjs/PayoutsPage.js +194 -0
  48. package/dist/cjs/PayoutsPage.js.map +1 -0
  49. package/dist/cjs/RazorpayDashboard.js +262 -0
  50. package/dist/cjs/RazorpayDashboard.js.map +1 -0
  51. package/dist/cjs/RazorpayPaymentButton.js +118 -0
  52. package/dist/cjs/RazorpayPaymentButton.js.map +1 -0
  53. package/dist/cjs/StripeConnect.js +2106 -0
  54. package/dist/cjs/StripeConnect.js.map +1 -0
  55. package/dist/cjs/U2TDTBMY-e2fad970.js +12083 -0
  56. package/dist/cjs/U2TDTBMY-e2fad970.js.map +1 -0
  57. package/dist/cjs/UpiConnect.js +181 -0
  58. package/dist/cjs/UpiConnect.js.map +1 -0
  59. package/dist/cjs/UpiMarkAsPaidButton.js +49 -0
  60. package/dist/cjs/UpiMarkAsPaidButton.js.map +1 -0
  61. package/dist/cjs/UpiPayment.js +124 -0
  62. package/dist/cjs/UpiPayment.js.map +1 -0
  63. package/dist/cjs/V2PaymentsDashboard.js +313 -0
  64. package/dist/cjs/V2PaymentsDashboard.js.map +1 -0
  65. package/dist/cjs/buildStripeTransactionLink.js +11 -0
  66. package/dist/cjs/buildStripeTransactionLink.js.map +1 -0
  67. package/dist/cjs/constants.js +495 -0
  68. package/dist/cjs/constants.js.map +1 -0
  69. package/dist/cjs/exportChannel-7bd80952.js +39 -0
  70. package/dist/cjs/exportChannel-7bd80952.js.map +1 -0
  71. package/dist/cjs/extends-1b35a664.js +19 -0
  72. package/dist/cjs/extends-1b35a664.js.map +1 -0
  73. package/dist/cjs/index-b097dce8.js +41 -0
  74. package/dist/cjs/index-b097dce8.js.map +1 -0
  75. package/dist/cjs/index-b7badf96.js +88 -0
  76. package/dist/cjs/index-b7badf96.js.map +1 -0
  77. package/dist/cjs/index.js +100 -0
  78. package/dist/cjs/index.js.map +1 -0
  79. package/dist/cjs/mutation-ed7b84fc.js +235 -0
  80. package/dist/cjs/mutation-ed7b84fc.js.map +1 -0
  81. package/dist/cjs/queryConstants-de21eed5.js +944 -0
  82. package/dist/cjs/queryConstants-de21eed5.js.map +1 -0
  83. package/dist/cjs/renderFunctions-398d3fb5.js +3719 -0
  84. package/dist/cjs/renderFunctions-398d3fb5.js.map +1 -0
  85. package/dist/cjs/stripe.esm-4218a1e9.js.map +1 -0
  86. package/dist/cjs/useConnectApi-f0665633.js +2189 -0
  87. package/dist/cjs/useConnectApi-f0665633.js.map +1 -0
  88. package/dist/cjs/useFiltersAndPagination-312c0331.js +277 -0
  89. package/dist/cjs/useFiltersAndPagination-312c0331.js.map +1 -0
  90. package/dist/cjs/useMutation-4c7cdbe1.js +154 -0
  91. package/dist/cjs/useMutation-4c7cdbe1.js.map +1 -0
  92. package/dist/cjs/usePaymentApi-ae70e5df.js +48 -0
  93. package/dist/cjs/usePaymentApi-ae70e5df.js.map +1 -0
  94. package/dist/cjs/usePaymentsApi-815be3da.js +36 -0
  95. package/dist/cjs/usePaymentsApi-815be3da.js.map +1 -0
  96. package/dist/cjs/usePlatformApi-830827fa.js +116 -0
  97. package/dist/cjs/usePlatformApi-830827fa.js.map +1 -0
  98. package/dist/cjs/useRazorpayPayment.js +91 -0
  99. package/dist/cjs/useRazorpayPayment.js.map +1 -0
  100. package/dist/cjs/useStripePromise.js +27 -0
  101. package/dist/cjs/useStripePromise.js.map +1 -0
  102. package/dist/cjs/utils-7eba34a4.js +664 -0
  103. package/dist/cjs/utils-7eba34a4.js.map +1 -0
  104. package/dist/constants.js +480 -0
  105. package/dist/constants.js.map +1 -0
  106. package/dist/exportChannel-250e6f14.js +32 -0
  107. package/dist/exportChannel-250e6f14.js.map +1 -0
  108. package/dist/extends-093996c9.js +17 -0
  109. package/dist/extends-093996c9.js.map +1 -0
  110. package/dist/index-1aedc364.js +80 -0
  111. package/dist/index-1aedc364.js.map +1 -0
  112. package/dist/index-48f8b281.js +32 -0
  113. package/dist/index-48f8b281.js.map +1 -0
  114. package/dist/index.js +77 -12558
  115. package/dist/index.js.map +1 -1
  116. package/dist/mutation-286611ef.js +232 -0
  117. package/dist/mutation-286611ef.js.map +1 -0
  118. package/dist/queryConstants-765c8816.js +920 -0
  119. package/dist/queryConstants-765c8816.js.map +1 -0
  120. package/dist/renderFunctions-97b121a4.js +3633 -0
  121. package/dist/renderFunctions-97b121a4.js.map +1 -0
  122. package/dist/useConnectApi-87335bf6.js +2174 -0
  123. package/dist/useConnectApi-87335bf6.js.map +1 -0
  124. package/dist/useFiltersAndPagination-2ab7bc8f.js +262 -0
  125. package/dist/useFiltersAndPagination-2ab7bc8f.js.map +1 -0
  126. package/dist/useMutation-8d67f853.js +132 -0
  127. package/dist/useMutation-8d67f853.js.map +1 -0
  128. package/dist/usePaymentApi-12737871.js +41 -0
  129. package/dist/usePaymentApi-12737871.js.map +1 -0
  130. package/dist/usePaymentsApi-a801ab15.js +29 -0
  131. package/dist/usePaymentsApi-a801ab15.js.map +1 -0
  132. package/dist/usePlatformApi-8adc2a50.js +104 -0
  133. package/dist/usePlatformApi-8adc2a50.js.map +1 -0
  134. package/dist/useRazorpayPayment.js +89 -0
  135. package/dist/useRazorpayPayment.js.map +1 -0
  136. package/dist/useStripePromise.js +25 -0
  137. package/dist/useStripePromise.js.map +1 -0
  138. package/dist/utils-e29db9c9.js +614 -0
  139. package/dist/utils-e29db9c9.js.map +1 -0
  140. package/package.json +18 -10
  141. package/types/AccountsDashboard.d.ts +3 -0
  142. package/types/Dashboard.d.ts +15 -0
  143. package/types/PaymentKindRestrictionAlert.d.ts +11 -0
  144. package/types/PayoutsDashboard.d.ts +10 -0
  145. package/types/PayoutsPage.d.ts +11 -0
  146. package/types/StripeConnect.d.ts +13 -0
  147. package/types/buildStripeTransactionLink.d.ts +6 -0
  148. package/types/useStripePromise.d.ts +5 -0
  149. package/types.d.ts +8 -75
  150. package/dist/index-042b6907.js +0 -6
  151. package/dist/index-042b6907.js.map +0 -1
  152. package/dist/index-87824935.js +0 -4
  153. package/dist/index-87824935.js.map +0 -1
  154. package/dist/index.cjs.js +0 -12633
  155. package/dist/index.cjs.js.map +0 -1
  156. package/dist/stripe.esm-4218a1e9.js.map +0 -1
  157. /package/dist/{stripe.esm-4218a1e9.js → cjs/stripe.esm-4218a1e9.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountsDashboard.js","sources":["../app/javascript/src/components/AccountsDashboard/constants/index.js","../app/javascript/src/components/AccountsDashboard/ExportModal.jsx","../app/javascript/src/components/AccountsDashboard/utils/renderFunctions.jsx","../app/javascript/src/components/AccountsDashboard/constants/columns.js","../app/javascript/src/components/AccountsDashboard/hooks/useFiltersAndPagination.js","../app/javascript/src/apis/stripe/accounts.js","../app/javascript/src/hooks/reactQuery/stripe/useAccountsApi.js","../app/javascript/src/components/AccountsDashboard/List.jsx","../app/javascript/src/components/AccountsDashboard/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const TAB = {\n all: \"all\",\n connected: \"connected\",\n disconnected: \"disconnected\",\n incomplete: \"incomplete\",\n};\n\nexport const TABS = Object.values(TAB);\n\nexport const SEARCH_PROPS = {\n key: \"keyword\",\n node: \"identifier,user.first_name,last_name,email\",\n model: \"NeetoPaymentsEngine::Stripe::Account,User\",\n};\n\nexport const DASHBOARD_MANDATORY_COLUMNS = [\"id\", \"status\", \"identifier\"];\n\nexport const FILTER_COLUMNS = [\n {\n key: \"created_at\",\n label: t(\"neetoPayments.common.createdAt\"),\n node: \"created_at\",\n type: \"date\",\n showRuleSelector: true,\n },\n];\n\nexport const STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY =\n \"stripeAccountsDashboard\";\n","import React, { useEffect, useMemo, useState } from \"react\";\n\nimport { Download } from \"neetoicons\";\nimport { Button, Modal, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useExportData } from \"hooks/reactQuery/stripe/useExportsApi\";\nimport exportChannel from \"src/channels/exportChannel\";\nimport { uuidV4 } from \"utils\";\n\nconst ExportModal = ({\n showExportModal,\n setShowExportModal,\n tab,\n filters,\n sortProperties = {},\n}) => {\n const { t } = useTranslation();\n const [downloadUrl, setDownloadUrl] = useState(\"\");\n const [isGenerating, setIsGenerating] = useState(false);\n\n const { mutate: exportCsv, isLoading } = useExportData();\n const isFileLoading = isLoading || isGenerating;\n\n const token = useMemo(() => `account-report-${uuidV4()}`, []);\n\n const receivedCallback = data => {\n if (!data.download_url) return;\n setDownloadUrl(data.download_url);\n setIsGenerating(false);\n };\n\n const handleGenerateClick = () => {\n const payload = {\n kind: \"account\",\n token,\n filters,\n tab,\n ...sortProperties,\n };\n\n exportCsv(payload, {\n onSuccess: () => {\n setDownloadUrl(\"\");\n setIsGenerating(true);\n },\n });\n };\n\n useEffect(() => {\n if (showExportModal) {\n const channel = exportChannel(token, receivedCallback);\n setDownloadUrl(\"\");\n setIsGenerating(false);\n\n return () => {\n channel.disconnected();\n };\n }\n\n return undefined;\n }, [showExportModal, token]);\n\n const onClose = () => setShowExportModal(false);\n\n return (\n <Modal {...{ onClose }} isOpen={showExportModal}>\n <Modal.Header>\n <Typography style=\"h2\">\n {t(\"neetoPayments.export.title.account\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n {isFileLoading ? (\n <Typography style=\"body2\">\n {t(\"neetoPayments.export.pleaseWait\")}\n </Typography>\n ) : (\n <Typography style=\"body2\">\n {downloadUrl\n ? t(\"neetoPayments.export.fileReady\")\n : t(\"neetoPayments.export.download.account\")}\n </Typography>\n )}\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n {downloadUrl ? (\n <Button\n href={downloadUrl}\n icon={Download}\n label={t(\"neetoPayments.common.download\")}\n onClick={onClose}\n />\n ) : (\n <>\n <Button\n disabled={isFileLoading}\n label={t(\"neetoPayments.common.cancel\")}\n style=\"tertiary\"\n onClick={onClose}\n />\n <Button\n disabled={isFileLoading}\n label={t(\"neetoPayments.common.export\")}\n loading={isFileLoading}\n onClick={handleGenerateClick}\n />\n </>\n )}\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default ExportModal;\n","import React from \"react\";\n\nimport { capitalize } from \"neetocist\";\nimport { join, map, pipe, split } from \"ramda\";\n\nimport CopyButtonWrapper from \"components/Common/CopyButtonWrapper\";\nimport IdentifierButton from \"components/Dashboard/IdentifierButton\";\nimport { buildStripeAccountLink } from \"utils\";\n\nexport const renderIdentifier = ({\n identifier = \"\",\n live: isLive = false,\n} = {}) => (\n <CopyButtonWrapper content={identifier}>\n <IdentifierButton\n href={buildStripeAccountLink(identifier, isLive)}\n label={identifier}\n />\n </CopyButtonWrapper>\n);\n\nexport const renderCountry = pipe(split(\"_\"), map(capitalize), join(\" \"));\n","import { t } from \"i18next\";\n\nimport {\n renderDate,\n renderEmail,\n renderFullName,\n renderStatus,\n} from \"utils/renderFunctions\";\n\nimport { renderCountry, renderIdentifier } from \"../utils/renderFunctions\";\n\nexport const COLUMNS = [\n {\n title: t(\"neetoPayments.common.id\"),\n dataIndex: \"id\",\n key: \"id\",\n width: \"72px\",\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.identifier\"),\n dataIndex: \"identifier\",\n key: \"identifier\",\n width: \"300px\",\n render: renderIdentifier,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.status\"),\n dataIndex: \"status\",\n key: \"status\",\n width: \"150px\",\n render: renderStatus(\"account\"),\n sorter: true,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.name\"),\n dataIndex: \"first_name\",\n key: \"first_name\",\n width: \"300px\",\n sorter: true,\n render: renderFullName,\n },\n {\n title: t(\"neetoPayments.common.email\"),\n dataIndex: \"email\",\n key: \"email\",\n width: \"300px\",\n sorter: true,\n render: renderEmail,\n },\n {\n title: t(\"neetoPayments.common.country\"),\n dataIndex: \"country\",\n key: \"country\",\n width: \"150px\",\n render: renderCountry,\n sorter: true,\n },\n {\n title: t(\"neetoPayments.common.createdAt\"),\n dataIndex: \"createdAt\",\n key: \"createdAt\",\n width: \"220px\",\n render: renderDate,\n sorter: true,\n },\n];\n","import { useState } from \"react\";\n\nimport { removeBy } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { buildFiltersFromURL } from \"neetofilters\";\nimport { mergeLeft } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { DEFAULT_SORT_PROPERTIES } from \"src/constants\";\nimport { buildDefaultPageProperties } from \"utils/dashboard\";\n\nimport { FILTER_COLUMNS, TAB, TABS, SEARCH_PROPS } from \"../constants\";\nimport { COLUMNS } from \"../constants/columns\";\n\nexport const useFiltersAndPagination = () => {\n const history = useHistory();\n const [isFilterButtonVisible, setIsFilterButtonVisible] = useState(false);\n const [isFilterPaneOpen, setIsFilterPaneOpen] = useState(false);\n const [pageProperties, setPageProperties] = useState(\n buildDefaultPageProperties(TABS)\n );\n const [sortProperties, setSortProperties] = useState(DEFAULT_SORT_PROPERTIES);\n const { tab = TAB.all } = useQueryParams();\n\n const { searchTerm = \"\" } = getQueryParams();\n const searchKeywordProps = {\n ...SEARCH_PROPS,\n key: \"search_term\",\n value: searchTerm.trim(),\n };\n\n const [filters, setFilters] = useState(\n buildFiltersFromURL([...FILTER_COLUMNS, searchKeywordProps])\n );\n const [dataSize, setDataSize] = useState(null);\n\n const columnData =\n tab !== TAB.all ? removeBy({ key: \"status\" }, COLUMNS) : COLUMNS;\n\n const handleTabChange = tab => {\n setDataSize(null);\n const queryParams = getQueryParams({ toCamelCase: false });\n const newParams = {\n tab,\n page: pageProperties[tab]?.page,\n page_size: pageProperties[tab]?.pageSize,\n };\n\n history.push(\n buildUrl(window.location.pathname, mergeLeft(newParams, queryParams))\n );\n };\n\n return {\n isFilterButtonVisible,\n isFilterPaneOpen,\n pageProperties,\n filters,\n searchKeywordProps,\n tab,\n sortProperties,\n columnData,\n dataSize,\n setDataSize,\n setIsFilterButtonVisible,\n setIsFilterPaneOpen,\n setPageProperties,\n setFilters,\n handleTabChange,\n setSortProperties,\n };\n};\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst list = payload =>\n axios.get(`${BASE_URL}/api/v1/stripe/accounts`, {\n params: payload,\n });\n\nconst accountsApi = { list };\n\nexport default accountsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport accountsApi from \"apis/stripe/accounts\";\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchConnectedAccounts = (payload = {}, options = {}) =>\n useQuery({\n queryKey: [QUERY_KEYS.STRIPE_ACCOUNTS_LIST, payload],\n queryFn: () => accountsApi.list(payload),\n ...options,\n });\n","import React, { useEffect } from \"react\";\n\nimport { camelToSnakeCase, isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { useHiddenColumns } from \"neetomolecules/Columns\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table, NoData } from \"neetoui\";\nimport { assoc, mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useFetchConnectedAccounts } from \"hooks/reactQuery/stripe/useAccountsApi\";\nimport { DEFAULT_SORT_PROPERTIES, SORT_DIRECTIONS } from \"src/constants\";\nimport { buildPayload, buildRowData } from \"utils/dashboard\";\n\nimport {\n TAB,\n STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY,\n} from \"./constants\";\n\nconst List = ({\n columnData,\n filters,\n pageProperties,\n setDataSize,\n setIsFilterButtonVisible,\n setPageProperties,\n setSortProperties,\n sortProperties,\n tab,\n}) => {\n const history = useHistory();\n const { t } = useTranslation();\n const { hideColumn, getVisibleColumnData } = useHiddenColumns(\n STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY\n );\n\n const {\n data: { accounts = [], views = {} } = {},\n isLoading,\n isFetching,\n } = useFetchConnectedAccounts(\n buildPayload({ filters, pageProperties, sortProperties, tab })\n );\n\n const dataSize = views[tab];\n\n useEffect(() => {\n setIsFilterButtonVisible(isPresent(accounts) || isPresent(filters));\n setDataSize(dataSize);\n }, [accounts]);\n\n const handleTablePagination = (page, pageSize) => {\n const queryParams = getQueryParams({ toCamelCase: false });\n history.push(\n buildUrl(\n window.location.pathname,\n mergeLeft({ page, page_size: pageSize }, queryParams)\n )\n );\n setPageProperties(assoc(tab, { page, pageSize }));\n };\n\n useEffect(() => {\n handleTablePagination(DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE);\n setSortProperties(DEFAULT_SORT_PROPERTIES);\n }, [filters, tab]);\n\n const handleTableChange = (_, __, sorter) => {\n setSortProperties(\n isPresent(sorter?.column)\n ? {\n sortBy: camelToSnakeCase(sorter.field),\n orderBy: sorter.order === \"ascend\" ? \"ASC\" : \"DESC\",\n }\n : DEFAULT_SORT_PROPERTIES\n );\n };\n\n if (isLoading) {\n return <PageLoader />;\n }\n\n if (dataSize <= 0 || !isPresent(accounts)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n title={\n tab === TAB.all\n ? t(\"neetoPayments.emptyState.account\")\n : t(\"neetoPayments.emptyState.accountWithStatus\", { status: tab })\n }\n />\n </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={dataSize > pageProperties[tab]?.pageSize}>\n <Table\n fixedHeight\n allowRowClick={false}\n columnData={getVisibleColumnData(columnData)}\n currentPageNumber={pageProperties[tab]?.page}\n handlePageChange={handleTablePagination}\n loading={isFetching}\n rowData={buildRowData({ data: accounts, pageProperties, tab })}\n rowSelection={false}\n sortDirections={SORT_DIRECTIONS}\n totalCount={dataSize}\n paginationProps={{\n showSizeChanger: true,\n hideOnSinglePage: true,\n pageSize: pageProperties[tab]?.pageSize,\n total: dataSize,\n }}\n onChange={handleTableChange}\n onColumnHide={({ dataIndex }) => hideColumn(dataIndex)}\n />\n </TableWrapper>\n );\n};\n\nexport default List;\n","import React, { useState, useTransition } from \"react\";\n\nimport { t } from \"i18next\";\nimport { isPresent } from \"neetocist\";\nimport { withTitle } from \"neetocommons/react-utils\";\nimport { Bar as FiltersBar } from \"neetofilters\";\nimport Header from \"neetomolecules/Header\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport { Tab, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport withReactQuery from \"components/Common/withReactQuery\";\n\nimport {\n DASHBOARD_MANDATORY_COLUMNS,\n FILTER_COLUMNS,\n TAB,\n TABS,\n STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY,\n} from \"./constants\";\nimport ExportModal from \"./ExportModal\";\nimport { useFiltersAndPagination } from \"./hooks/useFiltersAndPagination\";\nimport List from \"./List\";\n\nconst AccountsDashboard = () => {\n const [_, startTransition] = useTransition();\n const { t } = useTranslation();\n\n const [showExportModal, setShowExportModal] = useState(false);\n const {\n isFilterButtonVisible,\n isFilterPaneOpen,\n pageProperties,\n filters,\n searchKeywordProps,\n tab,\n sortProperties,\n columnData,\n dataSize,\n setDataSize,\n setIsFilterButtonVisible,\n setIsFilterPaneOpen,\n setPageProperties,\n setFilters,\n handleTabChange,\n setSortProperties,\n } = useFiltersAndPagination();\n\n const isTabsVisible = isFilterButtonVisible || tab !== \"all\";\n\n const handleFiltersChange = filters => {\n startTransition(() => {\n setFilters(filters);\n });\n };\n\n return (\n <>\n <Header\n title={t(\"neetoPayments.title.account\")}\n searchProps={\n isFilterButtonVisible && {\n placeholder: t(\"neetoPayments.common.search\"),\n className: \"w-80\",\n }\n }\n />\n {isTabsVisible && (\n <Tab>\n {TABS.map(item => (\n <Tab.Item\n active={tab === item}\n key={item}\n onClick={() => handleTabChange(item)}\n >\n {t(`neetoPayments.common.${item}`)}\n </Tab.Item>\n ))}\n </Tab>\n )}\n <SubHeader\n className=\"mt-4\"\n leftActionBlock={\n isPresent(dataSize) && (\n <Typography\n className=\"neeto-ui-gray-800 mr-2 font-semibold\"\n component=\"h4\"\n >\n {tab === TAB.all\n ? t(\"neetoPayments.countOf.account\", { count: dataSize })\n : t(\"neetoPayments.countOf.accountWithStatus\", {\n count: dataSize,\n status: tab,\n })}\n </Typography>\n )\n }\n rightActionBlock={\n <>\n <FiltersBar\n columns={FILTER_COLUMNS}\n keyword={searchKeywordProps}\n setIsPaneOpen={setIsFilterPaneOpen}\n onChange={handleFiltersChange}\n />\n {isFilterButtonVisible && (\n <SubHeader.RightBlock\n columnsButtonProps={{\n columnData,\n fixedColumns: DASHBOARD_MANDATORY_COLUMNS,\n localStorageKey:\n STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY,\n }}\n downloadButtonProps={{\n onClick: () => setShowExportModal(true),\n }}\n filterProps={{\n columns: FILTER_COLUMNS,\n isOpen: isFilterPaneOpen,\n keyword: searchKeywordProps,\n setIsOpen: setIsFilterPaneOpen,\n onChange: handleFiltersChange,\n }}\n />\n )}\n </>\n }\n />\n <List\n {...{\n columnData,\n filters,\n pageProperties,\n setDataSize,\n setIsFilterButtonVisible,\n setPageProperties,\n setSortProperties,\n sortProperties,\n tab,\n }}\n />\n <ExportModal\n {...{\n filters,\n setShowExportModal,\n showExportModal,\n sortProperties,\n tab,\n }}\n />\n </>\n );\n};\n\nexport default withTitle(\n withReactQuery(AccountsDashboard),\n t(\"neetoPayments.title.account\")\n);\n"],"names":["TAB","all","connected","disconnected","incomplete","TABS","Object","values","SEARCH_PROPS","key","node","model","DASHBOARD_MANDATORY_COLUMNS","FILTER_COLUMNS","label","t","type","showRuleSelector","STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY","ExportModal","_ref","showExportModal","setShowExportModal","tab","filters","sortProperties","useTranslation","downloadUrl","setDownloadUrl","useState","isGenerating","setIsGenerating","mutate","exportCsv","isLoading","useExportData","isFileLoading","token","useMemo","uuidV4","receivedCallback","data","download_url","handleGenerateClick","payload","kind","onSuccess","useEffect","channel","exportChannel","undefined","onClose","React","createElement","Modal","isOpen","Header","Typography","style","Body","Footer","className","Button","href","icon","Download","onClick","Fragment","disabled","loading","renderIdentifier","identifier","live","isLive","arguments","length","CopyButtonWrapper","content","IdentifierButton","buildStripeAccountLink","renderCountry","pipe","split","map","capitalize","join","COLUMNS","title","dataIndex","width","isHidable","render","renderStatus","sorter","renderFullName","renderEmail","renderDate","useFiltersAndPagination","history","useHistory","isFilterButtonVisible","setIsFilterButtonVisible","isFilterPaneOpen","setIsFilterPaneOpen","pageProperties","setPageProperties","buildDefaultPageProperties","setSortProperties","DEFAULT_SORT_PROPERTIES","useQueryParams","searchTerm","getQueryParams","searchKeywordProps","value","trim","setFilters","buildFiltersFromURL","dataSize","setDataSize","columnData","removeBy","handleTabChange","queryParams","toCamelCase","newParams","page","page_size","pageSize","push","buildUrl","window","location","pathname","mergeLeft","list","axios","get","BASE_URL","params","accountsApi","useFetchConnectedAccounts","options","useQuery","queryKey","QUERY_KEYS","STRIPE_ACCOUNTS_LIST","queryFn","List","hideColumn","getVisibleColumnData","useHiddenColumns","accounts","views","isFetching","buildPayload","isPresent","handleTablePagination","assoc","DEFAULT_PAGE_INDEX","DEFAULT_PAGE_SIZE","handleTableChange","_","__","column","sortBy","camelToSnakeCase","field","orderBy","order","PageLoader","NoData","status","TableWrapper","hasPagination","Table","fixedHeight","allowRowClick","currentPageNumber","handlePageChange","rowData","buildRowData","rowSelection","sortDirections","SORT_DIRECTIONS","totalCount","paginationProps","showSizeChanger","hideOnSinglePage","total","onChange","onColumnHide","_ref2","AccountsDashboard","startTransition","useTransition","isTabsVisible","handleFiltersChange","searchProps","placeholder","Tab","item","Item","active","SubHeader","leftActionBlock","component","count","rightActionBlock","FiltersBar","columns","keyword","setIsPaneOpen","RightBlock","columnsButtonProps","fixedColumns","localStorageKey","downloadButtonProps","filterProps","setIsOpen","withTitle","withReactQuery"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,MAAMA,GAAG,GAAG;AACjBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,YAAY,EAAE,cAAc;AAC5BC,EAAAA,UAAU,EAAE,YAAA;AACd,CAAC,CAAA;AAEM,MAAMC,IAAI,GAAGC,MAAM,CAACC,MAAM,CAACP,GAAG,CAAC,CAAA;AAE/B,MAAMQ,YAAY,GAAG;AAC1BC,EAAAA,GAAG,EAAE,SAAS;AACdC,EAAAA,IAAI,EAAE,4CAA4C;AAClDC,EAAAA,KAAK,EAAE,2CAAA;AACT,CAAC,CAAA;AAEM,MAAMC,2BAA2B,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;AAElE,MAAMC,cAAc,GAAG,CAC5B;AACEJ,EAAAA,GAAG,EAAE,YAAY;AACjBK,EAAAA,KAAK,EAAEC,CAAC,CAAC,gCAAgC,CAAC;AAC1CL,EAAAA,IAAI,EAAE,YAAY;AAClBM,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,gBAAgB,EAAE,IAAA;AACpB,CAAC,CACF,CAAA;AAEM,MAAMC,gDAAgD,GAC3D,yBAAyB;;ACpB3B,MAAMC,WAAW,GAAGC,IAAA,IAMd;EAAA,IANe;IACnBC,eAAe;IACfC,kBAAkB;IAClBC,GAAG;IACHC,OAAO;AACPC,IAAAA,cAAc,GAAG,EAAC;AACpB,GAAC,GAAAL,IAAA,CAAA;EACC,MAAM;AAAEL,IAAAA,CAAAA;GAAG,GAAGW,cAAc,EAAE,CAAA;EAC9B,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGC,QAAQ,CAAC,EAAE,CAAC,CAAA;EAClD,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGF,QAAQ,CAAC,KAAK,CAAC,CAAA;EAEvD,MAAM;AAAEG,IAAAA,MAAM,EAAEC,SAAS;AAAEC,IAAAA,SAAAA;GAAW,GAAGC,aAAa,EAAE,CAAA;AACxD,EAAA,MAAMC,aAAa,GAAGF,SAAS,IAAIJ,YAAY,CAAA;AAE/C,EAAA,MAAMO,KAAK,GAAGC,OAAO,CAAC,MAAO,CAAA,eAAA,EAAiBC,MAAM,EAAG,CAAA,CAAC,EAAE,EAAE,CAAC,CAAA;EAE7D,MAAMC,gBAAgB,GAAGC,IAAI,IAAI;AAC/B,IAAA,IAAI,CAACA,IAAI,CAACC,YAAY,EAAE,OAAA;AACxBd,IAAAA,cAAc,CAACa,IAAI,CAACC,YAAY,CAAC,CAAA;IACjCX,eAAe,CAAC,KAAK,CAAC,CAAA;GACvB,CAAA;EAED,MAAMY,mBAAmB,GAAGA,MAAM;AAChC,IAAA,MAAMC,OAAO,GAAG;AACdC,MAAAA,IAAI,EAAE,SAAS;MACfR,KAAK;MACLb,OAAO;MACPD,GAAG;MACH,GAAGE,cAAAA;KACJ,CAAA;IAEDQ,SAAS,CAACW,OAAO,EAAE;MACjBE,SAAS,EAAEA,MAAM;QACflB,cAAc,CAAC,EAAE,CAAC,CAAA;QAClBG,eAAe,CAAC,IAAI,CAAC,CAAA;AACvB,OAAA;AACF,KAAC,CAAC,CAAA;GACH,CAAA;AAEDgB,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,IAAI1B,eAAe,EAAE;AACnB,MAAA,MAAM2B,OAAO,GAAGC,aAAa,CAACZ,KAAK,EAAEG,gBAAgB,CAAC,CAAA;MACtDZ,cAAc,CAAC,EAAE,CAAC,CAAA;MAClBG,eAAe,CAAC,KAAK,CAAC,CAAA;AAEtB,MAAA,OAAO,MAAM;QACXiB,OAAO,CAAC7C,YAAY,EAAE,CAAA;OACvB,CAAA;AACH,KAAA;AAEA,IAAA,OAAO+C,SAAS,CAAA;AAClB,GAAC,EAAE,CAAC7B,eAAe,EAAEgB,KAAK,CAAC,CAAC,CAAA;AAE5B,EAAA,MAAMc,OAAO,GAAGA,MAAM7B,kBAAkB,CAAC,KAAK,CAAC,CAAA;AAE/C,EAAA,oBACE8B,cAAA,CAAAC,aAAA,CAACC,KAAK,EAAA;IAAOH,OAAO;AAAII,IAAAA,MAAM,EAAElC,eAAAA;AAAgB,GAAA,eAC9C+B,cAAA,CAAAC,aAAA,CAACC,KAAK,CAACE,MAAM,EAAA,IAAA,eACXJ,cAAA,CAAAC,aAAA,CAACI,UAAU,EAAA;AAACC,IAAAA,KAAK,EAAC,IAAA;GACf3C,EAAAA,CAAC,CAAC,oCAAoC,CAC7B,CACA,CAAC,eACfqC,cAAA,CAAAC,aAAA,CAACC,KAAK,CAACK,IAAI,EACRvB,IAAAA,EAAAA,aAAa,gBACZgB,cAAA,CAAAC,aAAA,CAACI,UAAU,EAAA;AAACC,IAAAA,KAAK,EAAC,OAAA;GACf3C,EAAAA,CAAC,CAAC,iCAAiC,CAC1B,CAAC,gBAEbqC,cAAA,CAAAC,aAAA,CAACI,UAAU,EAAA;AAACC,IAAAA,KAAK,EAAC,OAAA;GACf/B,EAAAA,WAAW,GACRZ,CAAC,CAAC,gCAAgC,CAAC,GACnCA,CAAC,CAAC,uCAAuC,CACnC,CAEJ,CAAC,eACbqC,cAAA,CAAAC,aAAA,CAACC,KAAK,CAACM,MAAM,EAAA;AAACC,IAAAA,SAAS,EAAC,WAAA;AAAW,GAAA,EAChClC,WAAW,gBACVyB,cAAA,CAAAC,aAAA,CAACS,MAAM,EAAA;AACLC,IAAAA,IAAI,EAAEpC,WAAY;AAClBqC,IAAAA,IAAI,EAAEC,QAAS;AACfnD,IAAAA,KAAK,EAAEC,CAAC,CAAC,+BAA+B,CAAE;AAC1CmD,IAAAA,OAAO,EAAEf,OAAAA;AAAQ,GAClB,CAAC,gBAEFC,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAe,QAAA,EACEf,IAAAA,eAAAA,cAAA,CAAAC,aAAA,CAACS,MAAM,EAAA;AACLM,IAAAA,QAAQ,EAAEhC,aAAc;AACxBtB,IAAAA,KAAK,EAAEC,CAAC,CAAC,6BAA6B,CAAE;AACxC2C,IAAAA,KAAK,EAAC,UAAU;AAChBQ,IAAAA,OAAO,EAAEf,OAAAA;AAAQ,GAClB,CAAC,eACFC,cAAA,CAAAC,aAAA,CAACS,MAAM,EAAA;AACLM,IAAAA,QAAQ,EAAEhC,aAAc;AACxBtB,IAAAA,KAAK,EAAEC,CAAC,CAAC,6BAA6B,CAAE;AACxCsD,IAAAA,OAAO,EAAEjC,aAAc;AACvB8B,IAAAA,OAAO,EAAEvB,mBAAAA;GACV,CACD,CAEQ,CACT,CAAC,CAAA;AAEZ,CAAC;;ACvGM,MAAM2B,gBAAgB,GAAG,YAAA;EAAA,IAAC;AAC/BC,IAAAA,UAAU,GAAG,EAAE;IACfC,IAAI,EAAEC,MAAM,GAAG,KAAA;AACjB,GAAC,GAAAC,SAAA,CAAAC,MAAA,GAAAD,CAAAA,IAAAA,SAAA,CAAAxB,CAAAA,CAAAA,KAAAA,SAAA,GAAAwB,SAAA,CAAG,CAAA,CAAA,GAAA,EAAE,CAAA;AAAA,EAAA,oBACJtB,cAAA,CAAAC,aAAA,CAACuB,iBAAiB,EAAA;AAACC,IAAAA,OAAO,EAAEN,UAAAA;AAAW,GAAA,eACrCnB,cAAA,CAAAC,aAAA,CAACyB,gBAAgB,EAAA;AACff,IAAAA,IAAI,EAAEgB,sBAAsB,CAACR,UAAU,EAAEE,MAAM,CAAE;AACjD3D,IAAAA,KAAK,EAAEyD,UAAAA;AAAW,GACnB,CACgB,CAAC,CAAA;AAAA,CACrB,CAAA;AAEM,MAAMS,aAAa,GAAGC,IAAI,CAACC,KAAK,CAAC,GAAG,CAAC,EAAEC,GAAG,CAACC,UAAU,CAAC,EAAEC,IAAI,CAAC,GAAG,CAAC,CAAC;;ACVlE,MAAMC,OAAO,GAAG,CACrB;AACEC,EAAAA,KAAK,EAAExE,CAAC,CAAC,yBAAyB,CAAC;AACnCyE,EAAAA,SAAS,EAAE,IAAI;AACf/E,EAAAA,GAAG,EAAE,IAAI;AACTgF,EAAAA,KAAK,EAAE,MAAM;AACbC,EAAAA,SAAS,EAAE,KAAA;AACb,CAAC,EACD;AACEH,EAAAA,KAAK,EAAExE,CAAC,CAAC,iCAAiC,CAAC;AAC3CyE,EAAAA,SAAS,EAAE,YAAY;AACvB/E,EAAAA,GAAG,EAAE,YAAY;AACjBgF,EAAAA,KAAK,EAAE,OAAO;AACdE,EAAAA,MAAM,EAAErB,gBAAgB;AACxBoB,EAAAA,SAAS,EAAE,KAAA;AACb,CAAC,EACD;AACEH,EAAAA,KAAK,EAAExE,CAAC,CAAC,6BAA6B,CAAC;AACvCyE,EAAAA,SAAS,EAAE,QAAQ;AACnB/E,EAAAA,GAAG,EAAE,QAAQ;AACbgF,EAAAA,KAAK,EAAE,OAAO;AACdE,EAAAA,MAAM,EAAEC,YAAY,CAAC,SAAS,CAAC;AAC/BC,EAAAA,MAAM,EAAE,IAAI;AACZH,EAAAA,SAAS,EAAE,KAAA;AACb,CAAC,EACD;AACEH,EAAAA,KAAK,EAAExE,CAAC,CAAC,2BAA2B,CAAC;AACrCyE,EAAAA,SAAS,EAAE,YAAY;AACvB/E,EAAAA,GAAG,EAAE,YAAY;AACjBgF,EAAAA,KAAK,EAAE,OAAO;AACdI,EAAAA,MAAM,EAAE,IAAI;AACZF,EAAAA,MAAM,EAAEG,cAAAA;AACV,CAAC,EACD;AACEP,EAAAA,KAAK,EAAExE,CAAC,CAAC,4BAA4B,CAAC;AACtCyE,EAAAA,SAAS,EAAE,OAAO;AAClB/E,EAAAA,GAAG,EAAE,OAAO;AACZgF,EAAAA,KAAK,EAAE,OAAO;AACdI,EAAAA,MAAM,EAAE,IAAI;AACZF,EAAAA,MAAM,EAAEI,WAAAA;AACV,CAAC,EACD;AACER,EAAAA,KAAK,EAAExE,CAAC,CAAC,8BAA8B,CAAC;AACxCyE,EAAAA,SAAS,EAAE,SAAS;AACpB/E,EAAAA,GAAG,EAAE,SAAS;AACdgF,EAAAA,KAAK,EAAE,OAAO;AACdE,EAAAA,MAAM,EAAEX,aAAa;AACrBa,EAAAA,MAAM,EAAE,IAAA;AACV,CAAC,EACD;AACEN,EAAAA,KAAK,EAAExE,CAAC,CAAC,gCAAgC,CAAC;AAC1CyE,EAAAA,SAAS,EAAE,WAAW;AACtB/E,EAAAA,GAAG,EAAE,WAAW;AAChBgF,EAAAA,KAAK,EAAE,OAAO;AACdE,EAAAA,MAAM,EAAEK,UAAU;AAClBH,EAAAA,MAAM,EAAE,IAAA;AACV,CAAC,CACF;;ACrDM,MAAMI,uBAAuB,GAAGA,MAAM;AAC3C,EAAA,MAAMC,OAAO,GAAGC,UAAU,EAAE,CAAA;EAC5B,MAAM,CAACC,qBAAqB,EAAEC,wBAAwB,CAAC,GAAGxE,QAAQ,CAAC,KAAK,CAAC,CAAA;EACzE,MAAM,CAACyE,gBAAgB,EAAEC,mBAAmB,CAAC,GAAG1E,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC/D,EAAA,MAAM,CAAC2E,cAAc,EAAEC,iBAAiB,CAAC,GAAG5E,QAAQ,CAClD6E,0BAA0B,CAACrG,IAAI,CACjC,CAAC,CAAA;EACD,MAAM,CAACoB,cAAc,EAAEkF,iBAAiB,CAAC,GAAG9E,QAAQ,CAAC+E,uBAAuB,CAAC,CAAA;EAC7E,MAAM;IAAErF,GAAG,GAAGvB,GAAG,CAACC,GAAAA;GAAK,GAAG4G,cAAc,EAAE,CAAA;EAE1C,MAAM;AAAEC,IAAAA,UAAU,GAAG,EAAA;GAAI,GAAGC,cAAc,EAAE,CAAA;AAC5C,EAAA,MAAMC,kBAAkB,GAAG;AACzB,IAAA,GAAGxG,YAAY;AACfC,IAAAA,GAAG,EAAE,aAAa;AAClBwG,IAAAA,KAAK,EAAEH,UAAU,CAACI,IAAI,EAAC;GACxB,CAAA;AAED,EAAA,MAAM,CAAC1F,OAAO,EAAE2F,UAAU,CAAC,GAAGtF,QAAQ,CACpCuF,mBAAmB,CAAC,CAAC,GAAGvG,cAAc,EAAEmG,kBAAkB,CAAC,CAC7D,CAAC,CAAA;EACD,MAAM,CAACK,QAAQ,EAAEC,WAAW,CAAC,GAAGzF,QAAQ,CAAC,IAAI,CAAC,CAAA;EAE9C,MAAM0F,UAAU,GACdhG,GAAG,KAAKvB,GAAG,CAACC,GAAG,GAAGuH,QAAQ,CAAC;AAAE/G,IAAAA,GAAG,EAAE,QAAA;AAAS,GAAC,EAAE6E,OAAO,CAAC,GAAGA,OAAO,CAAA;EAElE,MAAMmC,eAAe,GAAGlG,GAAG,IAAI;IAC7B+F,WAAW,CAAC,IAAI,CAAC,CAAA;IACjB,MAAMI,WAAW,GAAGX,cAAc,CAAC;AAAEY,MAAAA,WAAW,EAAE,KAAA;AAAM,KAAC,CAAC,CAAA;AAC1D,IAAA,MAAMC,SAAS,GAAG;MAChBrG,GAAG;AACHsG,MAAAA,IAAI,EAAErB,cAAc,CAACjF,GAAG,CAAC,EAAEsG,IAAI;AAC/BC,MAAAA,SAAS,EAAEtB,cAAc,CAACjF,GAAG,CAAC,EAAEwG,QAAAA;KACjC,CAAA;AAED7B,IAAAA,OAAO,CAAC8B,IAAI,CACVC,QAAQ,CAACC,MAAM,CAACC,QAAQ,CAACC,QAAQ,EAAEC,SAAS,CAACT,SAAS,EAAEF,WAAW,CAAC,CACtE,CAAC,CAAA;GACF,CAAA;EAED,OAAO;IACLtB,qBAAqB;IACrBE,gBAAgB;IAChBE,cAAc;IACdhF,OAAO;IACPwF,kBAAkB;IAClBzF,GAAG;IACHE,cAAc;IACd8F,UAAU;IACVF,QAAQ;IACRC,WAAW;IACXjB,wBAAwB;IACxBE,mBAAmB;IACnBE,iBAAiB;IACjBU,UAAU;IACVM,eAAe;AACfd,IAAAA,iBAAAA;GACD,CAAA;AACH,CAAC;;ACpED,MAAM2B,IAAI,GAAG1F,OAAO,IAClB2F,KAAK,CAACC,GAAG,CAAE,CAAA,EAAEC,QAAS,CAAA,uBAAA,CAAwB,EAAE;AAC9CC,EAAAA,MAAM,EAAE9F,OAAAA;AACV,CAAC,CAAC,CAAA;AAEJ,MAAM+F,WAAW,GAAG;AAAEL,EAAAA,IAAAA;AAAK,CAAC;;ACJrB,MAAMM,yBAAyB,GAAG,YAAA;AAAA,EAAA,IAAChG,OAAO,GAAA8B,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAxB,SAAA,GAAAwB,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE,CAAA;AAAA,EAAA,IAAEmE,OAAO,GAAAnE,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAxB,SAAA,GAAAwB,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE,CAAA;AAAA,EAAA,OAClEoE,QAAQ,CAAC;AACPC,IAAAA,QAAQ,EAAE,CAACC,UAAU,CAACC,oBAAoB,EAAErG,OAAO,CAAC;IACpDsG,OAAO,EAAEA,MAAMP,WAAW,CAACL,IAAI,CAAC1F,OAAO,CAAC;IACxC,GAAGiG,OAAAA;AACL,GAAC,CAAC,CAAA;AAAA,CAAA;;ACYJ,MAAMM,IAAI,GAAG/H,IAAA,IAUP;EAAA,IAVQ;IACZmG,UAAU;IACV/F,OAAO;IACPgF,cAAc;IACdc,WAAW;IACXjB,wBAAwB;IACxBI,iBAAiB;IACjBE,iBAAiB;IACjBlF,cAAc;AACdF,IAAAA,GAAAA;AACF,GAAC,GAAAH,IAAA,CAAA;AACC,EAAA,MAAM8E,OAAO,GAAGC,UAAU,EAAE,CAAA;EAC5B,MAAM;AAAEpF,IAAAA,CAAAA;GAAG,GAAGW,cAAc,EAAE,CAAA;EAC9B,MAAM;IAAE0H,UAAU;AAAEC,IAAAA,oBAAAA;AAAqB,GAAC,GAAGC,gBAAgB,CAC3DpI,gDACF,CAAC,CAAA;EAED,MAAM;AACJuB,IAAAA,IAAI,EAAE;AAAE8G,MAAAA,QAAQ,GAAG,EAAE;AAAEC,MAAAA,KAAK,GAAG,EAAC;KAAG,GAAG,EAAE;IACxCtH,SAAS;AACTuH,IAAAA,UAAAA;AACF,GAAC,GAAGb,yBAAyB,CAC3Bc,YAAY,CAAC;IAAElI,OAAO;IAAEgF,cAAc;IAAE/E,cAAc;AAAEF,IAAAA,GAAAA;AAAI,GAAC,CAC/D,CAAC,CAAA;AAED,EAAA,MAAM8F,QAAQ,GAAGmC,KAAK,CAACjI,GAAG,CAAC,CAAA;AAE3BwB,EAAAA,SAAS,CAAC,MAAM;IACdsD,wBAAwB,CAACsD,SAAS,CAACJ,QAAQ,CAAC,IAAII,SAAS,CAACnI,OAAO,CAAC,CAAC,CAAA;IACnE8F,WAAW,CAACD,QAAQ,CAAC,CAAA;AACvB,GAAC,EAAE,CAACkC,QAAQ,CAAC,CAAC,CAAA;AAEd,EAAA,MAAMK,qBAAqB,GAAGA,CAAC/B,IAAI,EAAEE,QAAQ,KAAK;IAChD,MAAML,WAAW,GAAGX,cAAc,CAAC;AAAEY,MAAAA,WAAW,EAAE,KAAA;AAAM,KAAC,CAAC,CAAA;AAC1DzB,IAAAA,OAAO,CAAC8B,IAAI,CACVC,QAAQ,CACNC,MAAM,CAACC,QAAQ,CAACC,QAAQ,EACxBC,SAAS,CAAC;MAAER,IAAI;AAAEC,MAAAA,SAAS,EAAEC,QAAAA;AAAS,KAAC,EAAEL,WAAW,CACtD,CACF,CAAC,CAAA;AACDjB,IAAAA,iBAAiB,CAACoD,KAAK,CAACtI,GAAG,EAAE;MAAEsG,IAAI;AAAEE,MAAAA,QAAAA;AAAS,KAAC,CAAC,CAAC,CAAA;GAClD,CAAA;AAEDhF,EAAAA,SAAS,CAAC,MAAM;AACd6G,IAAAA,qBAAqB,CAACE,kBAAkB,EAAEC,iBAAiB,CAAC,CAAA;IAC5DpD,iBAAiB,CAACC,uBAAuB,CAAC,CAAA;AAC5C,GAAC,EAAE,CAACpF,OAAO,EAAED,GAAG,CAAC,CAAC,CAAA;EAElB,MAAMyI,iBAAiB,GAAGA,CAACC,CAAC,EAAEC,EAAE,EAAErE,MAAM,KAAK;AAC3Cc,IAAAA,iBAAiB,CACfgD,SAAS,CAAC9D,MAAM,EAAEsE,MAAM,CAAC,GACrB;AACEC,MAAAA,MAAM,EAAEC,gBAAgB,CAACxE,MAAM,CAACyE,KAAK,CAAC;MACtCC,OAAO,EAAE1E,MAAM,CAAC2E,KAAK,KAAK,QAAQ,GAAG,KAAK,GAAG,MAAA;KAC9C,GACD5D,uBACN,CAAC,CAAA;GACF,CAAA;AAED,EAAA,IAAI1E,SAAS,EAAE;AACb,IAAA,oBAAOkB,cAAA,CAAAC,aAAA,CAACoH,UAAU,MAAE,CAAC,CAAA;AACvB,GAAA;EAEA,IAAIpD,QAAQ,IAAI,CAAC,IAAI,CAACsC,SAAS,CAACJ,QAAQ,CAAC,EAAE;IACzC,oBACEnG,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKQ,MAAAA,SAAS,EAAC,gDAAA;AAAgD,KAAA,eAC7DT,cAAA,CAAAC,aAAA,CAACqH,MAAM,EAAA;AACLnF,MAAAA,KAAK,EACHhE,GAAG,KAAKvB,GAAG,CAACC,GAAG,GACXc,CAAC,CAAC,kCAAkC,CAAC,GACrCA,CAAC,CAAC,4CAA4C,EAAE;AAAE4J,QAAAA,MAAM,EAAEpJ,GAAAA;OAAK,CAAA;AACpE,KACF,CACE,CAAC,CAAA;AAEV,GAAA;AAEA,EAAA,oBACE6B,cAAA,CAAAC,aAAA,CAACuH,YAAY,EAAA;AAACC,IAAAA,aAAa,EAAExD,QAAQ,GAAGb,cAAc,CAACjF,GAAG,CAAC,EAAEwG,QAAAA;AAAS,GAAA,eACpE3E,cAAA,CAAAC,aAAA,CAACyH,KAAK,EAAA;IACJC,WAAW,EAAA,IAAA;AACXC,IAAAA,aAAa,EAAE,KAAM;AACrBzD,IAAAA,UAAU,EAAE8B,oBAAoB,CAAC9B,UAAU,CAAE;AAC7C0D,IAAAA,iBAAiB,EAAEzE,cAAc,CAACjF,GAAG,CAAC,EAAEsG,IAAK;AAC7CqD,IAAAA,gBAAgB,EAAEtB,qBAAsB;AACxCvF,IAAAA,OAAO,EAAEoF,UAAW;IACpB0B,OAAO,EAAEC,YAAY,CAAC;AAAE3I,MAAAA,IAAI,EAAE8G,QAAQ;MAAE/C,cAAc;AAAEjF,MAAAA,GAAAA;AAAI,KAAC,CAAE;AAC/D8J,IAAAA,YAAY,EAAE,KAAM;AACpBC,IAAAA,cAAc,EAAEC,eAAgB;AAChCC,IAAAA,UAAU,EAAEnE,QAAS;AACrBoE,IAAAA,eAAe,EAAE;AACfC,MAAAA,eAAe,EAAE,IAAI;AACrBC,MAAAA,gBAAgB,EAAE,IAAI;AACtB5D,MAAAA,QAAQ,EAAEvB,cAAc,CAACjF,GAAG,CAAC,EAAEwG,QAAQ;AACvC6D,MAAAA,KAAK,EAAEvE,QAAAA;KACP;AACFwE,IAAAA,QAAQ,EAAE7B,iBAAkB;AAC5B8B,IAAAA,YAAY,EAAEC,KAAA,IAAA;MAAA,IAAC;AAAEvG,QAAAA,SAAAA;AAAU,OAAC,GAAAuG,KAAA,CAAA;MAAA,OAAK3C,UAAU,CAAC5D,SAAS,CAAC,CAAA;AAAA,KAAA;AAAC,GACxD,CACW,CAAC,CAAA;AAEnB,CAAC;;ACnGD,MAAMwG,iBAAiB,GAAGA,MAAM;EAC9B,MAAM,CAAC/B,CAAC,EAAEgC,eAAe,CAAC,GAAGC,aAAa,EAAE,CAAA;EAC5C,MAAM;AAAEnL,IAAAA,CAAAA;GAAG,GAAGW,cAAc,EAAE,CAAA;EAE9B,MAAM,CAACL,eAAe,EAAEC,kBAAkB,CAAC,GAAGO,QAAQ,CAAC,KAAK,CAAC,CAAA;EAC7D,MAAM;IACJuE,qBAAqB;IACrBE,gBAAgB;IAChBE,cAAc;IACdhF,OAAO;IACPwF,kBAAkB;IAClBzF,GAAG;IACHE,cAAc;IACd8F,UAAU;IACVF,QAAQ;IACRC,WAAW;IACXjB,wBAAwB;IACxBE,mBAAmB;IACnBE,iBAAiB;IACjBU,UAAU;IACVM,eAAe;AACfd,IAAAA,iBAAAA;GACD,GAAGV,uBAAuB,EAAE,CAAA;AAE7B,EAAA,MAAMkG,aAAa,GAAG/F,qBAAqB,IAAI7E,GAAG,KAAK,KAAK,CAAA;EAE5D,MAAM6K,mBAAmB,GAAG5K,OAAO,IAAI;AACrCyK,IAAAA,eAAe,CAAC,MAAM;MACpB9E,UAAU,CAAC3F,OAAO,CAAC,CAAA;AACrB,KAAC,CAAC,CAAA;GACH,CAAA;AAED,EAAA,oBACE4B,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAe,QAAA,EAAA,IAAA,eACEf,cAAA,CAAAC,aAAA,CAACG,MAAM,EAAA;AACL+B,IAAAA,KAAK,EAAExE,CAAC,CAAC,6BAA6B,CAAE;IACxCsL,WAAW,EACTjG,qBAAqB,IAAI;AACvBkG,MAAAA,WAAW,EAAEvL,CAAC,CAAC,6BAA6B,CAAC;AAC7C8C,MAAAA,SAAS,EAAE,MAAA;AACb,KAAA;GAEH,CAAC,EACDsI,aAAa,iBACZ/I,cAAA,CAAAC,aAAA,CAACkJ,GAAG,EACDlM,IAAAA,EAAAA,IAAI,CAAC8E,GAAG,CAACqH,IAAI,iBACZpJ,cAAA,CAAAC,aAAA,CAACkJ,GAAG,CAACE,IAAI,EAAA;IACPC,MAAM,EAAEnL,GAAG,KAAKiL,IAAK;AACrB/L,IAAAA,GAAG,EAAE+L,IAAK;AACVtI,IAAAA,OAAO,EAAEA,MAAMuD,eAAe,CAAC+E,IAAI,CAAA;AAAE,GAAA,EAEpCzL,CAAC,CAAE,CAAuByL,qBAAAA,EAAAA,IAAK,EAAC,CACzB,CACX,CACE,CACN,eACDpJ,cAAA,CAAAC,aAAA,CAACsJ,SAAS,EAAA;AACR9I,IAAAA,SAAS,EAAC,MAAM;IAChB+I,eAAe,EACbjD,SAAS,CAACtC,QAAQ,CAAC,iBACjBjE,cAAA,CAAAC,aAAA,CAACI,UAAU,EAAA;AACTI,MAAAA,SAAS,EAAC,sCAAsC;AAChDgJ,MAAAA,SAAS,EAAC,IAAA;KAETtL,EAAAA,GAAG,KAAKvB,GAAG,CAACC,GAAG,GACZc,CAAC,CAAC,+BAA+B,EAAE;AAAE+L,MAAAA,KAAK,EAAEzF,QAAAA;AAAS,KAAC,CAAC,GACvDtG,CAAC,CAAC,yCAAyC,EAAE;AAC3C+L,MAAAA,KAAK,EAAEzF,QAAQ;AACfsD,MAAAA,MAAM,EAAEpJ,GAAAA;AACV,KAAC,CACK,CAEf;AACDwL,IAAAA,gBAAgB,eACd3J,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAe,QAAA,EACEf,IAAAA,eAAAA,cAAA,CAAAC,aAAA,CAAC2J,GAAU,EAAA;AACTC,MAAAA,OAAO,EAAEpM,cAAe;AACxBqM,MAAAA,OAAO,EAAElG,kBAAmB;AAC5BmG,MAAAA,aAAa,EAAE5G,mBAAoB;AACnCsF,MAAAA,QAAQ,EAAEO,mBAAAA;KACX,CAAC,EACDhG,qBAAqB,iBACpBhD,cAAA,CAAAC,aAAA,CAACsJ,SAAS,CAACS,UAAU,EAAA;AACnBC,MAAAA,kBAAkB,EAAE;QAClB9F,UAAU;AACV+F,QAAAA,YAAY,EAAE1M,2BAA2B;AACzC2M,QAAAA,eAAe,EACbrM,gDAAAA;OACF;AACFsM,MAAAA,mBAAmB,EAAE;AACnBtJ,QAAAA,OAAO,EAAEA,MAAM5C,kBAAkB,CAAC,IAAI,CAAA;OACtC;AACFmM,MAAAA,WAAW,EAAE;AACXR,QAAAA,OAAO,EAAEpM,cAAc;AACvB0C,QAAAA,MAAM,EAAE+C,gBAAgB;AACxB4G,QAAAA,OAAO,EAAElG,kBAAkB;AAC3B0G,QAAAA,SAAS,EAAEnH,mBAAmB;AAC9BsF,QAAAA,QAAQ,EAAEO,mBAAAA;AACZ,OAAA;AAAE,KACH,CAEH,CAAA;AACH,GACF,CAAC,eACFhJ,cAAA,CAAAC,aAAA,CAAC8F,IAAI,EAAA;IAED5B,UAAU;IACV/F,OAAO;IACPgF,cAAc;IACdc,WAAW;IACXjB,wBAAwB;IACxBI,iBAAiB;IACjBE,iBAAiB;IACjBlF,cAAc;AACdF,IAAAA,GAAAA;AAAG,GAEN,CAAC,eACF6B,cAAA,CAAAC,aAAA,CAAClC,WAAW,EAAA;IAERK,OAAO;IACPF,kBAAkB;IAClBD,eAAe;IACfI,cAAc;AACdF,IAAAA,GAAAA;AAAG,GAEN,CACD,CAAC,CAAA;AAEP,CAAC,CAAA;AAED,YAAeoM,SAAS,CACtBC,cAAc,CAAC5B,iBAAiB,CAAC,EACjCjL,CAAC,CAAC,6BAA6B,CACjC,CAAC;;;;"}
@@ -0,0 +1,598 @@
1
+ import { _ as _extends } from './extends-093996c9.js';
2
+ import React__default, { useState, useEffect, useTransition } from 'react';
3
+ import { t } from 'i18next';
4
+ import { isPresent, camelToSnakeCase, isNotPresent } from '@bigbinary/neeto-cist';
5
+ import { useQueryParams, withTitle } from '@bigbinary/neeto-commons-frontend/react-utils';
6
+ import { buildFiltersFromURL, Bar } from '@bigbinary/neeto-filters-frontend';
7
+ import Header from '@bigbinary/neeto-molecules/Header';
8
+ import SubHeader from '@bigbinary/neeto-molecules/SubHeader';
9
+ import Tab from '@bigbinary/neetoui/Tab';
10
+ import Typography from '@bigbinary/neetoui/Typography';
11
+ import { useTranslation } from 'react-i18next';
12
+ import { d as buildDefaultPageProperties, r as renderStatus, f as buildRowData, c as renderDate, e as buildPayload, w as withReactQuery } from './renderFunctions-97b121a4.js';
13
+ import { T as TAB, a as TABS, b as TAB_METADATA, I as INITIAL_PANE_STATUS, D as DASHBOARD_MANDATORY_COLUMNS, K as KIND } from './index-1aedc364.js';
14
+ import { b as buildFilterColumns, m as modifySearchProps, a as buildPaymentColumns, r as renderSplitIdentifier, c as renderRefundIdentifier, i as isSplitKind, d as isTransferKind, e as isConnectedKind, f as isRefundKind, g as isPlatformKind, p as processResponse, h as renderIdentifier, E as ExportModal } from './ExportModal-85725c35.js';
15
+ import { getQueryParams, buildUrl } from '@bigbinary/neeto-commons-frontend/utils';
16
+ import { modify, mergeLeft, isEmpty, assoc } from 'ramda';
17
+ import { useHistory } from 'react-router-dom';
18
+ import { DEFAULT_SORT_PROPERTIES, SORT_DIRECTIONS } from './constants.js';
19
+ import { p as processDataIndex } from './index-48f8b281.js';
20
+ import { DEFAULT_PAGE_SIZE, DEFAULT_PAGE_INDEX } from '@bigbinary/neeto-commons-frontend/constants';
21
+ import { useHiddenColumns } from '@bigbinary/neeto-molecules/Columns';
22
+ import PageLoader from '@bigbinary/neeto-molecules/PageLoader';
23
+ import TableWrapper from '@bigbinary/neeto-molecules/TableWrapper';
24
+ import Table from '@bigbinary/neetoui/Table';
25
+ import NoData from '@bigbinary/neetoui/NoData';
26
+ import { u as useFetchStripeTransactions, a as useFetchConnectedStripeAccount } from './useConnectApi-87335bf6.js';
27
+ import { u as useFetchStripeRefunds, a as useFetchStripePlatformTransactions, b as useFetchStripePlatformSplits, c as useFetchStripePlatformTransaction, d as useFetchStripePlatformAccount } from './usePlatformApi-8adc2a50.js';
28
+ import { Down, Right } from '@bigbinary/neeto-icons';
29
+ import Pane from '@bigbinary/neetoui/Pane';
30
+ import './utils-e29db9c9.js';
31
+ import 'react/jsx-runtime';
32
+ import './queryConstants-765c8816.js';
33
+ import './mutation-286611ef.js';
34
+ import '@bigbinary/neeto-molecules/DateFormat';
35
+ import '@bigbinary/neetoui/Button';
36
+ import '@bigbinary/neetoui/Tag';
37
+ import '@bigbinary/neetoui/Tooltip';
38
+ import '@bigbinary/neeto-molecules/CopyToClipboardButton';
39
+ import '@bigbinary/neetoui/Modal';
40
+ import './useMutation-8d67f853.js';
41
+ import 'axios';
42
+ import './exportChannel-250e6f14.js';
43
+ import './IdentifierButton-73cadb18.js';
44
+ import 'util';
45
+
46
+ const useFiltersAndPagination = _ref => {
47
+ let {
48
+ payableEntityColumns,
49
+ kind,
50
+ searchProps
51
+ } = _ref;
52
+ const {
53
+ tab = TAB.all
54
+ } = useQueryParams();
55
+ const history = useHistory();
56
+ const tabs = TABS.filter(tab => !TAB_METADATA[tab]?.isHidden?.[kind]);
57
+ const [isFilterButtonVisible, setIsFilterButtonVisible] = useState(false);
58
+ const [isFilterPaneOpen, setIsFilterPaneOpen] = useState(false);
59
+ const [pageProperties, setPageProperties] = useState(buildDefaultPageProperties(tabs));
60
+ const [sortProperties, setSortProperties] = useState(DEFAULT_SORT_PROPERTIES);
61
+ const filterableColumns = buildFilterColumns(tab, kind, payableEntityColumns);
62
+ const {
63
+ searchTerm = ""
64
+ } = getQueryParams();
65
+ const searchKeywordProps = {
66
+ ...modifySearchProps({
67
+ searchProps,
68
+ kind
69
+ }),
70
+ key: "search_term",
71
+ value: searchTerm.trim()
72
+ };
73
+ const [filters, setFilters] = useState(buildFiltersFromURL([...filterableColumns, searchKeywordProps]));
74
+ const [dataSize, setDataSize] = useState(null);
75
+ const [paneStatus, setPaneStatus] = useState(INITIAL_PANE_STATUS);
76
+ const columns = buildPaymentColumns({
77
+ tab,
78
+ kind,
79
+ payableEntityColumns,
80
+ specialColumnArguments: {
81
+ setPaneStatus
82
+ }
83
+ });
84
+ const modifiedColumns = columns.map(modify("dataIndex", processDataIndex));
85
+ const handleTabChange = tab => {
86
+ setDataSize(null);
87
+ const queryParams = getQueryParams({
88
+ toCamelCase: false
89
+ });
90
+ const newParams = {
91
+ tab,
92
+ page: pageProperties[tab]?.page,
93
+ page_size: pageProperties[tab]?.pageSize
94
+ };
95
+ history.push(buildUrl(window.location.pathname, mergeLeft(newParams, queryParams)));
96
+ };
97
+ return {
98
+ isFilterButtonVisible,
99
+ isFilterPaneOpen,
100
+ pageProperties,
101
+ paneStatus,
102
+ filters,
103
+ searchKeywordProps,
104
+ tabs,
105
+ tab,
106
+ dataSize,
107
+ filterableColumns,
108
+ sortProperties,
109
+ columns,
110
+ modifiedColumns,
111
+ setIsFilterButtonVisible,
112
+ setIsFilterPaneOpen,
113
+ setPageProperties,
114
+ setPaneStatus,
115
+ setFilters,
116
+ handleTabChange,
117
+ setDataSize,
118
+ setSortProperties
119
+ };
120
+ };
121
+
122
+ const SPLIT_COLUMNS = [{
123
+ key: "splitSubId",
124
+ title: t("neetoPayments.common.id"),
125
+ dataIndex: "id",
126
+ width: "72px"
127
+ }, {
128
+ key: "splitSubIdentifier",
129
+ title: t("neetoPayments.common.identifier"),
130
+ dataIndex: "identifier",
131
+ width: "300px",
132
+ render: renderSplitIdentifier
133
+ }, {
134
+ key: "splitSubAmount",
135
+ title: t("neetoPayments.common.amount"),
136
+ dataIndex: "amount",
137
+ width: "150px"
138
+ }, {
139
+ key: "splitSubStatus",
140
+ title: t("neetoPayments.common.status"),
141
+ dataIndex: "status",
142
+ width: "130px",
143
+ render: renderStatus("split")
144
+ }];
145
+ const REFUND_COLUMNS = [{
146
+ key: "refundId",
147
+ title: t("neetoPayments.common.id"),
148
+ dataIndex: "id",
149
+ width: "72px"
150
+ }, {
151
+ key: "refundIdentifier",
152
+ title: t("neetoPayments.common.identifier"),
153
+ dataIndex: "identifier",
154
+ width: "290px",
155
+ render: renderRefundIdentifier
156
+ }, {
157
+ key: "refundAmount",
158
+ title: t("neetoPayments.common.amount"),
159
+ dataIndex: "amount",
160
+ width: "150px"
161
+ }, {
162
+ key: "refundStatus",
163
+ title: t("neetoPayments.common.status"),
164
+ dataIndex: "status",
165
+ width: "200px",
166
+ render: renderStatus("refund")
167
+ }];
168
+
169
+ const SubTable = _ref => {
170
+ let {
171
+ data = [],
172
+ className = "",
173
+ kind = "split"
174
+ } = _ref;
175
+ return /*#__PURE__*/React__default.createElement("div", {
176
+ className: className || "ml-12 max-w-3xl"
177
+ }, /*#__PURE__*/React__default.createElement(TableWrapper, {
178
+ hasPagination: false
179
+ }, /*#__PURE__*/React__default.createElement(Table, {
180
+ fixedHeight: true,
181
+ columnData: isSplitKind(kind) ? SPLIT_COLUMNS : REFUND_COLUMNS,
182
+ pagination: false,
183
+ rowData: buildRowData({
184
+ data
185
+ }),
186
+ scroll: {
187
+ y: 300
188
+ }
189
+ })));
190
+ };
191
+
192
+ const ExpandedRow = function () {
193
+ let {
194
+ splits = [],
195
+ refunds = []
196
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
197
+ return /*#__PURE__*/React__default.createElement("div", {
198
+ className: "my-2 space-y-2"
199
+ }, !isEmpty(splits) && /*#__PURE__*/React__default.createElement("div", {
200
+ className: "space-y-4"
201
+ }, /*#__PURE__*/React__default.createElement(Typography, {
202
+ className: "ml-12",
203
+ style: "h3"
204
+ }, t("neetoPayments.common.splits")), /*#__PURE__*/React__default.createElement(SubTable, {
205
+ data: splits
206
+ })), !isEmpty(refunds) && /*#__PURE__*/React__default.createElement("div", {
207
+ className: "space-y-4"
208
+ }, /*#__PURE__*/React__default.createElement(Typography, {
209
+ className: "ml-12",
210
+ style: "h3"
211
+ }, t("neetoPayments.title.refund")), /*#__PURE__*/React__default.createElement(SubTable, {
212
+ data: refunds,
213
+ kind: "refund"
214
+ })));
215
+ };
216
+
217
+ const useFetchData = _ref => {
218
+ let {
219
+ kind,
220
+ holdableId,
221
+ payload,
222
+ isPlatformEnabled
223
+ } = _ref;
224
+ const data = {};
225
+ data.transfer = data.connected = useFetchStripeTransactions(holdableId, {
226
+ ...payload,
227
+ kind
228
+ }, {
229
+ enabled: isTransferKind(kind) || isConnectedKind(kind)
230
+ });
231
+ data.refund = useFetchStripeRefunds(payload, {
232
+ enabled: isRefundKind(kind)
233
+ });
234
+ data.platform = useFetchStripePlatformTransactions(payload, {
235
+ enabled: isPlatformKind(kind) && isPlatformEnabled
236
+ });
237
+ data.split = useFetchStripePlatformSplits(payload, {
238
+ enabled: isSplitKind(kind)
239
+ });
240
+ return {
241
+ data: processResponse(data[kind]?.data, kind),
242
+ dataSize: data[kind]?.data?.counts?.[payload?.tab],
243
+ isDataLoading: data[kind]?.isLoading,
244
+ isDataFetching: data[kind]?.isFetching
245
+ };
246
+ };
247
+
248
+ const RowExpander = _ref => {
249
+ let {
250
+ expanded,
251
+ onExpand,
252
+ record,
253
+ expandable
254
+ } = _ref;
255
+ return expandable && (expanded ? /*#__PURE__*/React__default.createElement(Down, {
256
+ className: "cursor-pointer",
257
+ onClick: e => onExpand(record, e)
258
+ }) : /*#__PURE__*/React__default.createElement(Right, {
259
+ className: "cursor-pointer",
260
+ onClick: e => onExpand(record, e)
261
+ }));
262
+ };
263
+
264
+ const Details = _ref => {
265
+ let {
266
+ transactionId,
267
+ ...paneProps
268
+ } = _ref;
269
+ const {
270
+ t
271
+ } = useTranslation();
272
+ const {
273
+ isLoading,
274
+ data: {
275
+ amount,
276
+ netAmount,
277
+ status,
278
+ paymentAt,
279
+ identifier,
280
+ live,
281
+ splits = []
282
+ } = {}
283
+ } = useFetchStripePlatformTransaction(transactionId);
284
+ return /*#__PURE__*/React__default.createElement(Pane, _extends({}, paneProps, {
285
+ size: "large"
286
+ }), /*#__PURE__*/React__default.createElement(Pane.Header, null, /*#__PURE__*/React__default.createElement(Typography, {
287
+ style: "h2"
288
+ }, "Transaction Details")), /*#__PURE__*/React__default.createElement(Pane.Body, null, isLoading ? /*#__PURE__*/React__default.createElement(PageLoader, null) : /*#__PURE__*/React__default.createElement("div", {
289
+ className: "w-full space-y-6 p-2"
290
+ }, /*#__PURE__*/React__default.createElement("div", {
291
+ className: "w-full space-y-2"
292
+ }, /*#__PURE__*/React__default.createElement("div", {
293
+ className: "flex items-center space-x-2"
294
+ }, /*#__PURE__*/React__default.createElement(Typography, {
295
+ style: "body2"
296
+ }, t("neetoPayments.transactionPane.transactionId")), /*#__PURE__*/React__default.createElement(Typography, {
297
+ className: "neeto-ui-text-black font-medium",
298
+ style: "body2"
299
+ }, renderIdentifier({
300
+ identifier,
301
+ live
302
+ }))), /*#__PURE__*/React__default.createElement("div", {
303
+ className: "flex items-center space-x-2"
304
+ }, /*#__PURE__*/React__default.createElement(Typography, {
305
+ style: "body2"
306
+ }, t("neetoPayments.transactionPane.amount")), /*#__PURE__*/React__default.createElement(Typography, {
307
+ className: "neeto-ui-text-black font-medium",
308
+ style: "body2"
309
+ }, amount)), /*#__PURE__*/React__default.createElement("div", {
310
+ className: "flex items-center space-x-2"
311
+ }, /*#__PURE__*/React__default.createElement(Typography, {
312
+ style: "body2"
313
+ }, t("neetoPayments.transactionPane.netAmount")), /*#__PURE__*/React__default.createElement(Typography, {
314
+ className: "neeto-ui-text-black font-medium",
315
+ style: "body2"
316
+ }, netAmount)), /*#__PURE__*/React__default.createElement("div", {
317
+ className: "flex items-center space-x-2"
318
+ }, /*#__PURE__*/React__default.createElement(Typography, {
319
+ style: "body2"
320
+ }, t("neetoPayments.transactionPane.status")), renderStatus("transaction", status)), /*#__PURE__*/React__default.createElement("div", {
321
+ className: "flex items-center space-x-2"
322
+ }, /*#__PURE__*/React__default.createElement(Typography, {
323
+ style: "body2"
324
+ }, t("neetoPayments.transactionPane.paidOn")), /*#__PURE__*/React__default.createElement(Typography, {
325
+ className: "neeto-ui-text-black font-medium",
326
+ style: "body2"
327
+ }, renderDate(paymentAt)))), /*#__PURE__*/React__default.createElement(Typography, {
328
+ style: "h3"
329
+ }, "Splits"), /*#__PURE__*/React__default.createElement(SubTable, {
330
+ className: "ml-0 w-full",
331
+ data: splits
332
+ }))));
333
+ };
334
+
335
+ const List = _ref => {
336
+ let {
337
+ isPlatformEnabled = false,
338
+ kind,
339
+ holdableId = null,
340
+ filters,
341
+ setIsFilterButtonVisible,
342
+ pageProperties,
343
+ setPageProperties,
344
+ tab,
345
+ paneStatus,
346
+ setPaneStatus,
347
+ setDataSize,
348
+ sortProperties,
349
+ setSortProperties,
350
+ payoutId,
351
+ columns
352
+ } = _ref;
353
+ const history = useHistory();
354
+ const {
355
+ t
356
+ } = useTranslation();
357
+ const {
358
+ hideColumn,
359
+ hiddenColumns = []
360
+ } = useHiddenColumns(`stripePaymentDashboard_${kind}`);
361
+ const {
362
+ isLoading: isStripePlatformAccountLoading,
363
+ data: {
364
+ platformAccount: stripePlatformAccount
365
+ } = {}
366
+ } = useFetchStripePlatformAccount({
367
+ enabled: isPlatformEnabled
368
+ });
369
+ const {
370
+ isLoading: isStripeAccountLoading,
371
+ data: {
372
+ account: stripeConnectedAccount
373
+ } = {}
374
+ } = useFetchConnectedStripeAccount(holdableId);
375
+ const {
376
+ data,
377
+ isDataLoading,
378
+ dataSize,
379
+ isDataFetching
380
+ } = useFetchData({
381
+ kind,
382
+ holdableId,
383
+ payload: buildPayload({
384
+ tab,
385
+ filters,
386
+ pageProperties,
387
+ sortProperties,
388
+ payoutId
389
+ }),
390
+ isPlatformEnabled
391
+ });
392
+ const isStripeAccountConnected = stripeConnectedAccount?.isConnected || stripePlatformAccount?.isConnected;
393
+ useEffect(() => {
394
+ setIsFilterButtonVisible(isPresent(data) || isPresent(filters));
395
+ setDataSize(dataSize);
396
+ }, [data]);
397
+ const handleTablePaginaton = (page, pageSize) => {
398
+ const queryParams = getQueryParams({
399
+ toCamelCase: false
400
+ });
401
+ history.push(buildUrl(window.location.pathname, mergeLeft({
402
+ page,
403
+ page_size: pageSize
404
+ }, queryParams)));
405
+ setPageProperties(assoc(tab, {
406
+ page,
407
+ pageSize
408
+ }));
409
+ };
410
+ useEffect(() => {
411
+ handleTablePaginaton(DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE);
412
+ setSortProperties(DEFAULT_SORT_PROPERTIES);
413
+ }, [filters, tab]);
414
+ const handleTableChange = (_, __, sorter) => {
415
+ setSortProperties(isPresent(sorter?.column) ? {
416
+ sortBy: camelToSnakeCase(processDataIndex(sorter.field)),
417
+ orderBy: sorter.order === "ascend" ? "ASC" : "DESC"
418
+ } : DEFAULT_SORT_PROPERTIES);
419
+ };
420
+ if (isStripeAccountLoading || isStripePlatformAccountLoading || isDataLoading) {
421
+ return /*#__PURE__*/React__default.createElement(PageLoader, null);
422
+ }
423
+ if (!isStripeAccountConnected && dataSize <= 0 || !isPresent(data)) {
424
+ return /*#__PURE__*/React__default.createElement("div", {
425
+ className: "flex h-full w-full items-center justify-center"
426
+ }, /*#__PURE__*/React__default.createElement(NoData, {
427
+ title: tab === TAB.all ? t(`neetoPayments.emptyState.${kind}`) : t(`neetoPayments.emptyState.${kind}WithStatus`, {
428
+ status: tab
429
+ })
430
+ }));
431
+ }
432
+ const visibleColumns = columns.filter(_ref2 => {
433
+ let {
434
+ dataIndex
435
+ } = _ref2;
436
+ return !hiddenColumns.includes(processDataIndex(dataIndex));
437
+ });
438
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(TableWrapper, {
439
+ hasPagination: dataSize > pageProperties[tab]?.pageSize
440
+ }, /*#__PURE__*/React__default.createElement(Table, {
441
+ fixedHeight: true,
442
+ allowRowClick: false,
443
+ columnData: visibleColumns,
444
+ currentPageNumber: pageProperties[tab]?.page,
445
+ handlePageChange: handleTablePaginaton,
446
+ loading: isDataFetching,
447
+ rowData: buildRowData({
448
+ data,
449
+ pageProperties,
450
+ tab
451
+ }),
452
+ rowSelection: false,
453
+ sortDirections: SORT_DIRECTIONS,
454
+ totalCount: dataSize,
455
+ expandable: {
456
+ expandedRowRender: ExpandedRow,
457
+ showExpandColumn: isPlatformKind(kind),
458
+ rowExpandable: record => !(isEmpty(record.splits) && isEmpty(record.refunds)),
459
+ columnWidth: "64px",
460
+ expandIcon: RowExpander
461
+ },
462
+ paginationProps: {
463
+ showSizeChanger: true,
464
+ hideOnSinglePage: true,
465
+ pageSize: pageProperties[tab]?.pageSize,
466
+ total: dataSize
467
+ },
468
+ onChange: handleTableChange,
469
+ onColumnHide: column => {
470
+ hideColumn(processDataIndex(column.dataIndex));
471
+ }
472
+ })), /*#__PURE__*/React__default.createElement(Details, _extends({}, paneStatus, {
473
+ onClose: () => setPaneStatus(INITIAL_PANE_STATUS)
474
+ })));
475
+ };
476
+
477
+ const Dashboard = _ref => {
478
+ let {
479
+ isPlatformEnabled = false,
480
+ searchProps,
481
+ headerProps = {},
482
+ holdableId = null,
483
+ payableEntityColumns = [],
484
+ kind = "connected",
485
+ payoutId = null
486
+ } = _ref;
487
+ const [_, startTransition] = useTransition();
488
+ const {
489
+ t
490
+ } = useTranslation();
491
+ const [showExportModal, setShowExportModal] = useState(false);
492
+ const {
493
+ searchKeywordProps,
494
+ pageProperties,
495
+ filterableColumns,
496
+ isFilterButtonVisible,
497
+ isFilterPaneOpen,
498
+ filters,
499
+ tabs,
500
+ tab,
501
+ dataSize,
502
+ sortProperties,
503
+ columns,
504
+ modifiedColumns,
505
+ paneStatus,
506
+ setPaneStatus,
507
+ setIsFilterButtonVisible,
508
+ setIsFilterPaneOpen,
509
+ setFilters,
510
+ setPageProperties,
511
+ handleTabChange,
512
+ setDataSize,
513
+ setSortProperties
514
+ } = useFiltersAndPagination({
515
+ payableEntityColumns,
516
+ kind,
517
+ searchProps
518
+ });
519
+ const isTabsVisible = (isFilterButtonVisible || tab !== "all") && isNotPresent(payoutId);
520
+ const titleKind = kind === "transfer" && !isPlatformEnabled ? KIND.connected : kind;
521
+ const handleFiltersChange = filters => {
522
+ startTransition(() => {
523
+ setFilters(filters);
524
+ });
525
+ };
526
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Header, _extends({}, headerProps, {
527
+ title: t(`neetoPayments.title.${titleKind}`),
528
+ searchProps: isFilterButtonVisible && {
529
+ placeholder: searchKeywordProps.placeholder,
530
+ className: "w-80"
531
+ }
532
+ })), isTabsVisible && /*#__PURE__*/React__default.createElement(Tab, null, tabs.map(item => /*#__PURE__*/React__default.createElement(Tab.Item, {
533
+ active: tab === item,
534
+ key: item,
535
+ onClick: () => handleTabChange(item)
536
+ }, t(`neetoPayments.common.${item}`)))), /*#__PURE__*/React__default.createElement(SubHeader, {
537
+ className: "mt-4",
538
+ leftActionBlock: isPresent(dataSize) && /*#__PURE__*/React__default.createElement(Typography, {
539
+ className: "neeto-ui-gray-800 mr-2 font-semibold",
540
+ component: "h4"
541
+ }, tab === TAB.all ? t(`neetoPayments.countOf.${kind}`, {
542
+ count: dataSize
543
+ }) : t(`neetoPayments.countOf.${kind}WithStatus`, {
544
+ count: dataSize,
545
+ status: tab
546
+ })),
547
+ rightActionBlock: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Bar, {
548
+ columns: filterableColumns,
549
+ keyword: searchKeywordProps,
550
+ setIsPaneOpen: setIsFilterPaneOpen,
551
+ onChange: handleFiltersChange
552
+ }), isFilterButtonVisible && /*#__PURE__*/React__default.createElement(SubHeader.RightBlock, {
553
+ columnsButtonProps: {
554
+ columnData: modifiedColumns,
555
+ fixedColumns: DASHBOARD_MANDATORY_COLUMNS,
556
+ localStorageKey: `stripePaymentDashboard_${kind}`
557
+ },
558
+ downloadButtonProps: {
559
+ onClick: () => setShowExportModal(true)
560
+ },
561
+ filterProps: {
562
+ columns: filterableColumns,
563
+ isOpen: isFilterPaneOpen,
564
+ keyword: searchKeywordProps,
565
+ setIsOpen: setIsFilterPaneOpen,
566
+ onChange: handleFiltersChange
567
+ }
568
+ }))
569
+ }), /*#__PURE__*/React__default.createElement(List, {
570
+ columns,
571
+ filters,
572
+ holdableId,
573
+ isPlatformEnabled,
574
+ kind,
575
+ pageProperties,
576
+ paneStatus,
577
+ payoutId,
578
+ setDataSize,
579
+ setIsFilterButtonVisible,
580
+ setPageProperties,
581
+ setPaneStatus,
582
+ setSortProperties,
583
+ sortProperties,
584
+ tab
585
+ }), /*#__PURE__*/React__default.createElement(ExportModal, {
586
+ filters,
587
+ holdableId,
588
+ kind,
589
+ setShowExportModal,
590
+ showExportModal,
591
+ sortProperties,
592
+ tab
593
+ }));
594
+ };
595
+ var Dashboard$1 = withTitle(withReactQuery(Dashboard), t("neetoPayments.common.payments"));
596
+
597
+ export { Dashboard$1 as default };
598
+ //# sourceMappingURL=Dashboard.js.map