@justifi/webcomponents 4.7.0-rc.0 → 4.7.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{SubAccount-5d77adbf.js → SubAccount-f47c8522.js} +2 -2
- package/dist/cjs/{SubAccount-5d77adbf.js.map → SubAccount-f47c8522.js.map} +1 -1
- package/dist/cjs/additional-questions-details_5.cjs.entry.js +3 -3
- package/dist/cjs/config-70f62990.js +19 -0
- package/dist/cjs/config-70f62990.js.map +1 -0
- package/dist/cjs/form-control-datepart_2.cjs.entry.js +1 -1
- package/dist/cjs/form-control-monetary.cjs.entry.js +1 -1
- package/dist/cjs/form-control-number_3.cjs.entry.js +1 -1
- package/dist/cjs/{index-ce7d512e.js → index-c5ace247.js} +4 -1
- package/dist/cjs/index-c5ace247.js.map +1 -0
- package/dist/cjs/justifi-additional-questions_6.cjs.entry.js +1 -1
- package/dist/cjs/justifi-bank-account-form.cjs.entry.js +1 -1
- package/dist/cjs/justifi-billing-form_2.cjs.entry.js +1 -1
- package/dist/cjs/justifi-business-details.cjs.entry.js +4 -3
- package/dist/cjs/justifi-business-details.cjs.entry.js.map +1 -1
- package/dist/cjs/justifi-business-form-stepped.cjs.entry.js +3 -2
- package/dist/cjs/justifi-business-form-stepped.cjs.entry.js.map +1 -1
- package/dist/cjs/justifi-business-form.cjs.entry.js +3 -2
- package/dist/cjs/justifi-business-form.cjs.entry.js.map +1 -1
- package/dist/cjs/justifi-business-list.cjs.entry.js +5 -3
- package/dist/cjs/justifi-business-list.cjs.entry.js.map +1 -1
- package/dist/cjs/justifi-card-form.cjs.entry.js +1 -1
- package/dist/cjs/justifi-details.cjs.entry.js +2 -2
- package/dist/cjs/justifi-gross-payment-chart.cjs.entry.js +11030 -0
- package/dist/cjs/justifi-gross-payment-chart.cjs.entry.js.map +1 -0
- package/dist/cjs/justifi-payment-balance-transactions.cjs.entry.js +2 -2
- package/dist/cjs/justifi-payment-details.cjs.entry.js +5 -4
- package/dist/cjs/justifi-payment-details.cjs.entry.js.map +1 -1
- package/dist/cjs/justifi-payment-form.cjs.entry.js +2 -2
- package/dist/cjs/justifi-payment-method-form.cjs.entry.js +11 -9
- package/dist/cjs/justifi-payment-method-form.cjs.entry.js.map +1 -1
- package/dist/cjs/justifi-payments-list.cjs.entry.js +4 -3
- package/dist/cjs/justifi-payments-list.cjs.entry.js.map +1 -1
- package/dist/cjs/justifi-payout-details.cjs.entry.js +5 -4
- package/dist/cjs/justifi-payout-details.cjs.entry.js.map +1 -1
- package/dist/cjs/justifi-payouts-list.cjs.entry.js +4 -3
- package/dist/cjs/justifi-payouts-list.cjs.entry.js.map +1 -1
- package/dist/cjs/justifi-proceeds-list.cjs.entry.js +4 -3
- package/dist/cjs/justifi-proceeds-list.cjs.entry.js.map +1 -1
- package/dist/cjs/justifi-refund-form.cjs.entry.js +3 -2
- package/dist/cjs/justifi-refund-form.cjs.entry.js.map +1 -1
- package/dist/cjs/justifi-subaccount-details.cjs.entry.js +7 -6
- package/dist/cjs/justifi-subaccount-details.cjs.entry.js.map +1 -1
- package/dist/cjs/justifi-subaccounts-list.cjs.entry.js +5 -4
- package/dist/cjs/justifi-subaccounts-list.cjs.entry.js.map +1 -1
- package/dist/cjs/justifi-table_2.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/select-input_2.cjs.entry.js +1 -1
- package/dist/cjs/subaccount-account-details_4.cjs.entry.js +3 -3
- package/dist/cjs/subaccount-bank-details.cjs.entry.js +2 -2
- package/dist/cjs/subaccount-terms-details.cjs.entry.js +2 -2
- package/dist/cjs/{utils-d9cbe26f.js → utils-13d069be.js} +6 -1
- package/dist/cjs/utils-13d069be.js.map +1 -0
- package/dist/cjs/{utils-aaa6ab8b.js → utils-4622829d.js} +2 -2
- package/dist/cjs/{utils-aaa6ab8b.js.map → utils-4622829d.js.map} +1 -1
- package/dist/cjs/webcomponents.cjs.js +2 -2
- package/dist/collection/api/GrossVolume.js +2 -0
- package/dist/collection/api/GrossVolume.js.map +1 -0
- package/dist/collection/api/mockData/mockGrossVolumeReport.js +126 -0
- package/dist/collection/api/mockData/mockGrossVolumeReport.js.map +1 -0
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/bank-account-form/bank-account-form.stories.js +2 -1
- package/dist/collection/components/bank-account-form/bank-account-form.stories.js.map +1 -1
- package/dist/collection/components/billing-form/billing-form.stories.js +1 -1
- package/dist/collection/components/billing-form/billing-form.stories.js.map +1 -1
- package/dist/collection/components/business-details/business-details.js +2 -1
- package/dist/collection/components/business-details/business-details.js.map +1 -1
- package/dist/collection/components/business-details/business-details.stories.js +3 -2
- package/dist/collection/components/business-details/business-details.stories.js.map +1 -1
- package/dist/collection/components/business-form/business-form-stepped.js +2 -1
- package/dist/collection/components/business-form/business-form-stepped.js.map +1 -1
- package/dist/collection/components/business-form/business-form-stepped.stories.js +3 -2
- package/dist/collection/components/business-form/business-form-stepped.stories.js.map +1 -1
- package/dist/collection/components/business-form/business-form.js +2 -1
- package/dist/collection/components/business-form/business-form.js.map +1 -1
- package/dist/collection/components/business-form/business-form.stories.js +2 -1
- package/dist/collection/components/business-form/business-form.stories.js.map +1 -1
- package/dist/collection/components/business-list/business-list.js +3 -1
- package/dist/collection/components/business-list/business-list.js.map +1 -1
- package/dist/collection/components/business-list/business-list.stories.js +3 -2
- package/dist/collection/components/business-list/business-list.stories.js.map +1 -1
- package/dist/collection/components/card-form/card-form.stories.js +2 -1
- package/dist/collection/components/card-form/card-form.stories.js.map +1 -1
- package/dist/collection/components/gross-payment-chart/chart-utils.js +59 -0
- package/dist/collection/components/gross-payment-chart/chart-utils.js.map +1 -0
- package/dist/collection/components/gross-payment-chart/gross-payment-chart.css +572 -0
- package/dist/collection/components/gross-payment-chart/gross-payment-chart.js +128 -0
- package/dist/collection/components/gross-payment-chart/gross-payment-chart.js.map +1 -0
- package/dist/collection/components/gross-payment-chart/gross-payment-chart.stories.js +22 -0
- package/dist/collection/components/gross-payment-chart/gross-payment-chart.stories.js.map +1 -0
- package/dist/collection/components/gross-payment-chart/test/gross-payment-chart.spec.js +15 -0
- package/dist/collection/components/gross-payment-chart/test/gross-payment-chart.spec.js.map +1 -0
- package/dist/collection/components/payment-details/payment-details.js +2 -1
- package/dist/collection/components/payment-details/payment-details.js.map +1 -1
- package/dist/collection/components/payment-details/payment-details.stories.js +3 -2
- package/dist/collection/components/payment-details/payment-details.stories.js.map +1 -1
- package/dist/collection/components/payment-form/payment-form.stories.js +2 -1
- package/dist/collection/components/payment-form/payment-form.stories.js.map +1 -1
- package/dist/collection/components/payment-method-form/payment-method-form.js +3 -2
- package/dist/collection/components/payment-method-form/payment-method-form.js.map +1 -1
- package/dist/collection/components/payment-method-form/test/payment-method-form.spec.js +9 -8
- package/dist/collection/components/payment-method-form/test/payment-method-form.spec.js.map +1 -1
- package/dist/collection/components/payments-list/payments-list.js +2 -1
- package/dist/collection/components/payments-list/payments-list.js.map +1 -1
- package/dist/collection/components/payments-list/payments-list.stories.js +3 -2
- package/dist/collection/components/payments-list/payments-list.stories.js.map +1 -1
- package/dist/collection/components/payout-details/payout-details.js +2 -1
- package/dist/collection/components/payout-details/payout-details.js.map +1 -1
- package/dist/collection/components/payout-details/payout-details.stories.js +3 -2
- package/dist/collection/components/payout-details/payout-details.stories.js.map +1 -1
- package/dist/collection/components/payouts-list/payouts-list.js +2 -1
- package/dist/collection/components/payouts-list/payouts-list.js.map +1 -1
- package/dist/collection/components/payouts-list/payouts-list.stories.js +3 -2
- package/dist/collection/components/payouts-list/payouts-list.stories.js.map +1 -1
- package/dist/collection/components/proceeds-list/proceeds-list.js +2 -1
- package/dist/collection/components/proceeds-list/proceeds-list.js.map +1 -1
- package/dist/collection/components/proceeds-list/proceeds-list.stories.js +3 -2
- package/dist/collection/components/proceeds-list/proceeds-list.stories.js.map +1 -1
- package/dist/collection/components/refund-form/refund-form.js +2 -1
- package/dist/collection/components/refund-form/refund-form.js.map +1 -1
- package/dist/collection/components/refund-form/refund-form.stories.js +1 -1
- package/dist/collection/components/refund-form/refund-form.stories.js.map +1 -1
- package/dist/collection/components/subaccount-details/subaccount-details.js +3 -2
- package/dist/collection/components/subaccount-details/subaccount-details.js.map +1 -1
- package/dist/collection/components/subaccount-details/subaccount-details.stories.js +4 -3
- package/dist/collection/components/subaccount-details/subaccount-details.stories.js.map +1 -1
- package/dist/collection/components/subaccounts-list/subaccounts-list.js +2 -1
- package/dist/collection/components/subaccounts-list/subaccounts-list.js.map +1 -1
- package/dist/collection/components/subaccounts-list/subaccounts-list.stories.js +3 -2
- package/dist/collection/components/subaccounts-list/subaccounts-list.stories.js.map +1 -1
- package/dist/collection/utils/utils.js +4 -0
- package/dist/collection/utils/utils.js.map +1 -1
- package/dist/components/SubAccount.js +1 -1
- package/dist/components/config.js +17 -0
- package/dist/components/config.js.map +1 -0
- package/dist/components/justifi-business-details.js +2 -1
- package/dist/components/justifi-business-details.js.map +1 -1
- package/dist/components/justifi-business-form-stepped.js +2 -1
- package/dist/components/justifi-business-form-stepped.js.map +1 -1
- package/dist/components/justifi-business-form.js +2 -1
- package/dist/components/justifi-business-form.js.map +1 -1
- package/dist/components/justifi-business-list.js +3 -1
- package/dist/components/justifi-business-list.js.map +1 -1
- package/dist/components/justifi-gross-payment-chart.d.ts +11 -0
- package/dist/components/justifi-gross-payment-chart.js +11053 -0
- package/dist/components/justifi-gross-payment-chart.js.map +1 -0
- package/dist/components/justifi-payment-balance-transactions.js +1 -1
- package/dist/components/justifi-payment-details.js +3 -2
- package/dist/components/justifi-payment-details.js.map +1 -1
- package/dist/components/justifi-payments-list.js +3 -2
- package/dist/components/justifi-payments-list.js.map +1 -1
- package/dist/components/justifi-payout-details.js +3 -2
- package/dist/components/justifi-payout-details.js.map +1 -1
- package/dist/components/justifi-payouts-list.js +3 -2
- package/dist/components/justifi-payouts-list.js.map +1 -1
- package/dist/components/justifi-proceeds-list.js +3 -2
- package/dist/components/justifi-proceeds-list.js.map +1 -1
- package/dist/components/justifi-refund-form.js +2 -1
- package/dist/components/justifi-refund-form.js.map +1 -1
- package/dist/components/justifi-subaccount-details.js +4 -3
- package/dist/components/justifi-subaccount-details.js.map +1 -1
- package/dist/components/justifi-subaccounts-list.js +3 -2
- package/dist/components/justifi-subaccounts-list.js.map +1 -1
- package/dist/components/payment-method-form.js +10 -8
- package/dist/components/payment-method-form.js.map +1 -1
- package/dist/components/subaccount-merchant-details2.js +1 -1
- package/dist/components/utils2.js +5 -1
- package/dist/components/utils2.js.map +1 -1
- package/dist/config.js +14 -0
- package/dist/config.js.map +1 -0
- package/dist/esm/{SubAccount-cf29d050.js → SubAccount-128190e9.js} +2 -2
- package/dist/esm/{SubAccount-cf29d050.js.map → SubAccount-128190e9.js.map} +1 -1
- package/dist/esm/additional-questions-details_5.entry.js +3 -3
- package/dist/esm/config-b1976dbd.js +17 -0
- package/dist/esm/config-b1976dbd.js.map +1 -0
- package/dist/esm/form-control-datepart_2.entry.js +1 -1
- package/dist/esm/form-control-monetary.entry.js +1 -1
- package/dist/esm/form-control-number_3.entry.js +1 -1
- package/dist/esm/{index-b02f9a6e.js → index-7471ed60.js} +4 -1
- package/dist/esm/index-7471ed60.js.map +1 -0
- package/dist/esm/justifi-additional-questions_6.entry.js +1 -1
- package/dist/esm/justifi-bank-account-form.entry.js +1 -1
- package/dist/esm/justifi-billing-form_2.entry.js +1 -1
- package/dist/esm/justifi-business-details.entry.js +4 -3
- package/dist/esm/justifi-business-details.entry.js.map +1 -1
- package/dist/esm/justifi-business-form-stepped.entry.js +3 -2
- package/dist/esm/justifi-business-form-stepped.entry.js.map +1 -1
- package/dist/esm/justifi-business-form.entry.js +3 -2
- package/dist/esm/justifi-business-form.entry.js.map +1 -1
- package/dist/esm/justifi-business-list.entry.js +5 -3
- package/dist/esm/justifi-business-list.entry.js.map +1 -1
- package/dist/esm/justifi-card-form.entry.js +1 -1
- package/dist/esm/justifi-details.entry.js +2 -2
- package/dist/esm/justifi-gross-payment-chart.entry.js +11026 -0
- package/dist/esm/justifi-gross-payment-chart.entry.js.map +1 -0
- package/dist/esm/justifi-payment-balance-transactions.entry.js +2 -2
- package/dist/esm/justifi-payment-details.entry.js +5 -4
- package/dist/esm/justifi-payment-details.entry.js.map +1 -1
- package/dist/esm/justifi-payment-form.entry.js +2 -2
- package/dist/esm/justifi-payment-method-form.entry.js +11 -9
- package/dist/esm/justifi-payment-method-form.entry.js.map +1 -1
- package/dist/esm/justifi-payments-list.entry.js +4 -3
- package/dist/esm/justifi-payments-list.entry.js.map +1 -1
- package/dist/esm/justifi-payout-details.entry.js +5 -4
- package/dist/esm/justifi-payout-details.entry.js.map +1 -1
- package/dist/esm/justifi-payouts-list.entry.js +4 -3
- package/dist/esm/justifi-payouts-list.entry.js.map +1 -1
- package/dist/esm/justifi-proceeds-list.entry.js +4 -3
- package/dist/esm/justifi-proceeds-list.entry.js.map +1 -1
- package/dist/esm/justifi-refund-form.entry.js +3 -2
- package/dist/esm/justifi-refund-form.entry.js.map +1 -1
- package/dist/esm/justifi-subaccount-details.entry.js +7 -6
- package/dist/esm/justifi-subaccount-details.entry.js.map +1 -1
- package/dist/esm/justifi-subaccounts-list.entry.js +5 -4
- package/dist/esm/justifi-subaccounts-list.entry.js.map +1 -1
- package/dist/esm/justifi-table_2.entry.js +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/select-input_2.entry.js +1 -1
- package/dist/esm/subaccount-account-details_4.entry.js +3 -3
- package/dist/esm/subaccount-bank-details.entry.js +2 -2
- package/dist/esm/subaccount-terms-details.entry.js +2 -2
- package/dist/esm/{utils-fcf19fd5.js → utils-40b7002c.js} +6 -2
- package/dist/esm/utils-40b7002c.js.map +1 -0
- package/dist/esm/{utils-d647dd96.js → utils-6352c002.js} +2 -2
- package/dist/esm/{utils-d647dd96.js.map → utils-6352c002.js.map} +1 -1
- package/dist/esm/webcomponents.js +3 -3
- package/dist/types/api/GrossVolume.d.ts +8 -0
- package/dist/types/api/mockData/mockGrossVolumeReport.d.ts +7 -0
- package/dist/types/components/gross-payment-chart/chart-utils.d.ts +45 -0
- package/dist/types/components/gross-payment-chart/gross-payment-chart.d.ts +20 -0
- package/dist/types/components/gross-payment-chart/gross-payment-chart.stories.d.ts +7 -0
- package/dist/types/components.d.ts +17 -0
- package/dist/types/home/runner/work/web-component-library/web-component-library/stencil-library/.stencil/config.d.ts +13 -0
- package/dist/types/utils/utils.d.ts +1 -0
- package/dist/webcomponents/p-0e9a7fa7.entry.js +2 -0
- package/dist/webcomponents/p-0e9a7fa7.entry.js.map +1 -0
- package/dist/webcomponents/p-1920e118.entry.js +2 -0
- package/dist/webcomponents/p-1920e118.entry.js.map +1 -0
- package/dist/webcomponents/{p-99b3925f.entry.js → p-215b4c87.entry.js} +2 -2
- package/dist/webcomponents/{p-08311783.entry.js → p-2cd29187.entry.js} +2 -2
- package/dist/webcomponents/p-301a23aa.js +2 -0
- package/dist/webcomponents/p-301a23aa.js.map +1 -0
- package/dist/webcomponents/{p-14391341.entry.js → p-355eabff.entry.js} +2 -2
- package/dist/webcomponents/{p-2ac4e73d.entry.js → p-356cf20d.entry.js} +2 -2
- package/dist/webcomponents/{p-a1a94012.entry.js → p-397e0d5a.entry.js} +2 -2
- package/dist/webcomponents/p-491d5c69.entry.js +2 -0
- package/dist/webcomponents/p-491d5c69.entry.js.map +1 -0
- package/dist/webcomponents/{p-8471740f.entry.js → p-62872b87.entry.js} +2 -2
- package/dist/webcomponents/{p-e83f93cd.entry.js → p-635a3b3e.entry.js} +2 -2
- package/dist/webcomponents/p-64184a0c.entry.js +2 -0
- package/dist/webcomponents/p-64184a0c.entry.js.map +1 -0
- package/dist/webcomponents/p-6c3236e8.entry.js +2 -0
- package/dist/webcomponents/p-6c3236e8.entry.js.map +1 -0
- package/dist/webcomponents/{p-2806a2d6.js → p-76dffeec.js} +2 -2
- package/dist/webcomponents/{p-5dd71882.entry.js → p-77e732b2.entry.js} +2 -2
- package/dist/webcomponents/{p-756629e9.entry.js → p-798483dd.entry.js} +2 -2
- package/dist/webcomponents/{p-05cc444a.entry.js → p-7a24ab66.entry.js} +2 -2
- package/dist/webcomponents/p-8367b46c.entry.js +2 -0
- package/dist/webcomponents/p-8367b46c.entry.js.map +1 -0
- package/dist/webcomponents/{p-6642d95b.entry.js → p-88fa33c1.entry.js} +2 -2
- package/dist/webcomponents/p-8c4c3d60.entry.js +20 -0
- package/dist/webcomponents/p-8c4c3d60.entry.js.map +1 -0
- package/dist/webcomponents/{p-37b8106d.entry.js → p-931989e6.entry.js} +2 -2
- package/dist/webcomponents/{p-1d42e416.entry.js → p-96eecdff.entry.js} +2 -2
- package/dist/webcomponents/{p-a3211bb2.js → p-988191bf.js} +2 -2
- package/dist/webcomponents/p-a4c78757.entry.js +2 -0
- package/dist/webcomponents/p-a4c78757.entry.js.map +1 -0
- package/dist/webcomponents/p-b08a9520.entry.js +2 -0
- package/dist/webcomponents/p-b08a9520.entry.js.map +1 -0
- package/dist/webcomponents/p-b45453ea.entry.js +2 -0
- package/dist/webcomponents/p-b45453ea.entry.js.map +1 -0
- package/dist/webcomponents/p-c2845c5d.entry.js +2 -0
- package/dist/webcomponents/p-c2845c5d.entry.js.map +1 -0
- package/dist/webcomponents/{p-92872bbe.entry.js → p-c4289027.entry.js} +2 -2
- package/dist/webcomponents/{p-d18c0273.entry.js → p-c43e9572.entry.js} +2 -2
- package/dist/webcomponents/{p-0c5afcbc.js → p-cbb60191.js} +3 -3
- package/dist/webcomponents/p-cbb60191.js.map +1 -0
- package/dist/webcomponents/p-d40718da.entry.js +2 -0
- package/dist/webcomponents/p-d40718da.entry.js.map +1 -0
- package/dist/webcomponents/{p-4d37473a.js → p-d6b5793d.js} +2 -2
- package/dist/webcomponents/p-d6b5793d.js.map +1 -0
- package/dist/webcomponents/p-d7630f46.entry.js +2 -0
- package/dist/webcomponents/{p-5f434e8b.entry.js.map → p-d7630f46.entry.js.map} +1 -1
- package/dist/webcomponents/{p-b4f185c5.entry.js → p-ec1890fc.entry.js} +2 -2
- package/dist/webcomponents/p-ffcbf779.entry.js +2 -0
- package/dist/webcomponents/p-ffcbf779.entry.js.map +1 -0
- package/dist/webcomponents/webcomponents.esm.js +1 -1
- package/dist/webcomponents/webcomponents.esm.js.map +1 -1
- package/package.json +8 -7
- package/dist/cjs/index-ce7d512e.js.map +0 -1
- package/dist/cjs/utils-d9cbe26f.js.map +0 -1
- package/dist/esm/index-b02f9a6e.js.map +0 -1
- package/dist/esm/utils-fcf19fd5.js.map +0 -1
- package/dist/webcomponents/p-014b2f3a.entry.js +0 -2
- package/dist/webcomponents/p-014b2f3a.entry.js.map +0 -1
- package/dist/webcomponents/p-07059336.entry.js +0 -2
- package/dist/webcomponents/p-07059336.entry.js.map +0 -1
- package/dist/webcomponents/p-0c5afcbc.js.map +0 -1
- package/dist/webcomponents/p-1b5bd8f8.entry.js +0 -2
- package/dist/webcomponents/p-1b5bd8f8.entry.js.map +0 -1
- package/dist/webcomponents/p-23f600d3.entry.js +0 -2
- package/dist/webcomponents/p-23f600d3.entry.js.map +0 -1
- package/dist/webcomponents/p-26b1a61d.entry.js +0 -2
- package/dist/webcomponents/p-26b1a61d.entry.js.map +0 -1
- package/dist/webcomponents/p-2f741cd2.entry.js +0 -2
- package/dist/webcomponents/p-2f741cd2.entry.js.map +0 -1
- package/dist/webcomponents/p-3e0f6758.entry.js +0 -2
- package/dist/webcomponents/p-3e0f6758.entry.js.map +0 -1
- package/dist/webcomponents/p-43c04b00.entry.js +0 -2
- package/dist/webcomponents/p-43c04b00.entry.js.map +0 -1
- package/dist/webcomponents/p-4d37473a.js.map +0 -1
- package/dist/webcomponents/p-5b378f8d.entry.js +0 -2
- package/dist/webcomponents/p-5b378f8d.entry.js.map +0 -1
- package/dist/webcomponents/p-5f434e8b.entry.js +0 -2
- package/dist/webcomponents/p-6b5fcbff.entry.js +0 -2
- package/dist/webcomponents/p-6b5fcbff.entry.js.map +0 -1
- package/dist/webcomponents/p-c52d63b1.entry.js +0 -2
- package/dist/webcomponents/p-c52d63b1.entry.js.map +0 -1
- package/dist/webcomponents/p-c9373e73.entry.js +0 -2
- package/dist/webcomponents/p-c9373e73.entry.js.map +0 -1
- /package/dist/webcomponents/{p-99b3925f.entry.js.map → p-215b4c87.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-08311783.entry.js.map → p-2cd29187.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-14391341.entry.js.map → p-355eabff.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-2ac4e73d.entry.js.map → p-356cf20d.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-a1a94012.entry.js.map → p-397e0d5a.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-8471740f.entry.js.map → p-62872b87.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-e83f93cd.entry.js.map → p-635a3b3e.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-2806a2d6.js.map → p-76dffeec.js.map} +0 -0
- /package/dist/webcomponents/{p-5dd71882.entry.js.map → p-77e732b2.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-756629e9.entry.js.map → p-798483dd.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-05cc444a.entry.js.map → p-7a24ab66.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-6642d95b.entry.js.map → p-88fa33c1.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-37b8106d.entry.js.map → p-931989e6.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-1d42e416.entry.js.map → p-96eecdff.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-a3211bb2.js.map → p-988191bf.js.map} +0 -0
- /package/dist/webcomponents/{p-92872bbe.entry.js.map → p-c4289027.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-d18c0273.entry.js.map → p-c43e9572.entry.js.map} +0 -0
- /package/dist/webcomponents/{p-b4f185c5.entry.js.map → p-ec1890fc.entry.js.map} +0 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
title: 'dev/Components/GrossPaymentChart',
|
|
3
|
+
component: 'justifi-gross-payment-chart',
|
|
4
|
+
parameters: {}
|
|
5
|
+
};
|
|
6
|
+
class GrossChartArgs {
|
|
7
|
+
constructor(args) {
|
|
8
|
+
this['auth-token'] = args['auth-token'] || '';
|
|
9
|
+
this['account-id'] = args['account-id'] || '';
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
const Template = (args) => {
|
|
13
|
+
return (`
|
|
14
|
+
<justifi-gross-payment-chart
|
|
15
|
+
auth-token="${args['auth-token']}"
|
|
16
|
+
account-id="${args['account-id']}"
|
|
17
|
+
/>
|
|
18
|
+
`);
|
|
19
|
+
};
|
|
20
|
+
export const Basic = Template.bind({});
|
|
21
|
+
Basic.args = new GrossChartArgs({});
|
|
22
|
+
//# sourceMappingURL=gross-payment-chart.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gross-payment-chart.stories.js","sourceRoot":"","sources":["../../../../src/components/gross-payment-chart/gross-payment-chart.stories.ts"],"names":[],"mappings":"AAAA,eAAe;EACb,KAAK,EAAE,kCAAkC;EACzC,SAAS,EAAE,6BAA6B;EACxC,UAAU,EAAE,EAAE;CACf,CAAC;AAEF,MAAM,cAAc;EAIlB,YAAY,IAAI;IACd,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC9C,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;EAChD,CAAC;CACF;AAED,MAAM,QAAQ,GAAG,CAAC,IAAoB,EAAE,EAAE;EACxC,OAAO,CAAC;;oBAEU,IAAI,CAAC,YAAY,CAAC;oBAClB,IAAI,CAAC,YAAY,CAAC;;GAEnC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvC,KAAK,CAAC,IAAI,GAAG,IAAI,cAAc,CAAC,EAAE,CAAC,CAAC","sourcesContent":["export default {\n title: 'dev/Components/GrossPaymentChart',\n component: 'justifi-gross-payment-chart',\n parameters: {}\n};\n\nclass GrossChartArgs {\n 'auth-token': string;\n 'account-id': string;\n\n constructor(args) {\n this['auth-token'] = args['auth-token'] || '';\n this['account-id'] = args['account-id'] || '';\n }\n}\n\nconst Template = (args: GrossChartArgs) => {\n return (`\n <justifi-gross-payment-chart \n auth-token=\"${args['auth-token']}\"\n account-id=\"${args['account-id']}\"\n />\n `)\n}\n\nexport const Basic = Template.bind({});\nBasic.args = new GrossChartArgs({});\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { newSpecPage } from "@stencil/core/testing";
|
|
2
|
+
import { GrossPaymentChart } from "../gross-payment-chart";
|
|
3
|
+
describe('gross-payment-chart', () => {
|
|
4
|
+
it('renders', async () => {
|
|
5
|
+
const page = await newSpecPage({
|
|
6
|
+
components: [GrossPaymentChart],
|
|
7
|
+
html: `<gross-payment-chart></gross-payment-chart>`,
|
|
8
|
+
});
|
|
9
|
+
expect(page.root).toEqualHtml(`
|
|
10
|
+
<gross-payment-chart>
|
|
11
|
+
</gross-payment-chart>
|
|
12
|
+
`);
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=gross-payment-chart.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gross-payment-chart.spec.js","sourceRoot":"","sources":["../../../../../src/components/gross-payment-chart/test/gross-payment-chart.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;EACnC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IACvB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,iBAAiB,CAAC;MAC/B,IAAI,EAAE,6CAA6C;KACpD,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;KAG7B,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newSpecPage } from '@stencil/core/testing';\nimport { GrossPaymentChart } from '../gross-payment-chart';\n\ndescribe('gross-payment-chart', () => {\n it('renders', async () => {\n const page = await newSpecPage({\n components: [GrossPaymentChart],\n html: `<gross-payment-chart></gross-payment-chart>`,\n });\n expect(page.root).toEqualHtml(`\n <gross-payment-chart>\n </gross-payment-chart>\n `);\n });\n});\n"]}
|
|
@@ -2,6 +2,7 @@ import { Host, h } from "@stencil/core";
|
|
|
2
2
|
import { Api } from "../../api";
|
|
3
3
|
import { MapPaymentStatusToBadge, formatCurrency, formatDate, formatTime } from "../../utils/utils";
|
|
4
4
|
import { CodeBlock, DetailItem, DetailSection, EntityHeadInfo, EntityHeadInfoItem, ErrorState, LoadingState } from "../details/utils";
|
|
5
|
+
import { config } from "../../../config";
|
|
5
6
|
/**
|
|
6
7
|
* @exportedPart detail-loading-spinner
|
|
7
8
|
* @exportedPart detail-loading-state
|
|
@@ -49,7 +50,7 @@ export class PaymentDetails {
|
|
|
49
50
|
}
|
|
50
51
|
this.loading = true;
|
|
51
52
|
const endpoint = `payments/${this.paymentId}`;
|
|
52
|
-
const response = await Api(this.authToken,
|
|
53
|
+
const response = await Api(this.authToken, config.proxyApiOrigin).get(endpoint);
|
|
53
54
|
if (!response.error) {
|
|
54
55
|
this.payment = response.data;
|
|
55
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment-details.js","sourceRoot":"","sources":["../../../../src/components/payment-details/payment-details.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,GAAG,EAAmC,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpG,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"payment-details.js","sourceRoot":"","sources":["../../../../src/components/payment-details/payment-details.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop, State, Watch } from '@stencil/core';\nimport { Api, IApiResponseCollection, Payment } from '../../api';\nimport { MapPaymentStatusToBadge, formatCurrency, formatDate, formatTime } from '../../utils/utils';\nimport { CodeBlock, DetailItem, DetailSection, EntityHeadInfo, EntityHeadInfoItem, ErrorState, LoadingState } from '../details/utils';\nimport { config } from '../../../config';\n\n/**\n * @exportedPart detail-loading-spinner\n * @exportedPart detail-loading-state\n * @exportedPart detail-empty-state\n * @exportedPart detail-head\n * @exportedPart detail-title\n * @exportedPart detail-method\n * @exportedPart detail-info\n * @exportedPart detail-info-item\n * @exportedPart detail-info-item-title\n * @exportedPart detail-info-item-data\n * @exportedPart detail-metadata\n * @exportedPart detail-metadata-title\n * @exportedPart detail-method-title\n * @exportedPart detail-method-data\n * @exportedPart detail-section\n * @exportedPart detail-section-title\n * @exportedPart detail-section-item-title\n * @exportedPart detail-section-item-data\n * @exportedPart detail-head-info\n * @exportedPart detail-head-info-item\n * @exportedPart detail-head-info-item-title\n * @exportedPart detail-head-info-item-data\n*/\n@Component({\n tag: 'justifi-payment-details',\n styleUrl: 'payment-details.scss',\n shadow: true,\n})\n\nexport class PaymentDetails {\n @Prop() paymentId: string;\n @Prop() authToken: string;\n @State() payment: Payment;\n @State() loading: boolean = true;\n @State() errorMessage: string;\n\n @Watch('paymentId')\n @Watch('authToken')\n updateOnPropChange() {\n this.fetchData();\n }\n\n connectedCallback() {\n this.fetchData();\n }\n\n async fetchData(): Promise<void> {\n this.errorMessage = '';\n if (!this.paymentId || !this.authToken) {\n this.errorMessage = \"Can not fetch any data without a PaymentID and an AuthToken\";\n this.loading = false;\n return;\n }\n this.loading = true;\n const endpoint = `payments/${this.paymentId}`;\n\n const response: IApiResponseCollection<Payment> = await Api(this.authToken, config.proxyApiOrigin).get(endpoint);\n if (!response.error) {\n this.payment = response.data;\n } else {\n this.errorMessage = typeof response.error === 'string' ? response.error : response.error.message;\n }\n\n this.loading = false;\n }\n\n render() {\n return (\n <Host>\n {\n this.loading ? LoadingState :\n !this.payment ? ErrorState(this.errorMessage) :\n <justifi-details error-message={this.errorMessage}>\n <EntityHeadInfo slot=\"head-info\" badge={<span slot='badge' innerHTML={MapPaymentStatusToBadge(this.payment?.status)} />} title={`${formatCurrency(this.payment.amount)} ${this.payment.currency.toUpperCase()}`}>\n <EntityHeadInfoItem\n classes=\"border-1 border-end\"\n title=\"Updated At\"\n value={`${formatDate(this.payment.updated_at)} ${formatTime(this.payment.updated_at)}`}\n />\n <EntityHeadInfoItem\n classes=\"border-1 border-end\"\n title=\"Created At\"\n value={`${formatDate(this.payment.created_at)} ${formatTime(this.payment.created_at)}`}\n />\n <EntityHeadInfoItem title=\"ID\" value={this.payment.id} />\n </EntityHeadInfo>\n <div slot='detail-sections'>\n <DetailSection sectionTitle=\"Details\">\n <DetailItem title=\"Amount\" value={formatCurrency(this.payment.amount)} />\n <DetailItem title=\"Fees\" value={formatCurrency(this.payment.fee_amount)} />\n <DetailItem title=\"Refunded\" value={formatCurrency(this.payment.amount_refunded)} />\n <DetailItem title=\"Net\" value={formatCurrency(this.payment.balance)} />\n <DetailItem title=\"Status\" value={MapPaymentStatusToBadge(this.payment.status)} />\n <DetailItem title=\"Payment ID\" value={this.payment.id} />\n <DetailItem title=\"Processing Fees\" value={formatCurrency(this.payment.fee_amount)} />\n <DetailItem title=\"Statement Descriptor\" value={this.payment.statement_descriptor} />\n <DetailItem title=\"Description\" value={this.payment.description} />\n </DetailSection>\n <DetailSection sectionTitle=\"Payment Method\">\n <DetailItem title=\"ID\" value={this.payment.payment_method.card.id} />\n <DetailItem title=\"Payment Type\" value=\"Card\" />\n <DetailItem title=\"Last 4 Numbers\" value={this.payment.payment_method.card.acct_last_four} />\n <DetailItem title=\"Brand\" value={this.payment.payment_method.card.brand} />\n <DetailItem title=\"Cardholder\" value={this.payment.payment_method.card.name} />\n </DetailSection>\n <DetailSection sectionTitle='Metadata'>\n <CodeBlock metadata={this.payment.metadata} />\n </DetailSection>\n </div>\n </justifi-details>\n }\n </Host>\n );\n }\n}"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { config } from "../../../config";
|
|
1
2
|
export default {
|
|
2
3
|
title: 'Components/PaymentDetails',
|
|
3
4
|
component: 'justifi-payment-details',
|
|
@@ -5,8 +6,8 @@ export default {
|
|
|
5
6
|
};
|
|
6
7
|
class PaymentDetailsArgs {
|
|
7
8
|
constructor(args) {
|
|
8
|
-
this['auth-token'] = args['auth-token'] ||
|
|
9
|
-
this['payment-id'] = args['payment-id'] ||
|
|
9
|
+
this['auth-token'] = args['auth-token'] || config.proxyAuthToken;
|
|
10
|
+
this['payment-id'] = args['payment-id'] || config.examplePaymentId;
|
|
10
11
|
}
|
|
11
12
|
}
|
|
12
13
|
const Template = (args) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment-details.stories.js","sourceRoot":"","sources":["../../../../src/components/payment-details/payment-details.stories.ts"],"names":[],"mappings":"AAAA,eAAe;EACb,KAAK,EAAE,2BAA2B;EAClC,SAAS,EAAE,yBAAyB;EACpC,UAAU,EAAE,EAAE;CACf,CAAC;AAEF,MAAM,kBAAkB;EAItB,YAAY,IAAI;IACd,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"payment-details.stories.js","sourceRoot":"","sources":["../../../../src/components/payment-details/payment-details.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,eAAe;EACb,KAAK,EAAE,2BAA2B;EAClC,SAAS,EAAE,yBAAyB;EACpC,UAAU,EAAE,EAAE;CACf,CAAC;AAEF,MAAM,kBAAkB;EAItB,YAAY,IAAI;IACd,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC;IACjE,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC;EACrE,CAAC;CACF;AAED,MAAM,QAAQ,GAAG,CAAC,IAAwB,EAAE,EAAE;EAC5C,OAAO,CAAC;;;oBAGU,IAAI,CAAC,YAAY,CAAC;oBAClB,IAAI,CAAC,YAAY,CAAC;;GAEnC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvC,KAAK,CAAC,IAAI,GAAG,IAAI,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAExC,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxC,MAAM,CAAC,IAAI,GAAG,IAAI,kBAAkB,CAAC,EAAE,CAAC,CAAC;AACzC,MAAM,CAAC,UAAU,GAAG;EAClB,CAAC,KAAK,EAAE,EAAE,CAAC;MACP,KAAK,EAAE;;;;;;;;;;;;;;;;;;GAkBV;CACF,CAAA","sourcesContent":["import { config } from '../../../config';\n\nexport default {\n title: 'Components/PaymentDetails',\n component: 'justifi-payment-details',\n parameters: {},\n};\n\nclass PaymentDetailsArgs {\n 'auth-token': string;\n 'payment-id': string;\n\n constructor(args) {\n this['auth-token'] = args['auth-token'] || config.proxyAuthToken;\n this['payment-id'] = args['payment-id'] || config.examplePaymentId;\n }\n}\n\nconst Template = (args: PaymentDetailsArgs) => {\n return (`\n <justifi-payment-details\n data-testid=\"justifi-payment-details\"\n auth-token=\"${args['auth-token']}\"\n payment-id=\"${args['payment-id']}\"\n />\n `);\n};\n\nexport const Basic = Template.bind({});\nBasic.args = new PaymentDetailsArgs({});\n\nexport const Styled = Template.bind({});\nStyled.args = new PaymentDetailsArgs({});\nStyled.decorators = [\n (Story) => `\n ${Story()}\n <style>\n justifi-payment-details::part(detail-head) {\n background-color: rgba(100, 200, 250, 0.2);\n border-left: 4px solid rgba(100, 200, 250, 1);\n }\n justifi-payment-details::part(detail-info-item-title),\n justifi-payment-details::part(detail-method-item-title) {\n border-radius: 3px;\n background-color: rgba(0, 0, 0, 0.8);\n text-align: center;\n padding: 0 10px;\n color: white !important;\n }\n justifi-payment-details::part(detail-metadata) {\n background-color: rgba(100,100,100,0.2)\n }\n </style>\n `\n]\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { config } from "../../../config";
|
|
1
2
|
export default {
|
|
2
3
|
title: 'Components/PaymentForm',
|
|
3
4
|
component: 'justifi-payment-form',
|
|
@@ -14,7 +15,7 @@ const Template = (args) => {
|
|
|
14
15
|
client-id='${args['client-id']}'
|
|
15
16
|
account-id='${args['account-id']}'
|
|
16
17
|
submit-button-text='${args['submit-button-text']}'
|
|
17
|
-
iframe-origin='${
|
|
18
|
+
iframe-origin='${config.iframeOrigin}'
|
|
18
19
|
/>
|
|
19
20
|
</div>
|
|
20
21
|
<style>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment-form.stories.js","sourceRoot":"","sources":["../../../../src/components/payment-form/payment-form.stories.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"payment-form.stories.js","sourceRoot":"","sources":["../../../../src/components/payment-form/payment-form.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAYzC,eAAe;EACb,KAAK,EAAE,wBAAwB;EAC/B,SAAS,EAAE,sBAAsB;EACjC,QAAQ,EAAE,EAAE;CACb,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,IAA0B,EAAE,EAAE;EAC9C,wFAAwF;EACxF,OAAO;;;eAGM,IAAI,CAAC,IAAI;wBACA,IAAI,CAAC,cAAc,CAAC;iBAC3B,IAAI,CAAC,KAAK;qBACN,IAAI,CAAC,WAAW,CAAC;sBAChB,IAAI,CAAC,YAAY,CAAC;8BACV,IAAI,CAAC,oBAAoB,CAAC;yBAC/B,MAAM,CAAC,YAAY;;;;;UAKlC,IAAI,CAAC,YAAY;;;;;;;;;;;;;;;GAexB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvC,KAAK,CAAC,IAAI,GAAG;EACX,cAAc,EAAE,IAAI;EACpB,MAAM,EAAE,IAAI;EACZ,OAAO,EAAE,EAAE;EACX,WAAW,EAAE,EAAE;EACf,YAAY,EAAE,EAAE;EAChB,oBAAoB,EAAE,EAAE;EACxB,eAAe,EAAE,EAAE;CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxC,MAAM,CAAC,IAAI,GAAG;EACZ,cAAc,EAAE,IAAI;EACpB,MAAM,EAAE,IAAI;EACZ,OAAO,EAAE,EAAE;EACX,WAAW,EAAE,EAAE;EACf,YAAY,EAAE,EAAE;EAChB,oBAAoB,EAAE,EAAE;EACxB,eAAe,EAAE,EAAE;EACnB,cAAc,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEf;CACF,CAAC","sourcesContent":["import { config } from '../../../config';\n\ninterface PaymentFormStoryArgs {\n 'bank-account': boolean;\n 'card': boolean;\n 'email': string;\n 'client-id': string;\n 'account-id': string;\n 'submit-button-text': string;\n 'cssVariables': string;\n}\n\nexport default {\n title: 'Components/PaymentForm',\n component: 'justifi-payment-form',\n argTypes: {},\n};\n\nconst Template = (args: PaymentFormStoryArgs) => {\n // The <div> here should be replaced by a `display` property in the cardForm potentially\n return `\n <div>\n <justifi-payment-form\n card=${args.card}\n bank-account='${args['bank-account']}'\n email='${args.email}'\n client-id='${args['client-id']}'\n account-id='${args['account-id']}'\n submit-button-text='${args['submit-button-text']}'\n iframe-origin='${config.iframeOrigin}'\n />\n </div>\n <style>\n :root {\n ${args.cssVariables}\n }\n </style>\n <script>\n (async () => {\n await customElements.whenDefined('justifi-payment-form');\n const paymentForm = document.querySelector('justifi-payment-form');\n paymentForm.addEventListener('submitted', async (event) => {\n // here is where you would submit a payment with the token\n console.log(event.detail);\n // after the payment succeeds or fails, the form submit button can be enabled again\n await paymentForm.enableSubmitButton();\n });\n })()\n </script>\n `;\n};\n\nexport const Basic = Template.bind({});\nBasic.args = {\n 'bank-account': true,\n 'card': true,\n 'email': '',\n 'client-id': '',\n 'account-id': '',\n 'submit-button-text': '',\n 'iframe-origin': '',\n};\n\nexport const Styled = Template.bind({});\nStyled.args = {\n 'bank-account': true,\n 'card': true,\n 'email': '',\n 'client-id': '',\n 'account-id': '',\n 'submit-button-text': '',\n 'iframe-origin': '',\n 'cssVariables': `\n --jfi-primary-color: #212529;\n --jfi-load-google-font: 'Roboto Mono:wght@200;400;700;900';\n --jfi-layout-font-family: Roboto Mono, Calibri, sans-serif;\n --jfi-layout-padding: 4px;\n --jfi-layout-form-control-spacing-x: .5rem;\n --jfi-layout-form-control-spacing-y: 1rem;\n --jfi-form-label-font-weight: 700;\n --jfi-form-label-font-family: Calibri, sans-serif;\n --jfi-form-label-margin: 0 0 .5rem 0;\n --jfi-form-control-background-color: #F4F4F6;\n --jfi-form-control-background-color-hover: #EEEEF5;\n --jfi-form-control-border-color: rgba(0, 0, 0, 0.42);\n --jfi-form-control-border-color-hover: rgba(0, 0, 0, 0.62);\n --jfi-form-control-border-color-focus: #fccc32;\n --jfi-form-control-border-color-error: #C12727;\n --jfi-form-control-border-top-width: 0;\n --jfi-form-control-border-left-width: 0;\n --jfi-form-control-border-bottom-width: 1px;\n --jfi-form-control-border-right-width: 0;\n --jfi-form-control-border-radius: 4px 4px 0 0;\n --jfi-form-control-border-style: solid;\n --jfi-form-control-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n --jfi-form-control-box-shadow-focus: none;\n --jfi-form-control-box-shadow-error-focus: none;\n --jfi-form-control-border-style: solid;\n --jfi-form-control-color: #212529;\n --jfi-form-control-font-size: 1rem;\n --jfi-form-control-font-weight: 400;\n --jfi-form-control-line-height: 2;\n --jfi-form-control-margin: 0;\n --jfi-form-control-padding: .5rem .875rem;\n --jfi-error-message-color: #C12727;\n --jfi-error-message-margin: .25rem 0 0 0;\n --jfi-error-message-font-size: .875rem;\n\n --jfi-submit-button-color: white;\n --jfi-submit-button-background-color: #3F3F47;\n --jfi-submit-button-border-color: var(--jfi-primary-color);\n --jfi-submit-button-padding: 0.375rem 0.75rem;\n --jfi-submit-button-font-size: 1rem;\n --jfi-submit-button-border-radius: 1px;\n --jfi-submit-button-color-hover: white;\n --jfi-submit-button-background-color-hover: var(--jfi-primary-color);\n --jfi-submit-button-border-color-hover: var(--jfi-primary-color);\n --jfi-submit-button-color-focus: white;\n --jfi-submit-button-background-color-focus: var(--jfi-primary-color);\n --jfi-submit-button-border-color-focus: var(--jfi-primary-color);\n --jfi-submit-button-color-active: white;\n --jfi-submit-button-background-color-active: var(--jfi-primary-color);\n --jfi-submit-button-border-color-active: var(--jfi-primary-color);\n --jfi-submit-button-width: 100%;\n --jfi-submit-button-box-shadow: rgba(0, 0, 0, 0.2) 0px 3px 1px -2px, rgba(0, 0, 0, 0.14) 0px 2px 2px 0px, rgba(0, 0, 0, 0.12) 0px 1px 5px 0px;\n\n --jfi-radio-button-color: var(--jfi-primary-color);\n --jfi-radio-button-background-color: transparent;\n --jfi-radio-button-color-selected: white;\n --jfi-radio-button-background-color-selected: var(--jfi-primary-color);\n --jfi-radio-button-border-color: var(--jfi-primary-color);\n --jfi-radio-button-border-color-selected: var(--jfi-primary-color);\n --jfi-radio-button-padding: 0.375rem 0.75rem;\n --jfi-radio-button-font-size: 1rem;\n --jfi-radio-button-color-hover: var(--jfi-primary-color);\n --jfi-radio-button-color-selected-hover: white;\n --jfi-radio-button-background-color-hover: transparent;\n --jfi-radio-button-background-color-selected-hover: var(--jfi-primary-color);\n --jfi-radio-button-border-color-selected-hover: var(--jfi-primary-color);\n --jfi-radio-button-border-color-hover: var(--jfi-primary-color);\n --jfi-radio-button-group-width: 100%;\n `,\n};\n"]}
|
|
@@ -3,6 +3,7 @@ import iFrameResize from "iframe-resizer/js/iframeResizer";
|
|
|
3
3
|
import { MessageEventType } from "./message-event-types";
|
|
4
4
|
import packageJson from "../../../package.json";
|
|
5
5
|
import getComputedTheme from "./get-computed-theme";
|
|
6
|
+
import { config } from "../../../config";
|
|
6
7
|
export class PaymentMethodForm {
|
|
7
8
|
constructor() {
|
|
8
9
|
this.computedTheme = getComputedTheme();
|
|
@@ -32,7 +33,7 @@ export class PaymentMethodForm {
|
|
|
32
33
|
}
|
|
33
34
|
postMessage(eventType, payload) {
|
|
34
35
|
var _a, _b;
|
|
35
|
-
(_b = (_a = this.iframeElement) === null || _a === void 0 ? void 0 : _a.contentWindow) === null || _b === void 0 ? void 0 : _b.postMessage(Object.assign({ eventType: eventType }, payload),
|
|
36
|
+
(_b = (_a = this.iframeElement) === null || _a === void 0 ? void 0 : _a.contentWindow) === null || _b === void 0 ? void 0 : _b.postMessage(Object.assign({ eventType: eventType }, payload), config.iframeOrigin || '*');
|
|
36
37
|
}
|
|
37
38
|
async resize() {
|
|
38
39
|
this.postMessage(MessageEventType[this.paymentMethodFormType].resize);
|
|
@@ -74,7 +75,7 @@ export class PaymentMethodForm {
|
|
|
74
75
|
return queryParams.join('');
|
|
75
76
|
}
|
|
76
77
|
getIframeSrc() {
|
|
77
|
-
const iframeOrigin =
|
|
78
|
+
const iframeOrigin = config.iframeOrigin;
|
|
78
79
|
let iframeSrc = `${iframeOrigin}/${this.paymentMethodFormType}`;
|
|
79
80
|
let paramsList = [];
|
|
80
81
|
if (this.paymentMethodFormValidationMode) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment-method-form.js","sourceRoot":"","sources":["../../../../src/components/payment-method-form/payment-method-form.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,CAAC,EAED,MAAM,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,YAAY,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,gBAAgB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"payment-method-form.js","sourceRoot":"","sources":["../../../../src/components/payment-method-form/payment-method-form.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Event,\n Host,\n Prop,\n h,\n EventEmitter,\n Method,\n} from '@stencil/core';\nimport iFrameResize from 'iframe-resizer/js/iframeResizer';\nimport { MessageEventType } from './message-event-types';\nimport { Theme } from './theme';\nimport packageJson from '../../../package.json';\nimport getComputedTheme from './get-computed-theme';\nimport { CreatePaymentMethodResponse } from './payment-method-responses';\nimport { config } from '../../../config';\n\n@Component({\n tag: 'justifi-payment-method-form',\n styleUrl: 'payment-method-form.css',\n shadow: false,\n})\nexport class PaymentMethodForm {\n @Prop() paymentMethodFormType: 'card' | 'bankAccount';\n @Prop({\n mutable: true,\n })\n paymentMethodFormValidationMode:\n | 'onChange'\n | 'onBlur'\n | 'onSubmit'\n | 'onTouched'\n | 'all';\n @Prop() iframeOrigin?: string;\n @Prop() singleLine: boolean;\n @Event({ bubbles: true }) paymentMethodFormReady: EventEmitter;\n @Event({ bubbles: true }) paymentMethodFormTokenize: EventEmitter<{\n data: any;\n }>;\n\n private computedTheme: Theme = getComputedTheme();\n\n iframeElement!: HTMLIFrameElement;\n\n connectedCallback() {\n window.addEventListener('message', this.dispatchMessageEvent.bind(this));\n }\n\n disconnectedCallback() {\n window.removeEventListener('message', this.dispatchMessageEvent.bind(this));\n }\n\n sendStyleOverrides() {\n if (this.computedTheme) {\n this.postMessage(\n MessageEventType[this.paymentMethodFormType].styleOverrides,\n { styleOverrides: this.computedTheme },\n );\n }\n }\n\n private dispatchMessageEvent(messageEvent: MessageEvent) {\n const messagePayload = messageEvent.data;\n const messageType = messagePayload.eventType;\n const messageData = messagePayload.data;\n\n if (messageType === MessageEventType[this.paymentMethodFormType].ready) {\n this.paymentMethodFormReady.emit(messageData);\n }\n }\n\n private postMessage(eventType: string, payload?: any) {\n this.iframeElement?.contentWindow?.postMessage({ eventType: eventType, ...payload }, config.iframeOrigin || '*');\n }\n\n @Method()\n async resize(): Promise<any> {\n this.postMessage(MessageEventType[this.paymentMethodFormType].resize);\n }\n\n private async postMessageWithResponseListener(\n eventType: string,\n payload?: any,\n ): Promise<any> {\n return new Promise(resolve => {\n const responseListener = (event: MessageEvent) => {\n if (event.data.eventType !== eventType) return;\n window.removeEventListener('message', responseListener);\n resolve(event.data.data);\n };\n window.addEventListener('message', responseListener);\n this.postMessage(eventType, payload);\n });\n }\n\n @Method()\n async tokenize(\n clientId: string,\n paymentMethodMetadata: any,\n account?: string,\n ): Promise<CreatePaymentMethodResponse> {\n const eventType = MessageEventType[this.paymentMethodFormType].tokenize;\n const payload = {\n clientId: clientId,\n componentVersion: packageJson.version,\n paymentMethodMetadata: paymentMethodMetadata,\n account: account,\n };\n\n return this.postMessageWithResponseListener(eventType, payload);\n }\n\n @Method()\n async validate(): Promise<any> {\n return this.postMessageWithResponseListener(\n MessageEventType[this.paymentMethodFormType].validate,\n );\n }\n\n private composeQueryParams(values: string[]) {\n const queryParams = values.map(value => {\n if (value === values[0]) {\n return (value = `?${value}`);\n } else {\n return (value = `&${value}`);\n }\n });\n return queryParams.join('');\n }\n\n private getIframeSrc() {\n const iframeOrigin = config.iframeOrigin;\n\n let iframeSrc = `${iframeOrigin}/${this.paymentMethodFormType}`;\n let paramsList = [];\n if (this.paymentMethodFormValidationMode) {\n paramsList.push(`validationMode=${this.paymentMethodFormValidationMode}`);\n }\n if (this.singleLine) {\n paramsList.push(`singleLine=${this.singleLine}`);\n }\n\n return iframeSrc.concat(this.composeQueryParams(paramsList));\n }\n\n render() {\n return (\n <Host>\n <iframe\n id={`justifi-payment-method-form-${this.paymentMethodFormType}`}\n src={this.getIframeSrc()}\n ref={el => {\n this.iframeElement = el as HTMLIFrameElement;\n }}\n onLoad={() => {\n iFrameResize(this.iframeElement);\n this.sendStyleOverrides();\n }}\n ></iframe>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { config } from "../../../../config";
|
|
1
2
|
import { h } from "@stencil/core";
|
|
2
3
|
import { newSpecPage } from "@stencil/core/testing";
|
|
3
4
|
import { PaymentMethodForm } from "../payment-method-form";
|
|
@@ -9,7 +10,7 @@ describe('justifi-payment-method-form', () => {
|
|
|
9
10
|
});
|
|
10
11
|
expect(page.root).toEqualHtml(`
|
|
11
12
|
<justifi-payment-method-form>
|
|
12
|
-
<iframe id='justifi-payment-method-form-card' src='${
|
|
13
|
+
<iframe id='justifi-payment-method-form-card' src='${config.iframeOrigin}/card'></iframe>
|
|
13
14
|
</justifi-payment-method-form>
|
|
14
15
|
`);
|
|
15
16
|
});
|
|
@@ -20,7 +21,7 @@ describe('justifi-payment-method-form', () => {
|
|
|
20
21
|
});
|
|
21
22
|
expect(page.root).toEqualHtml(`
|
|
22
23
|
<justifi-payment-method-form>
|
|
23
|
-
<iframe id='justifi-payment-method-form-card' src='${
|
|
24
|
+
<iframe id='justifi-payment-method-form-card' src='${config.iframeOrigin}/card'></iframe>
|
|
24
25
|
</justifi-payment-method-form>
|
|
25
26
|
`);
|
|
26
27
|
});
|
|
@@ -31,7 +32,7 @@ describe('justifi-payment-method-form', () => {
|
|
|
31
32
|
});
|
|
32
33
|
expect(page.root).toEqualHtml(`
|
|
33
34
|
<justifi-payment-method-form>
|
|
34
|
-
<iframe id='justifi-payment-method-form-bankAccount' src='${
|
|
35
|
+
<iframe id='justifi-payment-method-form-bankAccount' src='${config.iframeOrigin}/bankAccount'></iframe>
|
|
35
36
|
</justifi-payment-method-form>
|
|
36
37
|
`);
|
|
37
38
|
});
|
|
@@ -42,7 +43,7 @@ describe('justifi-payment-method-form', () => {
|
|
|
42
43
|
});
|
|
43
44
|
expect(page.root).toEqualHtml(`
|
|
44
45
|
<justifi-payment-method-form>
|
|
45
|
-
<iframe id='justifi-payment-method-form-bankAccount' src='${
|
|
46
|
+
<iframe id='justifi-payment-method-form-bankAccount' src='${config.iframeOrigin}/bankAccount?validationMode=onChange'></iframe>
|
|
46
47
|
</justifi-payment-method-form>
|
|
47
48
|
`);
|
|
48
49
|
});
|
|
@@ -53,18 +54,18 @@ describe('justifi-payment-method-form', () => {
|
|
|
53
54
|
});
|
|
54
55
|
expect(page.root).toEqualHtml(`
|
|
55
56
|
<justifi-payment-method-form>
|
|
56
|
-
<iframe id='justifi-payment-method-form-bankAccount' src='${
|
|
57
|
+
<iframe id='justifi-payment-method-form-bankAccount' src='${config.iframeOrigin}/bankAccount?validationMode=onBlur'></iframe>
|
|
57
58
|
</justifi-payment-method-form>
|
|
58
59
|
`);
|
|
59
60
|
});
|
|
60
61
|
it('renders a card iframe with iframeOrigin when paymentMethodFormType is card and iframeOrigin is set', async () => {
|
|
61
62
|
const page = await newSpecPage({
|
|
62
63
|
components: [PaymentMethodForm],
|
|
63
|
-
template: () => h("justifi-payment-method-form", { paymentMethodFormType: 'card', iframeOrigin: '${
|
|
64
|
+
template: () => h("justifi-payment-method-form", { paymentMethodFormType: 'card', iframeOrigin: '${config.iframeOrigin}' }),
|
|
64
65
|
});
|
|
65
66
|
expect(page.root).toEqualHtml(`
|
|
66
67
|
<justifi-payment-method-form>
|
|
67
|
-
<iframe id='justifi-payment-method-form-card' src='${
|
|
68
|
+
<iframe id='justifi-payment-method-form-card' src='${config.iframeOrigin}/card'></iframe>
|
|
68
69
|
</justifi-payment-method-form>
|
|
69
70
|
`);
|
|
70
71
|
});
|
|
@@ -75,7 +76,7 @@ describe('justifi-payment-method-form', () => {
|
|
|
75
76
|
});
|
|
76
77
|
expect(page.root).toEqualHtml(`
|
|
77
78
|
<justifi-payment-method-form>
|
|
78
|
-
<iframe id='justifi-payment-method-form-card' src='${
|
|
79
|
+
<iframe id='justifi-payment-method-form-card' src='${config.iframeOrigin}/card?singleLine=true'></iframe>
|
|
79
80
|
</justifi-payment-method-form>
|
|
80
81
|
`);
|
|
81
82
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment-method-form.spec.js","sourceRoot":"","sources":["../../../../../src/components/payment-method-form/test/payment-method-form.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;EAC3C,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;IACjC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,iBAAiB,CAAC;MAC/B,QAAQ,EAAE,GAAG,EAAE,CAAC,mCAA6B,qBAAqB,EAAC,MAAM,GAA+B;KACzG,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;2DAEyB,
|
|
1
|
+
{"version":3,"file":"payment-method-form.spec.js","sourceRoot":"","sources":["../../../../../src/components/payment-method-form/test/payment-method-form.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import { config } from '../../../../config';\n\nimport { h } from '@stencil/core';\nimport { newSpecPage } from '@stencil/core/testing';\nimport { PaymentMethodForm } from '../payment-method-form';\n\ndescribe('justifi-payment-method-form', () => {\n it('renders an iframe', async () => {\n const page = await newSpecPage({\n components: [PaymentMethodForm],\n template: () => <justifi-payment-method-form paymentMethodFormType='card'></justifi-payment-method-form>,\n });\n expect(page.root).toEqualHtml(`\n <justifi-payment-method-form>\n <iframe id='justifi-payment-method-form-card' src='${config.iframeOrigin}/card'></iframe>\n </justifi-payment-method-form>\n `);\n });\n\n it('renders a card iframe when paymentMethodFormType is card', async () => {\n const page = await newSpecPage({\n components: [PaymentMethodForm],\n template: () => <justifi-payment-method-form paymentMethodFormType='card'></justifi-payment-method-form>,\n });\n expect(page.root).toEqualHtml(`\n <justifi-payment-method-form>\n <iframe id='justifi-payment-method-form-card' src='${config.iframeOrigin}/card'></iframe>\n </justifi-payment-method-form>\n `);\n });\n\n it('renders a bank iframe when paymentMethodFormType is bank', async () => {\n const page = await newSpecPage({\n components: [PaymentMethodForm],\n template: () => <justifi-payment-method-form paymentMethodFormType='bankAccount'></justifi-payment-method-form>,\n });\n expect(page.root).toEqualHtml(`\n <justifi-payment-method-form>\n <iframe id='justifi-payment-method-form-bankAccount' src='${config.iframeOrigin}/bankAccount'></iframe>\n </justifi-payment-method-form>\n `);\n });\n\n it('renders a card iframe with validationMode when paymentMethodFormType is card and paymentMethodFormValidationMode is set', async () => {\n const page = await newSpecPage({\n components: [PaymentMethodForm],\n template: () => <justifi-payment-method-form paymentMethodFormType='bankAccount' paymentMethodFormValidationMode='onChange'></justifi-payment-method-form>,\n });\n\n expect(page.root).toEqualHtml(`\n <justifi-payment-method-form>\n <iframe id='justifi-payment-method-form-bankAccount' src='${config.iframeOrigin}/bankAccount?validationMode=onChange'></iframe>\n </justifi-payment-method-form>\n `);\n });\n\n it('renders a card iframe with validationMode when paymentMethodFormType is card and paymentMethodFormValidationMode is set', async () => {\n const page = await newSpecPage({\n components: [PaymentMethodForm],\n template: () => <justifi-payment-method-form paymentMethodFormType='bankAccount' paymentMethodFormValidationMode='onBlur'></justifi-payment-method-form>,\n });\n\n expect(page.root).toEqualHtml(`\n <justifi-payment-method-form>\n <iframe id='justifi-payment-method-form-bankAccount' src='${config.iframeOrigin}/bankAccount?validationMode=onBlur'></iframe>\n </justifi-payment-method-form>\n `);\n });\n\n it('renders a card iframe with iframeOrigin when paymentMethodFormType is card and iframeOrigin is set', async () => {\n const page = await newSpecPage({\n components: [PaymentMethodForm],\n template: () => <justifi-payment-method-form paymentMethodFormType='card' iframeOrigin='${config.iframeOrigin}'></justifi-payment-method-form>,\n });\n\n expect(page.root).toEqualHtml(`\n <justifi-payment-method-form>\n <iframe id='justifi-payment-method-form-card' src='${config.iframeOrigin}/card'></iframe>\n </justifi-payment-method-form>\n `);\n });\n\n it('renders a card iframe with singleLine when paymentMethodFormType is card and singleLine is set', async () => {\n const page = await newSpecPage({\n components: [PaymentMethodForm],\n template: () => <justifi-payment-method-form paymentMethodFormType='card' singleLine={true}></justifi-payment-method-form>,\n });\n\n expect(page.root).toEqualHtml(`\n <justifi-payment-method-form>\n <iframe id='justifi-payment-method-form-card' src='${config.iframeOrigin}/card?singleLine=true'></iframe>\n </justifi-payment-method-form>\n `);\n });\n});\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Host, h } from "@stencil/core";
|
|
2
2
|
import { Api, Payment, pagingDefaults } from "../../api";
|
|
3
3
|
import { MapPaymentStatusToBadge, formatCurrency, formatDate, formatTime } from "../../utils/utils";
|
|
4
|
+
import { config } from "../../../config";
|
|
4
5
|
/**
|
|
5
6
|
* @exportedPart table-head: Table head
|
|
6
7
|
* @exportedPart table-head-row: Head row
|
|
@@ -54,7 +55,7 @@ export class PaymentsList {
|
|
|
54
55
|
return;
|
|
55
56
|
}
|
|
56
57
|
this.loading = true;
|
|
57
|
-
const api = Api(this.authToken,
|
|
58
|
+
const api = Api(this.authToken, config.proxyApiOrigin);
|
|
58
59
|
const endpoint = `account/${this.accountId}/payments`;
|
|
59
60
|
const response = await api.get(endpoint, this.params);
|
|
60
61
|
if (!response.error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payments-list.js","sourceRoot":"","sources":["../../../../src/components/payments-list/payments-list.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,GAAG,EAAsD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC7G,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"payments-list.js","sourceRoot":"","sources":["../../../../src/components/payments-list/payments-list.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop, State, Watch, Event, EventEmitter } from '@stencil/core';\nimport { Api, IApiResponseCollection, IPaymentMethod, PagingInfo, Payment, pagingDefaults } from '../../api';\nimport { MapPaymentStatusToBadge, formatCurrency, formatDate, formatTime } from '../../utils/utils';\nimport { config } from '../../../config';\n\n/**\n * @exportedPart table-head: Table head\n * @exportedPart table-head-row: Head row\n * @exportedPart table-head-cell: Individual head cell\n * @exportedPart table-body: Body of the table\n * @exportedPart table-row: Row of the table\n * @exportedPart table-cell: Individual cell of the table\n * @exportedPart loading-state-cell: Row for loading state\n * @exportedPart loading-state-spinner: Spinner element for loading state\n * @exportedPart error-state: Row for Error state\n * @exportedPart empty-state: Row for Emtpy state\n * @exportedPart pagination-bar: Pagination bar\n * @exportedPart arrow: Both paging buttons\n * @exportedPart arrow-left: Previous page button\n * @exportedPart arrow-right: Next page button\n * @exportedPart button-disabled: Disabled state for paging buttons\n * @exportedPart previous-button-text: Text for Previous button\n * @exportedPart next-button-text: Text for Next button\n*/\n@Component({\n tag: 'justifi-payments-list',\n styleUrl: 'payments-list.scss',\n shadow: true,\n})\n\nexport class PaymentsList {\n @Prop() accountId: string;\n @Prop() authToken: string;\n @State() payments: Payment[] = [];\n @State() loading: boolean = true;\n @State() errorMessage: string;\n @State() paging: PagingInfo = pagingDefaults;\n @State() params: any;\n @Event({\n eventName: 'payment-row-clicked',\n bubbles: true,\n }) rowClicked: EventEmitter<Payment>;\n\n @Watch('accountId')\n @Watch('authToken')\n @Watch('params')\n updateOnPropChange() {\n this.fetchData();\n }\n\n connectedCallback() {\n this.fetchData();\n }\n\n handleClickPrevious = (beforeCursor: string) => {\n const newParams: any = { ...this.params };\n delete newParams.after_cursor;\n this.params = ({ ...newParams, before_cursor: beforeCursor });\n };\n\n handleClickNext = (afterCursor: string) => {\n const newParams: any = { ...this.params };\n delete newParams.before_cursor;\n this.params = ({ ...newParams, after_cursor: afterCursor });\n };\n\n async fetchData(): Promise<void> {\n if (!this.accountId || !this.authToken) {\n this.errorMessage = \"Can not fetch any data without an AccountID and an AuthToken\";\n this.loading = false;\n return;\n }\n\n this.loading = true;\n\n const api = Api(this.authToken, config.proxyApiOrigin);\n const endpoint = `account/${this.accountId}/payments`;\n\n const response: IApiResponseCollection<Payment[]> = await api.get(endpoint, this.params);\n\n if (!response.error) {\n this.paging = {\n ...this.paging,\n ...response.page_info\n }\n\n const data = response?.data?.map(dataItem => new Payment(dataItem));\n this.payments = data;\n } else {\n this.errorMessage = typeof response.error === 'string' ? response.error : response.error.message;\n }\n\n this.loading = false;\n }\n\n getPaymentMethod(paymentMethod: IPaymentMethod) {\n return paymentMethod.card || paymentMethod.bank_account\n }\n\n render() {\n return (\n <Host>\n <justifi-table\n rowClickHandler={e => {\n const clickedPaymentID = e.target.closest('tr').dataset.rowEntityId;\n if (!clickedPaymentID) { return }\n this.rowClicked.emit(this.payments.find((payment) => payment.id === clickedPaymentID));\n }}\n entityId={this.payments.map((payment) => payment.id)}\n columnData={[\n ['Made On', 'The date and time each payment was made'],\n ['Amount', 'The dollar amount of each payment'],\n ['Description', 'The payment description, if you provided one'],\n ['Cardholder', 'The name associated with the payment method'],\n ['Payment Method', 'The brand and last 4 digits of the payment method'],\n ['Status', 'The current status of each payment'],\n ['Payment ID', 'The unique identifier of each payment']\n ]}\n rowData={\n this.payments.map((payment) => (\n [\n {\n type: 'head',\n value: `\n <div>${formatDate(payment.created_at)}</div>\n <div>${formatTime(payment.created_at)}</div>\n `,\n },\n formatCurrency(payment.amount),\n payment.description,\n this.getPaymentMethod(payment.payment_method).name,\n this.getPaymentMethod(payment.payment_method).acct_last_four,\n {\n type: 'inner',\n value: MapPaymentStatusToBadge(payment.status)\n },\n payment.id\n ]\n ))\n }\n loading={this.loading}\n error-message={this.errorMessage}\n params={this.params}\n paging={{\n ...this.paging,\n handleClickNext: this.handleClickNext,\n handleClickPrevious: this.handleClickPrevious\n }}\n />\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { config } from "../../../config";
|
|
1
2
|
export default {
|
|
2
3
|
title: 'Components/PaymentsList',
|
|
3
4
|
component: 'justifi-payments-list',
|
|
@@ -15,8 +16,8 @@ export default {
|
|
|
15
16
|
};
|
|
16
17
|
class PaymentsListArgs {
|
|
17
18
|
constructor(args) {
|
|
18
|
-
this['auth-token'] = args['auth-token'] ||
|
|
19
|
-
this['account-id'] = args['account-id'] ||
|
|
19
|
+
this['auth-token'] = args['auth-token'] || config.proxyAuthToken;
|
|
20
|
+
this['account-id'] = args['account-id'] || config.examplePaymentsAccountId;
|
|
20
21
|
}
|
|
21
22
|
}
|
|
22
23
|
const Template = (args) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payments-list.stories.js","sourceRoot":"","sources":["../../../../src/components/payments-list/payments-list.stories.ts"],"names":[],"mappings":"AAAA,eAAe;EACb,KAAK,EAAE,yBAAyB;EAChC,SAAS,EAAE,uBAAuB;EAClC,UAAU,EAAE,EAAE;EACd,UAAU,EAAE;IACV,CAAC,KAAK,EAAE,EAAE,CAAC;QACP,KAAK,EAAE;;;;;;KAMV;GACF;CACF,CAAC;AAEF,MAAM,gBAAgB;EAIpB,YAAY,IAAI;IACd,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"payments-list.stories.js","sourceRoot":"","sources":["../../../../src/components/payments-list/payments-list.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,eAAe;EACb,KAAK,EAAE,yBAAyB;EAChC,SAAS,EAAE,uBAAuB;EAClC,UAAU,EAAE,EAAE;EACd,UAAU,EAAE;IACV,CAAC,KAAK,EAAE,EAAE,CAAC;QACP,KAAK,EAAE;;;;;;KAMV;GACF;CACF,CAAC;AAEF,MAAM,gBAAgB;EAIpB,YAAY,IAAI;IACd,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC;IACjE,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,wBAAwB,CAAC;EAC7E,CAAC;CACF;AAED,MAAM,QAAQ,GAAG,CAAC,IAAsB,EAAE,EAAE;EAC1C,OAAO,CAAC;;;oBAGU,IAAI,CAAC,YAAY,CAAC;oBAClB,IAAI,CAAC,YAAY,CAAC;;GAEnC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvC,KAAK,CAAC,IAAI,GAAG,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC;AAEtC,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxC,MAAM,CAAC,IAAI,GAAG,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC;AACvC,MAAM,CAAC,UAAU,GAAG;EAClB,CAAC,KAAK,EAAE,EAAE,CAAC;MACP,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BV;CACF,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC3C,SAAS,CAAC,UAAU,GAAG;EACrB,CAAC,KAAK,EAAE,EAAE,CAAC;;QAEL,KAAK,EAAE;;GAEZ;CACF,CAAA;AACD,SAAS,CAAC,IAAI,GAAG,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC","sourcesContent":["import { config } from '../../../config';\n\nexport default {\n title: 'Components/PaymentsList',\n component: 'justifi-payments-list',\n parameters: {},\n decorators: [\n (Story) => `\n ${Story()}\n <script>\n window.addEventListener('payment-row-clicked', (e) => {\n console.log(e);\n })\n </script>\n `\n ]\n};\n\nclass PaymentsListArgs {\n 'auth-token': string;\n 'account-id': string;\n\n constructor(args) {\n this['auth-token'] = args['auth-token'] || config.proxyAuthToken;\n this['account-id'] = args['account-id'] || config.examplePaymentsAccountId;\n }\n}\n\nconst Template = (args: PaymentsListArgs) => {\n return (`\n <justifi-payments-list\n data-testid=\"justifi-payments-list\"\n auth-token=\"${args['auth-token']}\"\n account-id=\"${args['account-id']}\"\n />\n `);\n};\n\nexport const Basic = Template.bind({});\nBasic.args = new PaymentsListArgs({});\n\nexport const Styled = Template.bind({});\nStyled.args = new PaymentsListArgs({});\nStyled.decorators = [\n (Story) => `\n ${Story()}\n <style>\n justifi-payments-list::part(table-head-cell) {\n background-color: #F4F4F6;\n }\n justifi-payments-list::part(pagination-bar) {\n background-color: #F4F4F6;\n }\n justifi-payments-list::part(arrow) {\n --bs-btn-disabled-bg: #212529;\n --bs-btn-disabled-border-color: #212529;\n --bs-btn-bg: #212529;\n --bs-btn-border-color: #212529;\n --bs-btn-hover-bg: #fccc32;\n --bs-btn-hover-border-color: #fccc32;\n }\n justifi-payments-list::part(error-state) {\n color: red;\n background-color: #EEEEF5;\n }\n justifi-payments-list::part(loading-state-cell) {\n background-color: #EEEEF5;\n }\n justifi-payments-list::part(table-row) {\n background-color: #EEEEF5;\n }\n justifi-payments-list::part(table-row-even) {\n background-color: #F4F4F6;\n }\n </style>\n `\n]\n\nexport const Contained = Template.bind({});\nContained.decorators = [\n (Story) => `\n <div style=\"position: relative; width: 900px; height: 300px; overflow-x: hidden;\">\n ${Story()}\n </div>\n `\n]\nContained.args = new PaymentsListArgs({});\n"]}
|
|
@@ -2,6 +2,7 @@ import { Host, h } from "@stencil/core";
|
|
|
2
2
|
import { Api } from "../../api";
|
|
3
3
|
import { MapPayoutStatusToBadge, formatCurrency, formatDate, formatTime } from "../../utils/utils";
|
|
4
4
|
import { CodeBlock, DetailItem, DetailSection, EntityHeadInfo, EntityHeadInfoItem, ErrorState, LoadingState } from "../details/utils";
|
|
5
|
+
import { config } from "../../../config";
|
|
5
6
|
/**
|
|
6
7
|
* @exportedPart detail-loading-spinner
|
|
7
8
|
* @exportedPart detail-loading-state
|
|
@@ -49,7 +50,7 @@ export class PaymentDetails {
|
|
|
49
50
|
}
|
|
50
51
|
this.loading = true;
|
|
51
52
|
const endpoint = `payouts/${this.payoutId}`;
|
|
52
|
-
const response = await Api(this.authToken,
|
|
53
|
+
const response = await Api(this.authToken, config.proxyApiOrigin).get(endpoint);
|
|
53
54
|
if (!response.error) {
|
|
54
55
|
this.payout = response.data;
|
|
55
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payout-details.js","sourceRoot":"","sources":["../../../../src/components/payout-details/payout-details.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,GAAG,EAAkC,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"payout-details.js","sourceRoot":"","sources":["../../../../src/components/payout-details/payout-details.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop, State, Watch } from '@stencil/core';\nimport { Api, IApiResponseCollection, Payout } from '../../api';\nimport { MapPayoutStatusToBadge, formatCurrency, formatDate, formatTime } from '../../utils/utils';\nimport { CodeBlock, DetailItem, DetailSection, EntityHeadInfo, EntityHeadInfoItem, ErrorState, LoadingState } from '../details/utils';\nimport { config } from '../../../config';\n\n/**\n * @exportedPart detail-loading-spinner\n * @exportedPart detail-loading-state\n * @exportedPart detail-empty-state\n * @exportedPart detail-head\n * @exportedPart detail-title\n * @exportedPart detail-method\n * @exportedPart detail-info\n * @exportedPart detail-info-item\n * @exportedPart detail-info-item-title\n * @exportedPart detail-info-item-data\n * @exportedPart detail-metadata\n * @exportedPart detail-metadata-title\n * @exportedPart detail-method-title\n * @exportedPart detail-method-data\n * @exportedPart detail-section\n * @exportedPart detail-section-title\n * @exportedPart detail-section-item-title\n * @exportedPart detail-section-item-data\n * @exportedPart detail-head-info\n * @exportedPart detail-head-info-item\n * @exportedPart detail-head-info-item-title\n * @exportedPart detail-head-info-item-data\n*/\n@Component({\n tag: 'justifi-payout-details',\n styleUrl: 'payout-details.scss',\n shadow: true,\n})\n\nexport class PaymentDetails {\n @Prop() payoutId: string;\n @Prop() authToken: string;\n @State() payout: Payout;\n @State() loading: boolean = true;\n @State() errorMessage: string;\n\n @Watch('payoutId')\n @Watch('authToken')\n updateOnPropChange() {\n this.fetchData();\n }\n\n connectedCallback() {\n this.fetchData();\n }\n\n async fetchData(): Promise<void> {\n this.errorMessage = '';\n if (!this.payoutId || !this.authToken) {\n this.errorMessage = \"Can not fetch any data without a PayoutID and an AuthToken\";\n this.loading = false;\n return;\n }\n this.loading = true;\n const endpoint = `payouts/${this.payoutId}`;\n\n const response: IApiResponseCollection<Payout> = await Api(this.authToken, config.proxyApiOrigin).get(endpoint);\n if (!response.error) {\n this.payout = response.data;\n } else {\n this.errorMessage = typeof response.error === 'string' ? response.error : response.error.message;\n }\n\n this.loading = false;\n }\n\n render() {\n return (\n <Host>\n {\n this.loading ? LoadingState :\n !this.payout ? ErrorState(this.errorMessage) :\n <justifi-details error-message={this.errorMessage}>\n <EntityHeadInfo slot=\"head-info\" badge={<span slot='badge' innerHTML={MapPayoutStatusToBadge(this.payout?.status)} />} title={`${formatCurrency(this.payout.amount)} ${this.payout.currency.toUpperCase()}`}>\n <EntityHeadInfoItem\n classes=\"border-1 border-end\"\n title=\"Updated At\"\n value={`${formatDate(this.payout.updated_at)} ${formatTime(this.payout.updated_at)}`}\n />\n <EntityHeadInfoItem\n classes=\"border-1 border-end\"\n title=\"Created At\"\n value={`${formatDate(this.payout.created_at)} ${formatTime(this.payout.created_at)}`}\n />\n <EntityHeadInfoItem title=\"ID\" value={this.payout.id} />\n </EntityHeadInfo>\n <div slot='detail-sections'>\n <DetailSection sectionTitle=\"Details\">\n <DetailItem title=\"Date paid\" value={formatDate(this.payout.deposits_at)} />\n <DetailItem title=\"Statement Description\" value={this.payout.description} />\n <DetailItem title=\"Payout Method\" value={this.payout.delivery_method} />\n <DetailItem title=\"Amount\" value={formatCurrency(this.payout.amount)} />\n <DetailItem title=\"Fee\" value={formatCurrency(this.payout.fees_total)} />\n </DetailSection>\n <DetailSection sectionTitle=\"Account\">\n <DetailItem title=\"ID\" value={this.payout.account_id} />\n <DetailItem title=\"Account Type\" value={this.payout.bank_account.account_type} />\n <DetailItem title=\"Institution\" value={this.payout.bank_account.account_type} />\n <DetailItem title=\"Routing Number\" value={this.payout.bank_account.routing_number} />\n <DetailItem title=\"Account Number\" value={this.payout.bank_account.account_number_last4} />\n </DetailSection>\n <DetailSection sectionTitle='Metadata'>\n <CodeBlock metadata={this.payout.metadata} />\n </DetailSection>\n </div>\n </justifi-details>\n }\n </Host>\n )\n }\n}"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { config } from "../../../config";
|
|
1
2
|
export default {
|
|
2
3
|
title: 'Components/PayoutDetails',
|
|
3
4
|
component: 'justifi-payout-details',
|
|
@@ -5,8 +6,8 @@ export default {
|
|
|
5
6
|
};
|
|
6
7
|
class PayoutDetailsArgs {
|
|
7
8
|
constructor(args) {
|
|
8
|
-
this['auth-token'] = args['auth-token'] ||
|
|
9
|
-
this['payout-id'] = args['payout-id'] ||
|
|
9
|
+
this['auth-token'] = args['auth-token'] || config.proxyAuthToken;
|
|
10
|
+
this['payout-id'] = args['payout-id'] || config.examplePayoutId;
|
|
10
11
|
}
|
|
11
12
|
}
|
|
12
13
|
const Template = (args) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payout-details.stories.js","sourceRoot":"","sources":["../../../../src/components/payout-details/payout-details.stories.ts"],"names":[],"mappings":"AAAA,eAAe;EACb,KAAK,EAAE,0BAA0B;EACjC,SAAS,EAAE,wBAAwB;EACnC,UAAU,EAAE,EAAE;CACf,CAAC;AAEF,MAAM,iBAAiB;EAIrB,YAAY,IAAI;IACd,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"payout-details.stories.js","sourceRoot":"","sources":["../../../../src/components/payout-details/payout-details.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,eAAe;EACb,KAAK,EAAE,0BAA0B;EACjC,SAAS,EAAE,wBAAwB;EACnC,UAAU,EAAE,EAAE;CACf,CAAC;AAEF,MAAM,iBAAiB;EAIrB,YAAY,IAAI;IACd,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC;IACjE,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,eAAe,CAAC;EAClE,CAAC;CACF;AAED,MAAM,QAAQ,GAAG,CAAC,IAAuB,EAAE,EAAE;EAC3C,OAAO,CAAC;;;oBAGU,IAAI,CAAC,YAAY,CAAC;mBACnB,IAAI,CAAC,WAAW,CAAC;;GAEjC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvC,KAAK,CAAC,IAAI,GAAG,IAAI,iBAAiB,CAAC,EAAE,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxC,MAAM,CAAC,IAAI,GAAG,IAAI,iBAAiB,CAAC,EAAE,CAAC,CAAC;AACxC,MAAM,CAAC,UAAU,GAAG;EAClB,CAAC,KAAK,EAAE,EAAE,CAAC;MACP,KAAK,EAAE;;;;;;;;;;;;;;;;;;GAkBV;CACF,CAAA","sourcesContent":["import { config } from '../../../config';\n\nexport default {\n title: 'Components/PayoutDetails',\n component: 'justifi-payout-details',\n parameters: {}\n};\n\nclass PayoutDetailsArgs {\n 'auth-token': string;\n 'payout-id': string;\n\n constructor(args) {\n this['auth-token'] = args['auth-token'] || config.proxyAuthToken;\n this['payout-id'] = args['payout-id'] || config.examplePayoutId;\n }\n}\n\nconst Template = (args: PayoutDetailsArgs) => {\n return (`\n <justifi-payout-details\n data-testid=\"justifi-payout-details\"\n auth-token=\"${args['auth-token']}\"\n payout-id=\"${args['payout-id']}\"\n />\n `);\n};\n\nexport const Basic = Template.bind({});\nBasic.args = new PayoutDetailsArgs({});\n\nexport const Styled = Template.bind({});\nStyled.args = new PayoutDetailsArgs({});\nStyled.decorators = [\n (Story) => `\n ${Story()}\n <style>\n justifi-payout-details::part(detail-head) {\n background-color: rgba(100, 200, 250, 0.2);\n border-left: 4px solid rgba(100, 200, 250, 1);\n }\n justifi-payout-details::part(detail-info-item-title),\n justifi-payout-details::part(detail-method-item-title) {\n border-radius: 3px;\n background-color: rgba(0, 0, 0, 0.8);\n text-align: center;\n padding: 0 10px;\n color: white !important;\n }\n justifi-payout-details::part(detail-metadata) {\n background-color: rgba(100,100,100,0.2)\n }\n </style>\n `\n]\n"]}
|