@bigbinary/neeto-payments-frontend 6.3.4 → 6.3.6

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 (70) hide show
  1. package/app/javascript/src/translations/en.json +3 -3
  2. package/dist/{ExportModal-X-AJPdkc.js → ExportModal-k--5vSLt.js} +3 -3
  3. package/dist/ExportModal-k--5vSLt.js.map +1 -0
  4. package/dist/ManualUpiPayment.js +96 -21
  5. package/dist/ManualUpiPayment.js.map +1 -1
  6. package/dist/ManualUpiPaymentConfirmButton.js +1 -1
  7. package/dist/ManualUpiPaymentRejectButton.js +1 -1
  8. package/dist/cjs/{ExportModal-C7_QKb9q.js → ExportModal-Bt_Aal7b.js} +4 -4
  9. package/dist/cjs/ExportModal-Bt_Aal7b.js.map +1 -0
  10. package/dist/cjs/ManualUpiPayment.js +96 -21
  11. package/dist/cjs/ManualUpiPayment.js.map +1 -1
  12. package/dist/cjs/index.js +1 -0
  13. package/dist/cjs/index.js.map +1 -1
  14. package/dist/cjs/v2/AccountsDashboard.js +4 -2
  15. package/dist/cjs/v2/AccountsDashboard.js.map +1 -1
  16. package/dist/cjs/v2/ManualUpiConnect.js +2 -1
  17. package/dist/cjs/v2/ManualUpiConnect.js.map +1 -1
  18. package/dist/cjs/v2/ManualUpiPayment.js +100 -24
  19. package/dist/cjs/v2/ManualUpiPayment.js.map +1 -1
  20. package/dist/cjs/v2/PaymentsDashboard.js +4 -2
  21. package/dist/cjs/v2/PaymentsDashboard.js.map +1 -1
  22. package/dist/cjs/v2/PayoutsDashboard.js +4 -2
  23. package/dist/cjs/v2/PayoutsDashboard.js.map +1 -1
  24. package/dist/cjs/v2/PayoutsPage.js +5 -5
  25. package/dist/cjs/v2/PayoutsPage.js.map +1 -1
  26. package/dist/cjs/v2/RefundsDashboard.js +4 -2
  27. package/dist/cjs/v2/RefundsDashboard.js.map +1 -1
  28. package/dist/cjs/v2/SplitTransfersDashboard.js +5 -3
  29. package/dist/cjs/v2/SplitTransfersDashboard.js.map +1 -1
  30. package/dist/cjs/v2/StripeCheckoutSetting.js +19 -23
  31. package/dist/cjs/v2/StripeCheckoutSetting.js.map +1 -1
  32. package/dist/cjs/v2/StripeManage.js +3 -3
  33. package/dist/cjs/v2/StripeManage.js.map +1 -1
  34. package/dist/cjs/v2/TaxesDashboard.js +46 -38
  35. package/dist/cjs/v2/TaxesDashboard.js.map +1 -1
  36. package/dist/cjs/v2/index.js +3 -2
  37. package/dist/cjs/v2/index.js.map +1 -1
  38. package/dist/index.js +2 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/{usePaymentApi-C8fRdHmK.js → usePaymentApi-CjtkL3IU.js} +2 -2
  41. package/dist/{usePaymentApi-C8fRdHmK.js.map → usePaymentApi-CjtkL3IU.js.map} +1 -1
  42. package/dist/v2/AccountsDashboard.js +3 -1
  43. package/dist/v2/AccountsDashboard.js.map +1 -1
  44. package/dist/v2/ManualUpiConnect.js +2 -1
  45. package/dist/v2/ManualUpiConnect.js.map +1 -1
  46. package/dist/v2/ManualUpiPayment.js +100 -24
  47. package/dist/v2/ManualUpiPayment.js.map +1 -1
  48. package/dist/v2/ManualUpiPaymentConfirmButton.js +1 -1
  49. package/dist/v2/ManualUpiPaymentRejectButton.js +1 -1
  50. package/dist/v2/PaymentsDashboard.js +4 -2
  51. package/dist/v2/PaymentsDashboard.js.map +1 -1
  52. package/dist/v2/PayoutsDashboard.js +3 -1
  53. package/dist/v2/PayoutsDashboard.js.map +1 -1
  54. package/dist/v2/PayoutsPage.js +5 -5
  55. package/dist/v2/PayoutsPage.js.map +1 -1
  56. package/dist/v2/RefundsDashboard.js +4 -2
  57. package/dist/v2/RefundsDashboard.js.map +1 -1
  58. package/dist/v2/SplitTransfersDashboard.js +5 -3
  59. package/dist/v2/SplitTransfersDashboard.js.map +1 -1
  60. package/dist/v2/StripeCheckoutSetting.js +20 -24
  61. package/dist/v2/StripeCheckoutSetting.js.map +1 -1
  62. package/dist/v2/StripeManage.js +2 -2
  63. package/dist/v2/StripeManage.js.map +1 -1
  64. package/dist/v2/TaxesDashboard.js +47 -39
  65. package/dist/v2/TaxesDashboard.js.map +1 -1
  66. package/dist/v2/index.js +4 -3
  67. package/dist/v2/index.js.map +1 -1
  68. package/package.json +5 -3
  69. package/dist/ExportModal-X-AJPdkc.js.map +0 -1
  70. package/dist/cjs/ExportModal-C7_QKb9q.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { Tooltip, Switch } from '@bigbinary/neeto-atoms';
1
+ import { Switch } from '@bigbinary/neeto-atoms';
2
2
  import { useTranslation } from 'react-i18next';
3
3
  import { u as useFetchCheckoutSetting, a as useUpdateCheckoutSetting } from '../useCheckoutSettingsApi-D1ZvMA4B.js';
4
4
  import { jsxs, jsx } from 'react/jsx-runtime';
@@ -30,31 +30,27 @@ const StripeCheckoutSetting = ({
30
30
  isPending,
31
31
  mutate: updateCheckoutSetting
32
32
  } = useUpdateCheckoutSetting(stripeAccount?.id);
33
+ const isAddressEnabled = checkoutSetting?.isAddressEnabled;
34
+ const isPhoneNumberDisabled = isPending || !isAddressEnabled;
33
35
  return /*#__PURE__*/jsxs("div", {
34
- className: "space-y-4",
35
- children: [/*#__PURE__*/jsx(Tooltip, {
36
- disabled: !isAddressRequired,
37
- position: "bottom",
38
- content: t("neetoPayments.stripeManage.checkoutSettings.addressDisabledMessage"),
39
- children: /*#__PURE__*/jsx(Switch, {
40
- checked: checkoutSetting?.isAddressEnabled,
41
- disabled: isAddressRequired || isPending,
42
- label: t("neetoPayments.stripeManage.checkoutSettings.address"),
43
- onCheckedChange: () => updateCheckoutSetting({
44
- isAddressEnabled: !checkoutSetting?.isAddressEnabled
45
- })
36
+ className: "flex flex-col items-start gap-4",
37
+ children: [/*#__PURE__*/jsx(Switch, {
38
+ checked: isAddressEnabled,
39
+ disabled: isAddressRequired || isPending,
40
+ label: t("neetoPayments.stripeManage.checkoutSettings.address"),
41
+ size: "lg",
42
+ helpText: isAddressRequired ? t("neetoPayments.stripeManage.checkoutSettings.addressDisabledMessage") : undefined,
43
+ onCheckedChange: () => updateCheckoutSetting({
44
+ isAddressEnabled: !isAddressEnabled
46
45
  })
47
- }), /*#__PURE__*/jsx(Tooltip, {
48
- disabled: checkoutSetting?.isAddressEnabled,
49
- position: "bottom",
50
- content: t("neetoPayments.stripeManage.checkoutSettings.phoneNumberDisabledMessage"),
51
- children: /*#__PURE__*/jsx(Switch, {
52
- checked: checkoutSetting?.isPhoneNumberEnabled,
53
- disabled: isPending || !checkoutSetting?.isAddressEnabled,
54
- label: t("neetoPayments.stripeManage.checkoutSettings.phoneNumber"),
55
- onCheckedChange: () => updateCheckoutSetting({
56
- isPhoneNumberEnabled: !checkoutSetting?.isPhoneNumberEnabled
57
- })
46
+ }), /*#__PURE__*/jsx(Switch, {
47
+ checked: checkoutSetting?.isPhoneNumberEnabled,
48
+ disabled: isPhoneNumberDisabled,
49
+ label: t("neetoPayments.stripeManage.checkoutSettings.phoneNumber"),
50
+ size: "lg",
51
+ helpText: isAddressEnabled ? undefined : t("neetoPayments.stripeManage.checkoutSettings.phoneNumberDisabledMessage"),
52
+ onCheckedChange: () => updateCheckoutSetting({
53
+ isPhoneNumberEnabled: !checkoutSetting?.isPhoneNumberEnabled
58
54
  })
59
55
  })]
60
56
  });
@@ -1 +1 @@
1
- {"version":3,"file":"StripeCheckoutSetting.js","sources":["../../app/javascript/src/v2/components/StripeCheckoutSetting.jsx"],"sourcesContent":["import { Switch, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchCheckoutSetting,\n useUpdateCheckoutSetting,\n} from \"hooks/reactQuery/useCheckoutSettingsApi\";\n\nconst StripeCheckoutSetting = ({ stripeAccount }) => {\n const { t } = useTranslation();\n const isAddressRequired = stripeAccount?.country?.toLowerCase() === \"india\";\n\n const { data: { checkoutSetting } = {} } = useFetchCheckoutSetting(\n stripeAccount?.id\n );\n\n const { isPending, mutate: updateCheckoutSetting } = useUpdateCheckoutSetting(\n stripeAccount?.id\n );\n\n return (\n <div className=\"space-y-4\">\n <Tooltip\n disabled={!isAddressRequired}\n position=\"bottom\"\n content={t(\n \"neetoPayments.stripeManage.checkoutSettings.addressDisabledMessage\"\n )}\n >\n <Switch\n checked={checkoutSetting?.isAddressEnabled}\n disabled={isAddressRequired || isPending}\n label={t(\"neetoPayments.stripeManage.checkoutSettings.address\")}\n onCheckedChange={() =>\n updateCheckoutSetting({\n isAddressEnabled: !checkoutSetting?.isAddressEnabled,\n })\n }\n />\n </Tooltip>\n <Tooltip\n disabled={checkoutSetting?.isAddressEnabled}\n position=\"bottom\"\n content={t(\n \"neetoPayments.stripeManage.checkoutSettings.phoneNumberDisabledMessage\"\n )}\n >\n <Switch\n checked={checkoutSetting?.isPhoneNumberEnabled}\n disabled={isPending || !checkoutSetting?.isAddressEnabled}\n label={t(\"neetoPayments.stripeManage.checkoutSettings.phoneNumber\")}\n onCheckedChange={() =>\n updateCheckoutSetting({\n isPhoneNumberEnabled: !checkoutSetting?.isPhoneNumberEnabled,\n })\n }\n />\n </Tooltip>\n </div>\n );\n};\n\nexport default StripeCheckoutSetting;\n"],"names":["StripeCheckoutSetting","stripeAccount","t","useTranslation","isAddressRequired","country","toLowerCase","data","checkoutSetting","useFetchCheckoutSetting","id","isPending","mutate","updateCheckoutSetting","useUpdateCheckoutSetting","_jsxs","className","children","_jsx","Tooltip","disabled","position","content","Switch","checked","isAddressEnabled","label","onCheckedChange","isPhoneNumberEnabled"],"mappings":";;;;;;;;;;;;;;;;AAQA,MAAMA,qBAAqB,GAAGA,CAAC;AAAEC,EAAAA;AAAc,CAAC,KAAK;EACnD,MAAM;AAAEC,IAAAA;GAAG,GAAGC,cAAc,EAAE;EAC9B,MAAMC,iBAAiB,GAAGH,aAAa,EAAEI,OAAO,EAAEC,WAAW,EAAE,KAAK,OAAO;EAE3E,MAAM;AAAEC,IAAAA,IAAI,EAAE;AAAEC,MAAAA;AAAgB,KAAC,GAAG;AAAG,GAAC,GAAGC,uBAAuB,CAChER,aAAa,EAAES,EACjB,CAAC;EAED,MAAM;IAAEC,SAAS;AAAEC,IAAAA,MAAM,EAAEC;AAAsB,GAAC,GAAGC,wBAAwB,CAC3Eb,aAAa,EAAES,EACjB,CAAC;AAED,EAAA,oBACEK,IAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,WAAW;IAAAC,QAAA,EAAA,cACxBC,GAAA,CAACC,OAAO,EAAA;MACNC,QAAQ,EAAE,CAAChB,iBAAkB;AAC7BiB,MAAAA,QAAQ,EAAC,QAAQ;AACjBC,MAAAA,OAAO,EAAEpB,CAAC,CACR,oEACF,CAAE;MAAAe,QAAA,eAEFC,GAAA,CAACK,MAAM,EAAA;QACLC,OAAO,EAAEhB,eAAe,EAAEiB,gBAAiB;QAC3CL,QAAQ,EAAEhB,iBAAiB,IAAIO,SAAU;AACzCe,QAAAA,KAAK,EAAExB,CAAC,CAAC,qDAAqD,CAAE;AAChEyB,QAAAA,eAAe,EAAEA,MACfd,qBAAqB,CAAC;UACpBY,gBAAgB,EAAE,CAACjB,eAAe,EAAEiB;SACrC;OAEJ;AAAC,KACK,CAAC,eACVP,GAAA,CAACC,OAAO,EAAA;MACNC,QAAQ,EAAEZ,eAAe,EAAEiB,gBAAiB;AAC5CJ,MAAAA,QAAQ,EAAC,QAAQ;AACjBC,MAAAA,OAAO,EAAEpB,CAAC,CACR,wEACF,CAAE;MAAAe,QAAA,eAEFC,GAAA,CAACK,MAAM,EAAA;QACLC,OAAO,EAAEhB,eAAe,EAAEoB,oBAAqB;AAC/CR,QAAAA,QAAQ,EAAET,SAAS,IAAI,CAACH,eAAe,EAAEiB,gBAAiB;AAC1DC,QAAAA,KAAK,EAAExB,CAAC,CAAC,yDAAyD,CAAE;AACpEyB,QAAAA,eAAe,EAAEA,MACfd,qBAAqB,CAAC;UACpBe,oBAAoB,EAAE,CAACpB,eAAe,EAAEoB;SACzC;OAEJ;AAAC,KACK,CAAC;AAAA,GACP,CAAC;AAEV;;;;"}
1
+ {"version":3,"file":"StripeCheckoutSetting.js","sources":["../../app/javascript/src/v2/components/StripeCheckoutSetting.jsx"],"sourcesContent":["import { Switch } from \"@bigbinary/neeto-atoms\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchCheckoutSetting,\n useUpdateCheckoutSetting,\n} from \"hooks/reactQuery/useCheckoutSettingsApi\";\n\nconst StripeCheckoutSetting = ({ stripeAccount }) => {\n const { t } = useTranslation();\n const isAddressRequired = stripeAccount?.country?.toLowerCase() === \"india\";\n\n const { data: { checkoutSetting } = {} } = useFetchCheckoutSetting(\n stripeAccount?.id\n );\n\n const { isPending, mutate: updateCheckoutSetting } = useUpdateCheckoutSetting(\n stripeAccount?.id\n );\n\n const isAddressEnabled = checkoutSetting?.isAddressEnabled;\n const isPhoneNumberDisabled = isPending || !isAddressEnabled;\n\n return (\n <div className=\"flex flex-col items-start gap-4\">\n <Switch\n checked={isAddressEnabled}\n disabled={isAddressRequired || isPending}\n label={t(\"neetoPayments.stripeManage.checkoutSettings.address\")}\n size=\"lg\"\n helpText={\n isAddressRequired\n ? t(\n \"neetoPayments.stripeManage.checkoutSettings.addressDisabledMessage\"\n )\n : undefined\n }\n onCheckedChange={() =>\n updateCheckoutSetting({\n isAddressEnabled: !isAddressEnabled,\n })\n }\n />\n <Switch\n checked={checkoutSetting?.isPhoneNumberEnabled}\n disabled={isPhoneNumberDisabled}\n label={t(\"neetoPayments.stripeManage.checkoutSettings.phoneNumber\")}\n size=\"lg\"\n helpText={\n isAddressEnabled\n ? undefined\n : t(\n \"neetoPayments.stripeManage.checkoutSettings.phoneNumberDisabledMessage\"\n )\n }\n onCheckedChange={() =>\n updateCheckoutSetting({\n isPhoneNumberEnabled: !checkoutSetting?.isPhoneNumberEnabled,\n })\n }\n />\n </div>\n );\n};\n\nexport default StripeCheckoutSetting;\n"],"names":["StripeCheckoutSetting","stripeAccount","t","useTranslation","isAddressRequired","country","toLowerCase","data","checkoutSetting","useFetchCheckoutSetting","id","isPending","mutate","updateCheckoutSetting","useUpdateCheckoutSetting","isAddressEnabled","isPhoneNumberDisabled","_jsxs","className","children","_jsx","Switch","checked","disabled","label","size","helpText","undefined","onCheckedChange","isPhoneNumberEnabled"],"mappings":";;;;;;;;;;;;;;;;AAQA,MAAMA,qBAAqB,GAAGA,CAAC;AAAEC,EAAAA;AAAc,CAAC,KAAK;EACnD,MAAM;AAAEC,IAAAA;GAAG,GAAGC,cAAc,EAAE;EAC9B,MAAMC,iBAAiB,GAAGH,aAAa,EAAEI,OAAO,EAAEC,WAAW,EAAE,KAAK,OAAO;EAE3E,MAAM;AAAEC,IAAAA,IAAI,EAAE;AAAEC,MAAAA;AAAgB,KAAC,GAAG;AAAG,GAAC,GAAGC,uBAAuB,CAChER,aAAa,EAAES,EACjB,CAAC;EAED,MAAM;IAAEC,SAAS;AAAEC,IAAAA,MAAM,EAAEC;AAAsB,GAAC,GAAGC,wBAAwB,CAC3Eb,aAAa,EAAES,EACjB,CAAC;AAED,EAAA,MAAMK,gBAAgB,GAAGP,eAAe,EAAEO,gBAAgB;AAC1D,EAAA,MAAMC,qBAAqB,GAAGL,SAAS,IAAI,CAACI,gBAAgB;AAE5D,EAAA,oBACEE,IAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,iCAAiC;IAAAC,QAAA,EAAA,cAC9CC,GAAA,CAACC,MAAM,EAAA;AACLC,MAAAA,OAAO,EAAEP,gBAAiB;MAC1BQ,QAAQ,EAAEnB,iBAAiB,IAAIO,SAAU;AACzCa,MAAAA,KAAK,EAAEtB,CAAC,CAAC,qDAAqD,CAAE;AAChEuB,MAAAA,IAAI,EAAC,IAAI;MACTC,QAAQ,EACNtB,iBAAiB,GACbF,CAAC,CACC,oEACF,CAAC,GACDyB,SACL;AACDC,MAAAA,eAAe,EAAEA,MACff,qBAAqB,CAAC;AACpBE,QAAAA,gBAAgB,EAAE,CAACA;OACpB;AACF,KACF,CAAC,eACFK,GAAA,CAACC,MAAM,EAAA;MACLC,OAAO,EAAEd,eAAe,EAAEqB,oBAAqB;AAC/CN,MAAAA,QAAQ,EAAEP,qBAAsB;AAChCQ,MAAAA,KAAK,EAAEtB,CAAC,CAAC,yDAAyD,CAAE;AACpEuB,MAAAA,IAAI,EAAC,IAAI;MACTC,QAAQ,EACNX,gBAAgB,GACZY,SAAS,GACTzB,CAAC,CACC,wEACF,CACL;AACD0B,MAAAA,eAAe,EAAEA,MACff,qBAAqB,CAAC;QACpBgB,oBAAoB,EAAE,CAACrB,eAAe,EAAEqB;OACzC;AACF,KACF,CAAC;AAAA,GACC,CAAC;AAEV;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { Typography, Button } from '@bigbinary/neeto-atoms';
2
+ import { ExternalLink } from 'lucide-react';
2
3
  import { withT } from 'neetocommons/v2/react-utils';
3
- import { ExternalLink } from '@bigbinary/neeto-icons';
4
4
  import CardLayout from '@bigbinary/neeto-molecules/v2/CardLayout';
5
5
  import StripeCheckoutSetting from './StripeCheckoutSetting.js';
6
6
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -35,7 +35,7 @@ const StripeManage = withT(({
35
35
  children: [/*#__PURE__*/jsx("div", {
36
36
  className: "flex justify-between w-full",
37
37
  children: /*#__PURE__*/jsx(Typography, {
38
- variant: "h3",
38
+ variant: "h5",
39
39
  children: t("neetoPayments.stripeManage.checkoutSettings.title")
40
40
  })
41
41
  }), /*#__PURE__*/jsx(StripeCheckoutSetting, {
@@ -1 +1 @@
1
- {"version":3,"file":"StripeManage.js","sources":["../../app/javascript/src/v2/components/StripeManage.jsx"],"sourcesContent":["import { Typography, Button } from \"@bigbinary/neeto-atoms\";\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport { ExternalLink } from \"neetoicons\";\nimport CardLayout from \"neetomolecules/v2/CardLayout\";\n\nimport StripeCheckoutSetting from \"./StripeCheckoutSetting\";\n\nconst StripeManage = withT(({ t, stripeAccount }) => (\n <CardLayout\n actionBlock={\n <Button\n data-testid=\"stripe-manage-view-stripe-dashboard\"\n href=\"https://dashboard.stripe.com\"\n icon={ExternalLink}\n label={t(\"neetoPayments.stripeManage.viewStripeDashboard\")}\n target=\"_blank\"\n variant=\"outline\"\n />\n }\n >\n <div className=\"space-y-6\">\n <div className=\"flex justify-between w-full\">\n <Typography variant=\"h3\">\n {t(\"neetoPayments.stripeManage.checkoutSettings.title\")}\n </Typography>\n </div>\n <StripeCheckoutSetting {...{ stripeAccount }} />\n </div>\n </CardLayout>\n));\n\nexport default StripeManage;\n"],"names":["StripeManage","withT","t","stripeAccount","_jsx","CardLayout","actionBlock","Button","href","icon","ExternalLink","label","target","variant","children","_jsxs","className","Typography","StripeCheckoutSetting"],"mappings":";;;;;;;;;;;;;;;;;;;;AAOA,MAAMA,YAAY,GAAGC,KAAK,CAAC,CAAC;EAAEC,CAAC;AAAEC,EAAAA;AAAc,CAAC,kBAC9CC,GAAA,CAACC,UAAU,EAAA;EACTC,WAAW,eACTF,GAAA,CAACG,MAAM,EAAA;AACL,IAAA,aAAA,EAAY,qCAAqC;AACjDC,IAAAA,IAAI,EAAC,8BAA8B;AACnCC,IAAAA,IAAI,EAAEC,YAAa;AACnBC,IAAAA,KAAK,EAAET,CAAC,CAAC,gDAAgD,CAAE;AAC3DU,IAAAA,MAAM,EAAC,QAAQ;AACfC,IAAAA,OAAO,EAAC;AAAS,GAClB,CACF;AAAAC,EAAAA,QAAA,eAEDC,IAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,WAAW;AAAAF,IAAAA,QAAA,gBACxBV,GAAA,CAAA,KAAA,EAAA;AAAKY,MAAAA,SAAS,EAAC,6BAA6B;MAAAF,QAAA,eAC1CV,GAAA,CAACa,UAAU,EAAA;AAACJ,QAAAA,OAAO,EAAC,IAAI;QAAAC,QAAA,EACrBZ,CAAC,CAAC,mDAAmD;OAC5C;AAAC,KACV,CAAC,eACNE,GAAA,CAACc,qBAAqB,EAAA;AAAOf,MAAAA;AAAa,KAAK,CAAC;GAC7C;AAAC,CACI,CACb;;;;"}
1
+ {"version":3,"file":"StripeManage.js","sources":["../../app/javascript/src/v2/components/StripeManage.jsx"],"sourcesContent":["import { Typography, Button } from \"@bigbinary/neeto-atoms\";\nimport { ExternalLink } from \"lucide-react\";\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport CardLayout from \"neetomolecules/v2/CardLayout\";\n\nimport StripeCheckoutSetting from \"./StripeCheckoutSetting\";\n\nconst StripeManage = withT(({ t, stripeAccount }) => (\n <CardLayout\n actionBlock={\n <Button\n data-testid=\"stripe-manage-view-stripe-dashboard\"\n href=\"https://dashboard.stripe.com\"\n icon={ExternalLink}\n label={t(\"neetoPayments.stripeManage.viewStripeDashboard\")}\n target=\"_blank\"\n variant=\"outline\"\n />\n }\n >\n <div className=\"space-y-6\">\n <div className=\"flex justify-between w-full\">\n <Typography variant=\"h5\">\n {t(\"neetoPayments.stripeManage.checkoutSettings.title\")}\n </Typography>\n </div>\n <StripeCheckoutSetting {...{ stripeAccount }} />\n </div>\n </CardLayout>\n));\n\nexport default StripeManage;\n"],"names":["StripeManage","withT","t","stripeAccount","_jsx","CardLayout","actionBlock","Button","href","icon","ExternalLink","label","target","variant","children","_jsxs","className","Typography","StripeCheckoutSetting"],"mappings":";;;;;;;;;;;;;;;;;;;;AAOA,MAAMA,YAAY,GAAGC,KAAK,CAAC,CAAC;EAAEC,CAAC;AAAEC,EAAAA;AAAc,CAAC,kBAC9CC,GAAA,CAACC,UAAU,EAAA;EACTC,WAAW,eACTF,GAAA,CAACG,MAAM,EAAA;AACL,IAAA,aAAA,EAAY,qCAAqC;AACjDC,IAAAA,IAAI,EAAC,8BAA8B;AACnCC,IAAAA,IAAI,EAAEC,YAAa;AACnBC,IAAAA,KAAK,EAAET,CAAC,CAAC,gDAAgD,CAAE;AAC3DU,IAAAA,MAAM,EAAC,QAAQ;AACfC,IAAAA,OAAO,EAAC;AAAS,GAClB,CACF;AAAAC,EAAAA,QAAA,eAEDC,IAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,WAAW;AAAAF,IAAAA,QAAA,gBACxBV,GAAA,CAAA,KAAA,EAAA;AAAKY,MAAAA,SAAS,EAAC,6BAA6B;MAAAF,QAAA,eAC1CV,GAAA,CAACa,UAAU,EAAA;AAACJ,QAAAA,OAAO,EAAC,IAAI;QAAAC,QAAA,EACrBZ,CAAC,CAAC,mDAAmD;OAC5C;AAAC,KACV,CAAC,eACNE,GAAA,CAACc,qBAAqB,EAAA;AAAOf,MAAAA;AAAa,KAAK,CAAC;GAC7C;AAAC,CACI,CACb;;;;"}
@@ -1,8 +1,10 @@
1
1
  import { useState } from 'react';
2
- import { Sheet, Callout, Label, Typography, Spinner, Button, Empty, DataTable, Alert } from '@bigbinary/neeto-atoms';
2
+ import { Sheet, Callout, Label, Button, Spinner, Empty, DataTable, Alert } from '@bigbinary/neeto-atoms';
3
+ import { Percent } from 'lucide-react';
3
4
  import { isPresent, isNotPresent, truncate, humanize, noop } from 'neetocist';
4
5
  import Container from '@bigbinary/neeto-molecules/v2/Container';
5
6
  import Header from '@bigbinary/neeto-molecules/v2/Header';
7
+ import MoreDropdown from '@bigbinary/neeto-molecules/v2/MoreDropdown';
6
8
  import TableWrapper from '@bigbinary/neeto-molecules/v2/TableWrapper';
7
9
  import { isEmpty } from 'ramda';
8
10
  import { useTranslation, Trans } from 'react-i18next';
@@ -11,7 +13,6 @@ import { Form, Input, RadioGroup, ActionBlock } from '@bigbinary/neeto-atoms/for
11
13
  import { t } from 'i18next';
12
14
  import * as yup from 'yup';
13
15
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
14
- import MoreDropdown from '@bigbinary/neeto-molecules/v2/MoreDropdown';
15
16
  import '@tanstack/react-query';
16
17
  import 'neetocommons/react-utils';
17
18
  import 'axios';
@@ -98,6 +99,7 @@ const FormPane = ({
98
99
  children: isEdit ? t("neetoPayments.taxesDashboard.form.title.edit") : t("neetoPayments.taxesDashboard.form.title.create")
99
100
  })
100
101
  }), /*#__PURE__*/jsxs(Form, {
102
+ className: "flex min-h-0 flex-1 flex-col gap-4",
101
103
  formikProps: {
102
104
  initialValues: isEdit ? taxToEdit : INITIAL_VALUES,
103
105
  validationSchema: VALIDATION_SCHEMA,
@@ -149,35 +151,25 @@ const FormPane = ({
149
151
  });
150
152
  };
151
153
 
152
- const generateColumnData = handleDropdownClick => [{
154
+ const generateColumnData = () => [{
153
155
  header: t("neetoPayments.taxesDashboard.table.taxName"),
154
156
  id: "name",
155
157
  accessorKey: "name",
156
- cell: ({
157
- row
158
- }) => {
159
- const tax = row.original;
158
+ cell: info => {
159
+ const name = info.getValue();
160
+ const {
161
+ actions,
162
+ onEdit,
163
+ canManage
164
+ } = info.row.original;
160
165
  return /*#__PURE__*/jsxs("div", {
161
- className: "flex justify-between gap-2",
162
- children: [/*#__PURE__*/jsx(Typography, {
163
- variant: "body1",
164
- children: truncate(tax.name, 100)
165
- }), /*#__PURE__*/jsx(MoreDropdown, {
166
- dropdownProps: {
167
- strategy: "fixed"
168
- },
169
- menuItems: [{
170
- key: "edit",
171
- label: t("neetoPayments.common.edit"),
172
- onClick: () => handleDropdownClick(tax, "edit"),
173
- "data-testid": "menu-dropdown-edit-button"
174
- }, {
175
- key: "delete",
176
- label: t("neetoPayments.common.delete"),
177
- onClick: () => handleDropdownClick(tax, "delete"),
178
- "data-testid": "menu-dropdown-delete-button"
179
- }]
180
- })]
166
+ className: "flex items-center justify-between gap-x-3",
167
+ children: [/*#__PURE__*/jsx(Button, {
168
+ disabled: !canManage,
169
+ label: truncate(name, 100),
170
+ variant: "link",
171
+ onClick: onEdit
172
+ }), actions]
181
173
  });
182
174
  }
183
175
  }, {
@@ -237,17 +229,32 @@ const TaxesDashboard = ({
237
229
  const {
238
230
  t
239
231
  } = useTranslation();
240
- const handleDropdownClick = (tax, action) => {
241
- switch (action) {
242
- case "edit":
243
- setTaxToEdit(tax);
244
- setIsFormPaneOpen(true);
245
- break;
246
- case "delete":
247
- setTaxToDelete(tax);
248
- break;
249
- }
232
+ const handleEdit = tax => {
233
+ setTaxToEdit(tax);
234
+ setIsFormPaneOpen(true);
250
235
  };
236
+ const rowData = taxes.map(tax => ({
237
+ ...tax,
238
+ canManage: true,
239
+ onEdit: () => handleEdit(tax),
240
+ actions: /*#__PURE__*/jsx(MoreDropdown, {
241
+ dropdownProps: {
242
+ strategy: "fixed",
243
+ className: "w-max"
244
+ },
245
+ menuItems: [{
246
+ key: "edit",
247
+ label: t("neetoPayments.common.edit"),
248
+ onClick: () => handleEdit(tax),
249
+ "data-testid": "menu-dropdown-edit-button"
250
+ }, {
251
+ key: "delete",
252
+ label: t("neetoPayments.common.delete"),
253
+ onClick: () => setTaxToDelete(tax),
254
+ "data-testid": "menu-dropdown-delete-button"
255
+ }]
256
+ })
257
+ }));
251
258
  if (isLoading) {
252
259
  return /*#__PURE__*/jsx("div", {
253
260
  className: "flex h-full w-full items-center justify-center",
@@ -268,6 +275,7 @@ const TaxesDashboard = ({
268
275
  className: "flex h-full w-full items-center justify-center",
269
276
  children: /*#__PURE__*/jsx(Empty, {
270
277
  helpText: noDataHelpText,
278
+ icon: Percent,
271
279
  title: t("neetoPayments.taxesDashboard.noData"),
272
280
  primaryButtonProps: {
273
281
  label: t("neetoPayments.taxesDashboard.buttons.add"),
@@ -277,8 +285,8 @@ const TaxesDashboard = ({
277
285
  }) : /*#__PURE__*/jsx(TableWrapper, {
278
286
  children: /*#__PURE__*/jsx(DataTable, {
279
287
  allowRowClick: false,
280
- columns: generateColumnData(handleDropdownClick),
281
- data: taxes,
288
+ columns: generateColumnData(),
289
+ data: rowData,
282
290
  loading: isLoading
283
291
  })
284
292
  }), /*#__PURE__*/jsx(FormPane, {
@@ -1 +1 @@
1
- {"version":3,"file":"TaxesDashboard.js","sources":["../../app/javascript/src/v2/components/TaxesDashboard/FormPane/constants.js","../../app/javascript/src/v2/components/TaxesDashboard/FormPane/index.jsx","../../app/javascript/src/v2/components/TaxesDashboard/utils.jsx","../../app/javascript/src/v2/components/TaxesDashboard/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const INITIAL_VALUES = {\n name: \"\",\n description: \"\",\n kind: \"percentage\",\n value: \"\",\n};\n\nexport const VALIDATION_SCHEMA = yup.object().shape({\n name: yup.string().required(t(\"neetoPayments.validations.nameRequired\")),\n description: yup.string().nullable(),\n kind: yup.string().required(t(\"neetoPayments.validations.kindRequired\")),\n value: yup\n .number()\n .when(\"kind\", {\n is: \"percentage\",\n then: yup\n .number()\n .min(1, t(\"neetoPayments.validations.valueGreaterThanOrEqualToOne\"))\n .max(100, t(\"neetoPayments.validations.valueLessThanOrEqualToHundred\")),\n })\n .positive(t(\"neetoPayments.validations.valueMustBePositive\"))\n .required(t(\"neetoPayments.validations.valueRequired\")),\n});\n","import { Label, Sheet, Callout } from \"@bigbinary/neeto-atoms\";\nimport {\n Form,\n Input,\n RadioGroup,\n ActionBlock,\n} from \"@bigbinary/neeto-atoms/formik\";\nimport { isNotPresent, isPresent } from \"neetocist\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateTax, useUpdateTax } from \"hooks/reactQuery/useTaxesApi\";\n\nimport { INITIAL_VALUES, VALIDATION_SCHEMA } from \"./constants\";\n\nconst FormPane = ({\n taxableId,\n taxToEdit,\n setTaxToEdit,\n isOpen,\n setIsOpen,\n onTaxesChange,\n taxNameHelpText,\n}) => {\n const { t } = useTranslation();\n const { mutate: create, isPending: isCreating } = useCreateTax(\n { taxableId },\n {\n onSuccess: () => {\n setIsOpen(false);\n onTaxesChange();\n },\n }\n );\n\n const { mutate: update, isPending: isUpdating } = useUpdateTax(\n { taxableId },\n {\n onSuccess: () => {\n setIsOpen(false);\n onTaxesChange();\n },\n }\n );\n\n const isEdit = isPresent(taxToEdit?.id);\n const handleSubmit = values => {\n if (isEdit) {\n update({ taxableId, taxId: taxToEdit.id, payload: values });\n setTaxToEdit(null);\n } else {\n create({ taxableId, payload: values });\n }\n };\n\n return (\n <Sheet\n {...{ isOpen }}\n onClose={() => {\n setIsOpen(false);\n setTaxToEdit(null);\n }}\n >\n <Sheet.Header>\n <Sheet.Title>\n {isEdit\n ? t(\"neetoPayments.taxesDashboard.form.title.edit\")\n : t(\"neetoPayments.taxesDashboard.form.title.create\")}\n </Sheet.Title>\n </Sheet.Header>\n <Form\n formikProps={{\n initialValues: isEdit ? taxToEdit : INITIAL_VALUES,\n validationSchema: VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <Sheet.Body>\n <div className=\"flex flex-col w-full gap-4\">\n <Input\n required\n label={t(\"neetoPayments.taxesDashboard.form.name.label\")}\n name=\"name\"\n placeholder={t(\n \"neetoPayments.taxesDashboard.form.name.placeholder\"\n )}\n />\n <Callout>\n {isNotPresent(taxNameHelpText)\n ? t(\"neetoPayments.taxesDashboard.form.name.helpText\")\n : taxNameHelpText}\n </Callout>\n <Input\n label={t(\"neetoPayments.taxesDashboard.form.description.label\")}\n name=\"description\"\n placeholder={t(\n \"neetoPayments.taxesDashboard.form.description.placeholder\"\n )}\n />\n <Label>{t(\"neetoPayments.taxesDashboard.form.kind.label\")}</Label>\n <RadioGroup name=\"kind\" orientation=\"vertical\">\n <RadioGroup.Item\n label={t(\"neetoPayments.taxesDashboard.form.kind.percentage\")}\n value=\"percentage\"\n />\n <RadioGroup.Item\n label={t(\"neetoPayments.taxesDashboard.form.kind.fixed\")}\n value=\"fixed\"\n />\n </RadioGroup>\n <Input\n required\n label={t(\"neetoPayments.taxesDashboard.form.value.label\")}\n name=\"value\"\n type=\"number\"\n placeholder={t(\n \"neetoPayments.taxesDashboard.form.value.placeholder\"\n )}\n />\n </div>\n </Sheet.Body>\n <Sheet.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: () => setIsOpen(false) }}\n isSubmitting={isCreating || isUpdating}\n />\n </Sheet.Footer>\n </Form>\n </Sheet>\n );\n};\n\nexport default FormPane;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport { humanize, truncate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\n\nexport const generateColumnData = handleDropdownClick => [\n {\n header: t(\"neetoPayments.taxesDashboard.table.taxName\"),\n id: \"name\",\n accessorKey: \"name\",\n cell: ({ row }) => {\n const tax = row.original;\n\n return (\n <div className=\"flex justify-between gap-2\">\n <Typography variant=\"body1\">{truncate(tax.name, 100)}</Typography>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={[\n {\n key: \"edit\",\n label: t(\"neetoPayments.common.edit\"),\n onClick: () => handleDropdownClick(tax, \"edit\"),\n \"data-testid\": \"menu-dropdown-edit-button\",\n },\n {\n key: \"delete\",\n label: t(\"neetoPayments.common.delete\"),\n onClick: () => handleDropdownClick(tax, \"delete\"),\n \"data-testid\": \"menu-dropdown-delete-button\",\n },\n ]}\n />\n </div>\n );\n },\n },\n {\n header: t(\"neetoPayments.taxesDashboard.table.description\"),\n id: \"description\",\n accessorKey: \"description\",\n size: 300,\n },\n {\n header: t(\"neetoPayments.taxesDashboard.table.value\"),\n id: \"value\",\n accessorKey: \"value\",\n cell: ({ row }) => {\n const tax = row.original;\n\n return <>{tax.kind === \"percentage\" ? `${tax.value}%` : tax.value}</>;\n },\n },\n {\n header: t(\"neetoPayments.taxesDashboard.table.type\"),\n id: \"kind\",\n accessorKey: \"kind\",\n cell: ({ row }) => <>{humanize(row.getValue(\"kind\"))}</>,\n },\n];\n","import { useState } from \"react\";\n\nimport {\n Button,\n DataTable,\n Alert,\n Empty,\n Spinner,\n} from \"@bigbinary/neeto-atoms\";\nimport { noop, isPresent } from \"neetocist\";\nimport Container from \"neetomolecules/v2/Container\";\nimport Header from \"neetomolecules/v2/Header\";\nimport TableWrapper from \"neetomolecules/v2/TableWrapper\";\nimport { isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useFetchTaxes, useDeleteTax } from \"hooks/reactQuery/useTaxesApi\";\n\nimport FormPane from \"./FormPane\";\nimport { generateColumnData } from \"./utils\";\n\nconst TaxesDashboard = ({\n taxableId,\n breadcrumbs,\n noDataHelpText = \"\",\n onTaxesChange = noop,\n titleHelpPopoverProps = {},\n taxNameHelpText,\n}) => {\n const [isFormPaneOpen, setIsFormPaneOpen] = useState(false);\n const [taxToEdit, setTaxToEdit] = useState(null);\n const [taxToDelete, setTaxToDelete] = useState(null);\n\n const { data: { taxes = [] } = {}, isLoading } = useFetchTaxes({ taxableId });\n const { mutate: deleteTax } = useDeleteTax(\n { taxableId },\n { onSuccess: onTaxesChange }\n );\n\n const { t } = useTranslation();\n\n const handleDropdownClick = (tax, action) => {\n switch (action) {\n case \"edit\":\n setTaxToEdit(tax);\n setIsFormPaneOpen(true);\n break;\n case \"delete\":\n setTaxToDelete(tax);\n break;\n }\n };\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Container>\n <Header\n {...{ breadcrumbs, titleHelpPopoverProps }}\n title={t(\"neetoPayments.taxesDashboard.title\")}\n actionBlock={\n <Button\n data-testid=\"add-new-tax-button\"\n label={t(\"neetoPayments.taxesDashboard.buttons.add\")}\n onClick={() => setIsFormPaneOpen(true)}\n />\n }\n />\n {isEmpty(taxes) ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Empty\n helpText={noDataHelpText}\n title={t(\"neetoPayments.taxesDashboard.noData\")}\n primaryButtonProps={{\n label: t(\"neetoPayments.taxesDashboard.buttons.add\"),\n onClick: () => setIsFormPaneOpen(true),\n }}\n />\n </div>\n ) : (\n <TableWrapper>\n <DataTable\n allowRowClick={false}\n columns={generateColumnData(handleDropdownClick)}\n data={taxes}\n loading={isLoading}\n />\n </TableWrapper>\n )}\n <FormPane\n {...{\n onTaxesChange,\n setTaxToEdit,\n taxNameHelpText,\n taxToEdit,\n taxableId,\n }}\n isOpen={isFormPaneOpen}\n setIsOpen={setIsFormPaneOpen}\n />\n <Alert\n isOpen={isPresent(taxToDelete)}\n title={t(\"neetoPayments.alert.delete.tax.title\")}\n message={\n <Trans\n components={{ strong: <strong /> }}\n i18nKey=\"neetoPayments.alert.delete.tax.message\"\n values={{ name: taxToDelete?.name }}\n />\n }\n onClose={() => setTaxToDelete(null)}\n onSubmit={() => {\n deleteTax({ taxableId, taxId: taxToDelete?.id });\n setTaxToDelete(null);\n }}\n />\n </Container>\n );\n};\n\nexport default TaxesDashboard;\n"],"names":["INITIAL_VALUES","name","description","kind","value","VALIDATION_SCHEMA","yup","object","shape","string","required","t","nullable","number","when","is","then","min","max","positive","FormPane","taxableId","taxToEdit","setTaxToEdit","isOpen","setIsOpen","onTaxesChange","taxNameHelpText","useTranslation","mutate","create","isPending","isCreating","useCreateTax","onSuccess","update","isUpdating","useUpdateTax","isEdit","isPresent","id","handleSubmit","values","taxId","payload","_jsxs","Sheet","onClose","children","_jsx","Header","Title","Form","formikProps","initialValues","validationSchema","onSubmit","Body","className","Input","label","placeholder","Callout","isNotPresent","Label","RadioGroup","orientation","Item","type","Footer","ActionBlock","cancelButtonProps","onClick","isSubmitting","generateColumnData","handleDropdownClick","header","accessorKey","cell","row","tax","original","Typography","variant","truncate","MoreDropdown","dropdownProps","strategy","menuItems","key","size","_Fragment","humanize","getValue","TaxesDashboard","breadcrumbs","noDataHelpText","noop","titleHelpPopoverProps","isFormPaneOpen","setIsFormPaneOpen","useState","taxToDelete","setTaxToDelete","data","taxes","isLoading","useFetchTaxes","deleteTax","useDeleteTax","action","Spinner","Container","title","actionBlock","Button","isEmpty","Empty","helpText","primaryButtonProps","TableWrapper","DataTable","allowRowClick","columns","loading","Alert","message","Trans","components","strong","i18nKey"],"mappings":"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"}
1
+ {"version":3,"file":"TaxesDashboard.js","sources":["../../app/javascript/src/v2/components/TaxesDashboard/FormPane/constants.js","../../app/javascript/src/v2/components/TaxesDashboard/FormPane/index.jsx","../../app/javascript/src/v2/components/TaxesDashboard/utils.jsx","../../app/javascript/src/v2/components/TaxesDashboard/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const INITIAL_VALUES = {\n name: \"\",\n description: \"\",\n kind: \"percentage\",\n value: \"\",\n};\n\nexport const VALIDATION_SCHEMA = yup.object().shape({\n name: yup.string().required(t(\"neetoPayments.validations.nameRequired\")),\n description: yup.string().nullable(),\n kind: yup.string().required(t(\"neetoPayments.validations.kindRequired\")),\n value: yup\n .number()\n .when(\"kind\", {\n is: \"percentage\",\n then: yup\n .number()\n .min(1, t(\"neetoPayments.validations.valueGreaterThanOrEqualToOne\"))\n .max(100, t(\"neetoPayments.validations.valueLessThanOrEqualToHundred\")),\n })\n .positive(t(\"neetoPayments.validations.valueMustBePositive\"))\n .required(t(\"neetoPayments.validations.valueRequired\")),\n});\n","import { Label, Sheet, Callout } from \"@bigbinary/neeto-atoms\";\nimport {\n Form,\n Input,\n RadioGroup,\n ActionBlock,\n} from \"@bigbinary/neeto-atoms/formik\";\nimport { isNotPresent, isPresent } from \"neetocist\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateTax, useUpdateTax } from \"hooks/reactQuery/useTaxesApi\";\n\nimport { INITIAL_VALUES, VALIDATION_SCHEMA } from \"./constants\";\n\nconst FormPane = ({\n taxableId,\n taxToEdit,\n setTaxToEdit,\n isOpen,\n setIsOpen,\n onTaxesChange,\n taxNameHelpText,\n}) => {\n const { t } = useTranslation();\n const { mutate: create, isPending: isCreating } = useCreateTax(\n { taxableId },\n {\n onSuccess: () => {\n setIsOpen(false);\n onTaxesChange();\n },\n }\n );\n\n const { mutate: update, isPending: isUpdating } = useUpdateTax(\n { taxableId },\n {\n onSuccess: () => {\n setIsOpen(false);\n onTaxesChange();\n },\n }\n );\n\n const isEdit = isPresent(taxToEdit?.id);\n const handleSubmit = values => {\n if (isEdit) {\n update({ taxableId, taxId: taxToEdit.id, payload: values });\n setTaxToEdit(null);\n } else {\n create({ taxableId, payload: values });\n }\n };\n\n return (\n <Sheet\n {...{ isOpen }}\n onClose={() => {\n setIsOpen(false);\n setTaxToEdit(null);\n }}\n >\n <Sheet.Header>\n <Sheet.Title>\n {isEdit\n ? t(\"neetoPayments.taxesDashboard.form.title.edit\")\n : t(\"neetoPayments.taxesDashboard.form.title.create\")}\n </Sheet.Title>\n </Sheet.Header>\n <Form\n className=\"flex min-h-0 flex-1 flex-col gap-4\"\n formikProps={{\n initialValues: isEdit ? taxToEdit : INITIAL_VALUES,\n validationSchema: VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <Sheet.Body>\n <div className=\"flex flex-col w-full gap-4\">\n <Input\n required\n label={t(\"neetoPayments.taxesDashboard.form.name.label\")}\n name=\"name\"\n placeholder={t(\n \"neetoPayments.taxesDashboard.form.name.placeholder\"\n )}\n />\n <Callout>\n {isNotPresent(taxNameHelpText)\n ? t(\"neetoPayments.taxesDashboard.form.name.helpText\")\n : taxNameHelpText}\n </Callout>\n <Input\n label={t(\"neetoPayments.taxesDashboard.form.description.label\")}\n name=\"description\"\n placeholder={t(\n \"neetoPayments.taxesDashboard.form.description.placeholder\"\n )}\n />\n <Label>{t(\"neetoPayments.taxesDashboard.form.kind.label\")}</Label>\n <RadioGroup name=\"kind\" orientation=\"vertical\">\n <RadioGroup.Item\n label={t(\"neetoPayments.taxesDashboard.form.kind.percentage\")}\n value=\"percentage\"\n />\n <RadioGroup.Item\n label={t(\"neetoPayments.taxesDashboard.form.kind.fixed\")}\n value=\"fixed\"\n />\n </RadioGroup>\n <Input\n required\n label={t(\"neetoPayments.taxesDashboard.form.value.label\")}\n name=\"value\"\n type=\"number\"\n placeholder={t(\n \"neetoPayments.taxesDashboard.form.value.placeholder\"\n )}\n />\n </div>\n </Sheet.Body>\n <Sheet.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: () => setIsOpen(false) }}\n isSubmitting={isCreating || isUpdating}\n />\n </Sheet.Footer>\n </Form>\n </Sheet>\n );\n};\n\nexport default FormPane;\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport { humanize, truncate } from \"neetocist\";\n\nexport const generateColumnData = () => [\n {\n header: t(\"neetoPayments.taxesDashboard.table.taxName\"),\n id: \"name\",\n accessorKey: \"name\",\n cell: info => {\n const name = info.getValue();\n const { actions, onEdit, canManage } = info.row.original;\n\n return (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Button\n disabled={!canManage}\n label={truncate(name, 100)}\n variant=\"link\"\n onClick={onEdit}\n />\n {actions}\n </div>\n );\n },\n },\n {\n header: t(\"neetoPayments.taxesDashboard.table.description\"),\n id: \"description\",\n accessorKey: \"description\",\n size: 300,\n },\n {\n header: t(\"neetoPayments.taxesDashboard.table.value\"),\n id: \"value\",\n accessorKey: \"value\",\n cell: ({ row }) => {\n const tax = row.original;\n\n return <>{tax.kind === \"percentage\" ? `${tax.value}%` : tax.value}</>;\n },\n },\n {\n header: t(\"neetoPayments.taxesDashboard.table.type\"),\n id: \"kind\",\n accessorKey: \"kind\",\n cell: ({ row }) => <>{humanize(row.getValue(\"kind\"))}</>,\n },\n];\n","import { useState } from \"react\";\n\nimport {\n Button,\n DataTable,\n Alert,\n Empty,\n Spinner,\n} from \"@bigbinary/neeto-atoms\";\nimport { Percent } from \"lucide-react\";\nimport { noop, isPresent } from \"neetocist\";\nimport Container from \"neetomolecules/v2/Container\";\nimport Header from \"neetomolecules/v2/Header\";\nimport MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\nimport TableWrapper from \"neetomolecules/v2/TableWrapper\";\nimport { isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useFetchTaxes, useDeleteTax } from \"hooks/reactQuery/useTaxesApi\";\n\nimport FormPane from \"./FormPane\";\nimport { generateColumnData } from \"./utils\";\n\nconst TaxesDashboard = ({\n taxableId,\n breadcrumbs,\n noDataHelpText = \"\",\n onTaxesChange = noop,\n titleHelpPopoverProps = {},\n taxNameHelpText,\n}) => {\n const [isFormPaneOpen, setIsFormPaneOpen] = useState(false);\n const [taxToEdit, setTaxToEdit] = useState(null);\n const [taxToDelete, setTaxToDelete] = useState(null);\n\n const { data: { taxes = [] } = {}, isLoading } = useFetchTaxes({ taxableId });\n const { mutate: deleteTax } = useDeleteTax(\n { taxableId },\n { onSuccess: onTaxesChange }\n );\n\n const { t } = useTranslation();\n\n const handleEdit = tax => {\n setTaxToEdit(tax);\n setIsFormPaneOpen(true);\n };\n\n const rowData = taxes.map(tax => ({\n ...tax,\n canManage: true,\n onEdit: () => handleEdit(tax),\n actions: (\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\", className: \"w-max\" }}\n menuItems={[\n {\n key: \"edit\",\n label: t(\"neetoPayments.common.edit\"),\n onClick: () => handleEdit(tax),\n \"data-testid\": \"menu-dropdown-edit-button\",\n },\n {\n key: \"delete\",\n label: t(\"neetoPayments.common.delete\"),\n onClick: () => setTaxToDelete(tax),\n \"data-testid\": \"menu-dropdown-delete-button\",\n },\n ]}\n />\n ),\n }));\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Container>\n <Header\n {...{ breadcrumbs, titleHelpPopoverProps }}\n title={t(\"neetoPayments.taxesDashboard.title\")}\n actionBlock={\n <Button\n data-testid=\"add-new-tax-button\"\n label={t(\"neetoPayments.taxesDashboard.buttons.add\")}\n onClick={() => setIsFormPaneOpen(true)}\n />\n }\n />\n {isEmpty(taxes) ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Empty\n helpText={noDataHelpText}\n icon={Percent}\n title={t(\"neetoPayments.taxesDashboard.noData\")}\n primaryButtonProps={{\n label: t(\"neetoPayments.taxesDashboard.buttons.add\"),\n onClick: () => setIsFormPaneOpen(true),\n }}\n />\n </div>\n ) : (\n <TableWrapper>\n <DataTable\n allowRowClick={false}\n columns={generateColumnData()}\n data={rowData}\n loading={isLoading}\n />\n </TableWrapper>\n )}\n <FormPane\n {...{\n onTaxesChange,\n setTaxToEdit,\n taxNameHelpText,\n taxToEdit,\n taxableId,\n }}\n isOpen={isFormPaneOpen}\n setIsOpen={setIsFormPaneOpen}\n />\n <Alert\n isOpen={isPresent(taxToDelete)}\n title={t(\"neetoPayments.alert.delete.tax.title\")}\n message={\n <Trans\n components={{ strong: <strong /> }}\n i18nKey=\"neetoPayments.alert.delete.tax.message\"\n values={{ name: taxToDelete?.name }}\n />\n }\n onClose={() => setTaxToDelete(null)}\n onSubmit={() => {\n deleteTax({ taxableId, taxId: taxToDelete?.id });\n setTaxToDelete(null);\n }}\n />\n </Container>\n );\n};\n\nexport default TaxesDashboard;\n"],"names":["INITIAL_VALUES","name","description","kind","value","VALIDATION_SCHEMA","yup","object","shape","string","required","t","nullable","number","when","is","then","min","max","positive","FormPane","taxableId","taxToEdit","setTaxToEdit","isOpen","setIsOpen","onTaxesChange","taxNameHelpText","useTranslation","mutate","create","isPending","isCreating","useCreateTax","onSuccess","update","isUpdating","useUpdateTax","isEdit","isPresent","id","handleSubmit","values","taxId","payload","_jsxs","Sheet","onClose","children","_jsx","Header","Title","Form","className","formikProps","initialValues","validationSchema","onSubmit","Body","Input","label","placeholder","Callout","isNotPresent","Label","RadioGroup","orientation","Item","type","Footer","ActionBlock","cancelButtonProps","onClick","isSubmitting","generateColumnData","header","accessorKey","cell","info","getValue","actions","onEdit","canManage","row","original","Button","disabled","truncate","variant","size","tax","_Fragment","humanize","TaxesDashboard","breadcrumbs","noDataHelpText","noop","titleHelpPopoverProps","isFormPaneOpen","setIsFormPaneOpen","useState","taxToDelete","setTaxToDelete","data","taxes","isLoading","useFetchTaxes","deleteTax","useDeleteTax","handleEdit","rowData","map","MoreDropdown","dropdownProps","strategy","menuItems","key","Spinner","Container","title","actionBlock","isEmpty","Empty","helpText","icon","Percent","primaryButtonProps","TableWrapper","DataTable","allowRowClick","columns","loading","Alert","message","Trans","components","strong","i18nKey"],"mappings":"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"}
package/dist/v2/index.js CHANGED
@@ -42,7 +42,7 @@ import 'react/jsx-runtime';
42
42
  import 'axios';
43
43
  import '../exportChannel-Db0U5gc1.js';
44
44
  import 'neetocommons/utils';
45
- import '@bigbinary/neeto-icons';
45
+ import 'lucide-react';
46
46
  import 'ramda';
47
47
  import 'react-router-dom';
48
48
  import '../dashboard-Ba2uhKXD.js';
@@ -67,8 +67,9 @@ import 'neetocommons/v2/utils';
67
67
  import '@bigbinary/neeto-molecules/v2/MoreDropdown';
68
68
  import '@rails/activestorage';
69
69
  import 'qrcode.react';
70
- import '../usePaymentApi-C8fRdHmK.js';
71
- import '../ExportModal-X-AJPdkc.js';
70
+ import '../usePaymentApi-CjtkL3IU.js';
71
+ import 'formik';
72
+ import '../ExportModal-k--5vSLt.js';
72
73
  import '../useExportsApi-C1wjoVYy.js';
73
74
  import '../usePaymentsApi-C2xbgHmw.js';
74
75
  import '../index-CKJlawqs.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-payments-frontend",
3
- "version": "6.3.4",
3
+ "version": "6.3.6",
4
4
  "description": "To manage payments across the neeto products.",
5
5
  "license": "UNLICENSED",
6
6
  "homepage": "https://github.com/bigbinary/neeto-payments-nano",
@@ -78,7 +78,7 @@
78
78
  "@bigbinary/neeto-editor": "1.47.119",
79
79
  "@bigbinary/neeto-filters-frontend": "4.3.40",
80
80
  "@bigbinary/neeto-icons": "1.20.89",
81
- "@bigbinary/neeto-molecules": "5.1.30",
81
+ "@bigbinary/neeto-molecules": "5.1.34",
82
82
  "@dnd-kit/core": "6.3.1",
83
83
  "@dnd-kit/sortable": "10.0.0",
84
84
  "@emotion/is-prop-valid": "1.2.0",
@@ -140,6 +140,7 @@
140
140
  "i18next-browser-languagedetector": "7.0.1",
141
141
  "js-logger": "1.6.1",
142
142
  "lint-staged": "12.4.1",
143
+ "lucide-react": "^0.577.0",
143
144
  "mini-css-extract-plugin": "2.7.6",
144
145
  "mixpanel-browser": "2.47.0",
145
146
  "os-browserify": "0.3.0",
@@ -191,7 +192,7 @@
191
192
  "@bigbinary/neeto-editor": "1.47.119",
192
193
  "@bigbinary/neeto-filters-frontend": "4.3.40",
193
194
  "@bigbinary/neeto-icons": "1.20.89",
194
- "@bigbinary/neeto-molecules": "5.1.30",
195
+ "@bigbinary/neeto-molecules": "5.1.34",
195
196
  "@dnd-kit/core": "6.3.1",
196
197
  "@dnd-kit/sortable": "10.0.0",
197
198
  "@honeybadger-io/js": "6.10.1",
@@ -209,6 +210,7 @@
209
210
  "https-browserify": "1.0.0",
210
211
  "i18next": "22.5.1",
211
212
  "js-logger": "1.6.1",
213
+ "lucide-react": "^0.577.0",
212
214
  "mixpanel-browser": "^2.45.0",
213
215
  "os-browserify": "0.3.0",
214
216
  "path-browserify": "^1.0.1",
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExportModal-X-AJPdkc.js","sources":["../app/javascript/src/v2/components/Common/ExportModal.jsx"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\n\nimport { Button, Dialog, Typography } from \"@bigbinary/neeto-atoms\";\nimport { isPresent, camelToSnakeCase } from \"neetocist\";\nimport { Download } from \"neetoicons\";\nimport { mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useExportsData } from \"hooks/reactQuery/useExportsApi\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport exportChannel from \"src/channels/exportChannel\";\nimport { uuidV4 } from \"utils\";\n\nconst ExportModal = ({\n filters,\n dashboardKind,\n holdableIds,\n sortProperties,\n isExportModalOpen,\n setIsExportModalOpen,\n}) => {\n const { t } = useTranslation();\n const [downloadUrl, setDownloadUrl] = useState(\"\");\n const [isGenerating, setIsGenerating] = useState(false);\n\n const { tab = \"all\" } = getQueryParams();\n\n const { mutate: exportsData } = useExportsData();\n\n const token = useMemo(\n () => `${dashboardKind}-report-${uuidV4()}`,\n [dashboardKind]\n );\n\n const receivedCallback = data => {\n if (!data.download_url) return;\n setDownloadUrl(data.download_url);\n setIsGenerating(false);\n };\n\n useEffect(() => {\n if (isExportModalOpen) {\n const channel = exportChannel(token, receivedCallback);\n setDownloadUrl(\"\");\n setIsGenerating(false);\n\n return () => {\n channel.disconnected();\n };\n }\n\n return undefined;\n }, [isExportModalOpen, token]);\n\n const onClose = () => setIsExportModalOpen(false);\n\n const handleExport = () => {\n setDownloadUrl(\"\");\n setIsGenerating(true);\n const payload = mergeLeft(sortProperties, {\n token,\n filters,\n tab,\n holdableIds,\n dashboard: camelToSnakeCase(dashboardKind),\n });\n\n exportsData(payload);\n };\n\n return (\n <Dialog {...{ onClose }} isOpen={isExportModalOpen}>\n <Dialog.Header>\n <Dialog.Title>\n {t(`neetoPayments.export.title.${dashboardKind}`)}\n </Dialog.Title>\n </Dialog.Header>\n <Dialog.Body>\n {isGenerating ? (\n <Typography variant=\"body2\">\n {t(\"neetoPayments.export.pleaseWait\")}\n </Typography>\n ) : (\n <Typography variant=\"body2\">\n {isPresent(downloadUrl)\n ? t(\"neetoPayments.export.fileReady\")\n : t(`neetoPayments.export.download.${dashboardKind}`)}\n </Typography>\n )}\n </Dialog.Body>\n <Dialog.Footer className=\"space-x-2\">\n {isPresent(downloadUrl) ? (\n <Button\n data-testid=\"neeto-payments-download-button\"\n href={downloadUrl}\n icon={Download}\n label={t(\"neetoPayments.common.download\")}\n onClick={onClose}\n />\n ) : (\n <>\n <Button\n data-testid=\"cancel-button\"\n disabled={isGenerating}\n label={t(\"neetoPayments.common.cancel\")}\n variant=\"outline\"\n onClick={onClose}\n />\n <Button\n data-testid=\"neeto-payments-export-button\"\n disabled={isGenerating}\n label={t(\"neetoPayments.common.export\")}\n loading={isGenerating}\n onClick={handleExport}\n />\n </>\n )}\n </Dialog.Footer>\n </Dialog>\n );\n};\n\nexport default ExportModal;\n"],"names":["ExportModal","filters","dashboardKind","holdableIds","sortProperties","isExportModalOpen","setIsExportModalOpen","t","useTranslation","downloadUrl","setDownloadUrl","useState","isGenerating","setIsGenerating","tab","getQueryParams","mutate","exportsData","useExportsData","token","useMemo","uuidV4","receivedCallback","data","download_url","useEffect","channel","exportChannel","disconnected","undefined","onClose","handleExport","payload","mergeLeft","dashboard","camelToSnakeCase","_jsxs","Dialog","isOpen","children","_jsx","Header","Title","Body","Typography","variant","isPresent","Footer","className","Button","href","icon","Download","label","onClick","_Fragment","disabled","loading"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExportModal-C7_QKb9q.js","sources":["../../app/javascript/src/v2/components/Common/ExportModal.jsx"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\n\nimport { Button, Dialog, Typography } from \"@bigbinary/neeto-atoms\";\nimport { isPresent, camelToSnakeCase } from \"neetocist\";\nimport { Download } from \"neetoicons\";\nimport { mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useExportsData } from \"hooks/reactQuery/useExportsApi\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport exportChannel from \"src/channels/exportChannel\";\nimport { uuidV4 } from \"utils\";\n\nconst ExportModal = ({\n filters,\n dashboardKind,\n holdableIds,\n sortProperties,\n isExportModalOpen,\n setIsExportModalOpen,\n}) => {\n const { t } = useTranslation();\n const [downloadUrl, setDownloadUrl] = useState(\"\");\n const [isGenerating, setIsGenerating] = useState(false);\n\n const { tab = \"all\" } = getQueryParams();\n\n const { mutate: exportsData } = useExportsData();\n\n const token = useMemo(\n () => `${dashboardKind}-report-${uuidV4()}`,\n [dashboardKind]\n );\n\n const receivedCallback = data => {\n if (!data.download_url) return;\n setDownloadUrl(data.download_url);\n setIsGenerating(false);\n };\n\n useEffect(() => {\n if (isExportModalOpen) {\n const channel = exportChannel(token, receivedCallback);\n setDownloadUrl(\"\");\n setIsGenerating(false);\n\n return () => {\n channel.disconnected();\n };\n }\n\n return undefined;\n }, [isExportModalOpen, token]);\n\n const onClose = () => setIsExportModalOpen(false);\n\n const handleExport = () => {\n setDownloadUrl(\"\");\n setIsGenerating(true);\n const payload = mergeLeft(sortProperties, {\n token,\n filters,\n tab,\n holdableIds,\n dashboard: camelToSnakeCase(dashboardKind),\n });\n\n exportsData(payload);\n };\n\n return (\n <Dialog {...{ onClose }} isOpen={isExportModalOpen}>\n <Dialog.Header>\n <Dialog.Title>\n {t(`neetoPayments.export.title.${dashboardKind}`)}\n </Dialog.Title>\n </Dialog.Header>\n <Dialog.Body>\n {isGenerating ? (\n <Typography variant=\"body2\">\n {t(\"neetoPayments.export.pleaseWait\")}\n </Typography>\n ) : (\n <Typography variant=\"body2\">\n {isPresent(downloadUrl)\n ? t(\"neetoPayments.export.fileReady\")\n : t(`neetoPayments.export.download.${dashboardKind}`)}\n </Typography>\n )}\n </Dialog.Body>\n <Dialog.Footer className=\"space-x-2\">\n {isPresent(downloadUrl) ? (\n <Button\n data-testid=\"neeto-payments-download-button\"\n href={downloadUrl}\n icon={Download}\n label={t(\"neetoPayments.common.download\")}\n onClick={onClose}\n />\n ) : (\n <>\n <Button\n data-testid=\"cancel-button\"\n disabled={isGenerating}\n label={t(\"neetoPayments.common.cancel\")}\n variant=\"outline\"\n onClick={onClose}\n />\n <Button\n data-testid=\"neeto-payments-export-button\"\n disabled={isGenerating}\n label={t(\"neetoPayments.common.export\")}\n loading={isGenerating}\n onClick={handleExport}\n />\n </>\n )}\n </Dialog.Footer>\n </Dialog>\n );\n};\n\nexport default ExportModal;\n"],"names":["ExportModal","filters","dashboardKind","holdableIds","sortProperties","isExportModalOpen","setIsExportModalOpen","t","useTranslation","downloadUrl","setDownloadUrl","useState","isGenerating","setIsGenerating","tab","getQueryParams","mutate","exportsData","useExportsData","token","useMemo","uuidV4","receivedCallback","data","download_url","useEffect","channel","exportChannel","disconnected","undefined","onClose","handleExport","payload","mergeLeft","dashboard","camelToSnakeCase","_jsxs","Dialog","isOpen","children","_jsx","Header","Title","Body","Typography","variant","isPresent","Footer","className","Button","href","icon","Download","label","onClick","_Fragment","disabled","loading"],"mappings":"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"}