@opexa/portal-components 0.0.15 → 0.0.16

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 (76) hide show
  1. package/dist/client/hooks/index.d.ts +4 -0
  2. package/dist/client/hooks/useCreateGCashWithdrawalMutation.d.ts +4 -0
  3. package/dist/client/hooks/useCreateGCashWithdrawalMutation.js +1 -0
  4. package/dist/client/hooks/useCreateGCashWithdrawalMutation.mjs +38 -0
  5. package/dist/client/hooks/useCreateInstapayWithdrawalMutation.d.ts +4 -0
  6. package/dist/client/hooks/useCreateInstapayWithdrawalMutation.js +1 -0
  7. package/dist/client/hooks/useCreateInstapayWithdrawalMutation.mjs +38 -0
  8. package/dist/client/hooks/useCreateMayaAppWithdrawalMutation.d.ts +4 -0
  9. package/dist/client/hooks/useCreateMayaAppWithdrawalMutation.js +1 -0
  10. package/dist/client/hooks/useCreateMayaAppWithdrawalMutation.mjs +38 -0
  11. package/dist/client/hooks/useCreateMayaWithdrawalMutation.d.ts +4 -0
  12. package/dist/client/hooks/useCreateMayaWithdrawalMutation.js +1 -0
  13. package/dist/client/hooks/useCreateMayaWithdrawalMutation.mjs +38 -0
  14. package/dist/client/hooks/useDepositQuery.js +1 -1
  15. package/dist/client/hooks/useDepositQuery.mjs +12 -13
  16. package/dist/client/hooks/usePromoQuery.js +1 -1
  17. package/dist/client/hooks/usePromoQuery.mjs +13 -13
  18. package/dist/client-hooks.js +1 -1
  19. package/dist/client-hooks.mjs +84 -76
  20. package/dist/components/DepositWithdrawal/Deposit/AvailablePromos.js +1 -0
  21. package/dist/components/DepositWithdrawal/{AvailablePromos.mjs → Deposit/AvailablePromos.mjs} +31 -31
  22. package/dist/components/DepositWithdrawal/Deposit/GCashDeposit/GCashDeposit.js +1 -1
  23. package/dist/components/DepositWithdrawal/Deposit/GCashDeposit/GCashDeposit.mjs +1 -1
  24. package/dist/components/DepositWithdrawal/Deposit/MayaAppDeposit/MayaAppDeposit.js +1 -1
  25. package/dist/components/DepositWithdrawal/Deposit/MayaAppDeposit/MayaAppDeposit.mjs +4 -4
  26. package/dist/components/DepositWithdrawal/Deposit/MayaDeposit/MayaDeposit.js +1 -1
  27. package/dist/components/DepositWithdrawal/Deposit/MayaDeposit/MayaDeposit.mjs +1 -1
  28. package/dist/components/DepositWithdrawal/Deposit/OnlineBankDeposit/OnlineBankDepositForm.js +1 -1
  29. package/dist/components/DepositWithdrawal/Deposit/OnlineBankDeposit/OnlineBankDepositForm.mjs +75 -98
  30. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHDepositForm.js +1 -1
  31. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHDepositForm.mjs +1 -1
  32. package/dist/components/DepositWithdrawal/MayaSessionExpired.d.ts +1 -0
  33. package/dist/components/DepositWithdrawal/MayaSessionExpired.js +1 -0
  34. package/dist/components/DepositWithdrawal/{Deposit/MayaAppDeposit/SessionExpired.mjs → MayaSessionExpired.mjs} +3 -3
  35. package/dist/components/DepositWithdrawal/PaymentMethods.js +1 -1
  36. package/dist/components/DepositWithdrawal/PaymentMethods.mjs +23 -17
  37. package/dist/components/DepositWithdrawal/Withdrawal/GCashWithdrawal/GCashWithdrawal.d.ts +1 -0
  38. package/dist/components/DepositWithdrawal/Withdrawal/GCashWithdrawal/GCashWithdrawal.js +1 -0
  39. package/dist/components/DepositWithdrawal/Withdrawal/GCashWithdrawal/GCashWithdrawal.mjs +205 -0
  40. package/dist/components/DepositWithdrawal/Withdrawal/InstapayWithdrawal/InstapayWithdrawal.d.ts +1 -0
  41. package/dist/components/DepositWithdrawal/Withdrawal/InstapayWithdrawal/InstapayWithdrawal.js +1 -0
  42. package/dist/components/DepositWithdrawal/Withdrawal/InstapayWithdrawal/InstapayWithdrawal.mjs +264 -0
  43. package/dist/components/DepositWithdrawal/Withdrawal/MayaAppWithdrawal/MayaAppWithdrawal.d.ts +1 -0
  44. package/dist/components/DepositWithdrawal/Withdrawal/MayaAppWithdrawal/MayaAppWithdrawal.js +1 -0
  45. package/dist/components/DepositWithdrawal/Withdrawal/MayaAppWithdrawal/MayaAppWithdrawal.mjs +186 -0
  46. package/dist/components/DepositWithdrawal/Withdrawal/MayaWithdrawal/MayaWithdrawal.d.ts +1 -0
  47. package/dist/components/DepositWithdrawal/Withdrawal/MayaWithdrawal/MayaWithdrawal.js +1 -0
  48. package/dist/components/DepositWithdrawal/Withdrawal/MayaWithdrawal/MayaWithdrawal.mjs +205 -0
  49. package/dist/components/DepositWithdrawal/Withdrawal/Withdrawal.d.ts +1 -1
  50. package/dist/components/DepositWithdrawal/Withdrawal/Withdrawal.js +1 -1
  51. package/dist/components/DepositWithdrawal/Withdrawal/Withdrawal.mjs +81 -3
  52. package/dist/components/DepositWithdrawal/utils.d.ts +1 -1
  53. package/dist/components/DepositWithdrawal/utils.js +1 -1
  54. package/dist/components/DepositWithdrawal/utils.mjs +2 -1
  55. package/dist/images/instapay.png.js +1 -0
  56. package/dist/images/instapay.png.mjs +4 -0
  57. package/dist/theme.css +21 -2
  58. package/dist/ui/Field/field.recipe.js +1 -1
  59. package/dist/ui/Field/field.recipe.mjs +3 -3
  60. package/dist/ui/PasswordInput/PasswordInput.d.ts +1 -0
  61. package/dist/ui/PasswordInput/index.d.ts +1 -0
  62. package/dist/ui/PasswordInput/passwordInput.recipe.d.ts +52 -0
  63. package/dist/utils/queryKeys.d.ts +4 -0
  64. package/dist/utils/queryKeys.js +1 -1
  65. package/dist/utils/queryKeys.mjs +50 -38
  66. package/dist/utils.js +1 -1
  67. package/dist/utils.mjs +48 -44
  68. package/package.json +3 -3
  69. package/dist/components/DepositWithdrawal/AvailablePromos.js +0 -1
  70. package/dist/components/DepositWithdrawal/Deposit/MayaAppDeposit/SessionExpired.d.ts +0 -1
  71. package/dist/components/DepositWithdrawal/Deposit/MayaAppDeposit/SessionExpired.js +0 -1
  72. package/dist/components/DepositWithdrawal/Withdrawal/GCashWithdrawal.d.ts +0 -1
  73. package/dist/components/DepositWithdrawal/Withdrawal/InstapayWithdrawal.d.ts +0 -1
  74. package/dist/components/DepositWithdrawal/Withdrawal/MayaAppWithdrawal.d.ts +0 -1
  75. package/dist/components/DepositWithdrawal/Withdrawal/MayaWithdrawal.d.ts +0 -1
  76. /package/dist/components/DepositWithdrawal/{AvailablePromos.d.ts → Deposit/AvailablePromos.d.ts} +0 -0
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),P=require("@ark-ui/react"),Q=require("@hookform/resolvers/zod"),S=require("react"),h=require("react-hook-form"),a=require("zod");require("@opexa/portal-sdk-core");require("@tanstack/react-query");require("tiny-invariant");require("../../../../constants/index.js");require("../../../../utils/capitalize.js");const i=require("../../../../utils/parseDecimal.js");require("../../../../utils/getLocaleInfo.js");require("../../../../utils/getQueryClient.js");require("../../../../utils/isMobile.js");const R=require("../../../../client/hooks/useAvailablePromosQuery.js");require("lodash-es");require("@opexa/portal-sdk-core/object-id");const O=require("../../../../client/hooks/useDepositsCountQuery.js"),F=require("../../../../client/hooks/useDisclosure.js");require("../../../../client/hooks/useGlobalStore.js");require("../../../../client/hooks/useInfiniteQueryHelper.js");require("usehooks-ts");const M=require("../../../../client/hooks/usePaymentSettingsQuery.js"),N=require("../../../../icons/AlertCircleIcon.js"),k=require("../../../../icons/ChevronDownIcon.js"),E=require("../../../../icons/ChevronUpIcon.js"),T=require("../../../../icons/XIcon.js"),n=require("../../../../ui/AlertDialog/AlertDialog.js");require("../../../../ui/Avatar/Avatar.js");require("../../../../ui/Badge/Badge.js");const x=require("../../../../ui/Button/Button.js");require("../../../../ui/Checkbox/Checkbox.js");require("../../../../ui/Clipboard/Clipboard.js");require("../../../../ui/DatePicker/DatePicker.js");require("../../../../ui/Dialog/Dialog.js");require("../../../../ui/Drawer/Drawer.js");const v=require("../../../../ui/Field/Field.js");require("../../../../ui/IconButton/iconButton.recipe.js");const l=require("../../../../ui/NumberInput/NumberInput.js");require("../../../../ui/PinInput/PinInput.js");require("../../../../ui/Popover/Popover.js");require("tailwind-merge");require("../../../../ui/SegmentGroup/SegmentGroup.js");require("../../../../ui/Select/Select.js");require("../../../../ui/Table/Table.js");require("../../../../ui/Tabs/Tabs.js");const w=require("../../AmountChoices.js"),B=require("../../AvailablePromos.js"),H=require("./QRPHDepositContext.js");function V(){var j;const b=H.useQRPHDepositContext(),m=F.useDisclosure(),I=O.useDepositsCountQuery().data??0,q=M.usePaymentSettingsQuery(),p=q.data,c=p==null?void 0:p.qrphDepositGatewaySettings,d=i.parseDecimal(c==null?void 0:c.maximumAmount,0),u=I<=0?i.parseDecimal((j=q.data)==null?void 0:j.minimumFirstDepositAmount,0):i.parseDecimal(c==null?void 0:c.minimumAmount,0),g=R.useAvailablePromosQuery().data??[],A=a.z.object({amount:a.z.string().superRefine((o,s)=>{const r=i.parseDecimal(o,0);r<u&&s.addIssue({type:"number",code:a.z.ZodIssueCode.too_small,inclusive:!0,minimum:u,message:`Minimum amount is ${u.toLocaleString()}`}),r>d&&s.addIssue({type:"number",code:a.z.ZodIssueCode.too_big,inclusive:!0,maximum:d,message:`Maximum amount is ${d.toLocaleString()}`})}),promo:a.z.string().optional().nullable()}).superRefine((o,s)=>{const r=g.find(z=>z.id===o.promo),C=i.parseDecimal(r==null?void 0:r.minimumDepositAmount,0),D=i.parseDecimal(r==null?void 0:r.maximumDepositAmount,0),y=i.parseDecimal(o.amount,0);r&&y<C&&s.addIssue({path:["amount"],code:a.z.ZodIssueCode.custom,message:`Minimum amount for this promo is ${C.toLocaleString()}`}),r&&y>D&&s.addIssue({path:["amount"],code:a.z.ZodIssueCode.custom,message:`Maximum amount for this promo is ${D}`})}),t=h.useForm({mode:"all",resolver:Q.zodResolver(A),defaultValues:{amount:"0",promo:null}});S.useEffect(()=>{u&&t.reset({amount:u.toString(),promo:null})},[t,u]);const f=t.handleSubmit(async o=>{b.generateQrCode({amount:o.amount.toString(),promo:o.promo??void 0},{onSuccess(){t.reset()}})});return e.jsxs("form",{onSubmit:f,noValidate:!0,children:[e.jsx(h.Controller,{control:t.control,name:"amount",render:o=>{var s;return e.jsxs(v.Root,{invalid:!!t.formState.errors.amount,children:[e.jsxs(l.Root,{min:0,step:1,value:o.field.value,onValueChange:r=>{o.field.onChange(r.value)},formatOptions:{maximumFractionDigits:2,minimumFractionDigits:0},allowMouseWheel:!0,children:[e.jsx(l.Label,{children:"Enter amount you want to deposit"}),e.jsxs(l.Control,{children:[e.jsx(l.Input,{}),e.jsx(l.IncrementTrigger,{children:e.jsx(E.ChevronUpIcon,{})}),e.jsx(l.DecrementTrigger,{children:e.jsx(k.ChevronDownIcon,{})})]})]}),e.jsx(v.ErrorText,{children:(s=t.formState.errors.amount)==null?void 0:s.message})]})}}),e.jsx(w.AmountChoices,{value:i.parseDecimal(t.watch("amount"),0),onChange:o=>{t.setValue("amount",o.toString(),{shouldTouch:!0,shouldDirty:!0,shouldValidate:!0})},min:u,max:d,className:"mt-xl"}),e.jsx(h.Controller,{control:t.control,name:"promo",render:o=>e.jsx(B.AvailablePromos,{className:"mt-4xl",value:o.field.value,onChange:o.field.onChange})}),e.jsxs("p",{className:"mt-4xl text-xs",children:["Upon clicking the deposit button, you agree to the"," ",e.jsx("button",{type:"button",className:"underline underline-offset-2",children:"Terms of Use and Privacy Policy"}),"."]}),e.jsx(x.Button,{type:"submit",className:"mt-4.5",onClick:async o=>{await t.trigger("amount")&&(g.length<=0||t.getValues("promo")||(o.preventDefault(),m.setOpen(!0)))},children:"Deposit"}),e.jsx(n.Root,{role:"alertdialog",open:m.open,onOpenChange:o=>{m.setOpen(o.open)},lazyMount:!0,unmountOnExit:!0,closeOnEscape:!1,closeOnInteractOutside:!1,children:e.jsxs(P.Portal,{children:[e.jsx(n.Backdrop,{className:"!z-[calc(var(--z-dialog)+10)]"}),e.jsx(n.Positioner,{className:"!z-[calc(var(--z-dialog)+25)]",children:e.jsxs(n.Content,{children:[e.jsxs(n.Header,{children:[e.jsx("div",{className:"flex size-12 items-center justify-center rounded-full bg-[#FEE4E2] text-[#D92D20]",children:e.jsx(N.AlertCircleIcon,{})}),e.jsx(n.CloseTrigger,{children:e.jsx(T.XIcon,{})})]}),e.jsxs(n.Body,{children:[e.jsx(n.Title,{children:"Submit deposit request without promo?"}),e.jsx(n.Description,{children:"You haven’t selected a promo. Are you sure you want to proceed without one?"})]}),e.jsxs(n.Footer,{children:[e.jsx(x.Button,{variant:"outline",colorScheme:"gray",onClick:()=>{m.setOpen(!1)},children:"Cancel"}),e.jsx(x.Button,{onClick:()=>{f(),m.setOpen(!1)},children:"Proceed"})]})]})})]})})]})}exports.QRPHDepositForm=V;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),P=require("@ark-ui/react"),Q=require("@hookform/resolvers/zod"),S=require("react"),h=require("react-hook-form"),a=require("zod");require("@opexa/portal-sdk-core");require("@tanstack/react-query");require("tiny-invariant");require("../../../../constants/index.js");require("../../../../utils/capitalize.js");const i=require("../../../../utils/parseDecimal.js");require("../../../../utils/getLocaleInfo.js");require("../../../../utils/getQueryClient.js");require("../../../../utils/isMobile.js");const R=require("../../../../client/hooks/useAvailablePromosQuery.js");require("lodash-es");require("@opexa/portal-sdk-core/object-id");const O=require("../../../../client/hooks/useDepositsCountQuery.js"),F=require("../../../../client/hooks/useDisclosure.js");require("../../../../client/hooks/useGlobalStore.js");require("../../../../client/hooks/useInfiniteQueryHelper.js");require("usehooks-ts");const M=require("../../../../client/hooks/usePaymentSettingsQuery.js"),N=require("../../../../icons/AlertCircleIcon.js"),k=require("../../../../icons/ChevronDownIcon.js"),E=require("../../../../icons/ChevronUpIcon.js"),T=require("../../../../icons/XIcon.js"),n=require("../../../../ui/AlertDialog/AlertDialog.js");require("../../../../ui/Avatar/Avatar.js");require("../../../../ui/Badge/Badge.js");const x=require("../../../../ui/Button/Button.js");require("../../../../ui/Checkbox/Checkbox.js");require("../../../../ui/Clipboard/Clipboard.js");require("../../../../ui/DatePicker/DatePicker.js");require("../../../../ui/Dialog/Dialog.js");require("../../../../ui/Drawer/Drawer.js");const v=require("../../../../ui/Field/Field.js");require("../../../../ui/IconButton/iconButton.recipe.js");const l=require("../../../../ui/NumberInput/NumberInput.js");require("../../../../ui/PinInput/PinInput.js");require("../../../../ui/Popover/Popover.js");require("tailwind-merge");require("../../../../ui/SegmentGroup/SegmentGroup.js");require("../../../../ui/Select/Select.js");require("../../../../ui/Table/Table.js");require("../../../../ui/Tabs/Tabs.js");const w=require("../../AmountChoices.js"),B=require("../AvailablePromos.js"),H=require("./QRPHDepositContext.js");function V(){var j;const b=H.useQRPHDepositContext(),m=F.useDisclosure(),I=O.useDepositsCountQuery().data??0,q=M.usePaymentSettingsQuery(),p=q.data,c=p==null?void 0:p.qrphDepositGatewaySettings,d=i.parseDecimal(c==null?void 0:c.maximumAmount,0),u=I<=0?i.parseDecimal((j=q.data)==null?void 0:j.minimumFirstDepositAmount,0):i.parseDecimal(c==null?void 0:c.minimumAmount,0),g=R.useAvailablePromosQuery().data??[],A=a.z.object({amount:a.z.string().superRefine((o,s)=>{const r=i.parseDecimal(o,0);r<u&&s.addIssue({type:"number",code:a.z.ZodIssueCode.too_small,inclusive:!0,minimum:u,message:`Minimum amount is ${u.toLocaleString()}`}),r>d&&s.addIssue({type:"number",code:a.z.ZodIssueCode.too_big,inclusive:!0,maximum:d,message:`Maximum amount is ${d.toLocaleString()}`})}),promo:a.z.string().optional().nullable()}).superRefine((o,s)=>{const r=g.find(z=>z.id===o.promo),C=i.parseDecimal(r==null?void 0:r.minimumDepositAmount,0),D=i.parseDecimal(r==null?void 0:r.maximumDepositAmount,0),y=i.parseDecimal(o.amount,0);r&&y<C&&s.addIssue({path:["amount"],code:a.z.ZodIssueCode.custom,message:`Minimum amount for this promo is ${C.toLocaleString()}`}),r&&y>D&&s.addIssue({path:["amount"],code:a.z.ZodIssueCode.custom,message:`Maximum amount for this promo is ${D}`})}),t=h.useForm({mode:"all",resolver:Q.zodResolver(A),defaultValues:{amount:"0",promo:null}});S.useEffect(()=>{u&&t.reset({amount:u.toString(),promo:null})},[t,u]);const f=t.handleSubmit(async o=>{b.generateQrCode({amount:o.amount.toString(),promo:o.promo??void 0},{onSuccess(){t.reset()}})});return e.jsxs("form",{onSubmit:f,noValidate:!0,children:[e.jsx(h.Controller,{control:t.control,name:"amount",render:o=>{var s;return e.jsxs(v.Root,{invalid:!!t.formState.errors.amount,children:[e.jsxs(l.Root,{min:0,step:1,value:o.field.value,onValueChange:r=>{o.field.onChange(r.value)},formatOptions:{maximumFractionDigits:2,minimumFractionDigits:0},allowMouseWheel:!0,children:[e.jsx(l.Label,{children:"Enter amount you want to deposit"}),e.jsxs(l.Control,{children:[e.jsx(l.Input,{}),e.jsx(l.IncrementTrigger,{children:e.jsx(E.ChevronUpIcon,{})}),e.jsx(l.DecrementTrigger,{children:e.jsx(k.ChevronDownIcon,{})})]})]}),e.jsx(v.ErrorText,{children:(s=t.formState.errors.amount)==null?void 0:s.message})]})}}),e.jsx(w.AmountChoices,{value:i.parseDecimal(t.watch("amount"),0),onChange:o=>{t.setValue("amount",o.toString(),{shouldTouch:!0,shouldDirty:!0,shouldValidate:!0})},min:u,max:d,className:"mt-xl"}),e.jsx(h.Controller,{control:t.control,name:"promo",render:o=>e.jsx(B.AvailablePromos,{className:"mt-4xl",value:o.field.value,onChange:o.field.onChange})}),e.jsxs("p",{className:"mt-4xl text-xs",children:["Upon clicking the deposit button, you agree to the"," ",e.jsx("button",{type:"button",className:"underline underline-offset-2",children:"Terms of Use and Privacy Policy"}),"."]}),e.jsx(x.Button,{type:"submit",className:"mt-4.5",onClick:async o=>{await t.trigger("amount")&&(g.length<=0||t.getValues("promo")||(o.preventDefault(),m.setOpen(!0)))},children:"Deposit"}),e.jsx(n.Root,{role:"alertdialog",open:m.open,onOpenChange:o=>{m.setOpen(o.open)},lazyMount:!0,unmountOnExit:!0,closeOnEscape:!1,closeOnInteractOutside:!1,children:e.jsxs(P.Portal,{children:[e.jsx(n.Backdrop,{className:"!z-[calc(var(--z-dialog)+10)]"}),e.jsx(n.Positioner,{className:"!z-[calc(var(--z-dialog)+25)]",children:e.jsxs(n.Content,{children:[e.jsxs(n.Header,{children:[e.jsx("div",{className:"flex size-12 items-center justify-center rounded-full bg-[#FEE4E2] text-[#D92D20]",children:e.jsx(N.AlertCircleIcon,{})}),e.jsx(n.CloseTrigger,{children:e.jsx(T.XIcon,{})})]}),e.jsxs(n.Body,{children:[e.jsx(n.Title,{children:"Submit deposit request without promo?"}),e.jsx(n.Description,{children:"You haven’t selected a promo. Are you sure you want to proceed without one?"})]}),e.jsxs(n.Footer,{children:[e.jsx(x.Button,{variant:"outline",colorScheme:"gray",onClick:()=>{m.setOpen(!1)},children:"Cancel"}),e.jsx(x.Button,{onClick:()=>{f(),m.setOpen(!1)},children:"Proceed"})]})]})})]})})]})}exports.QRPHDepositForm=V;
@@ -46,7 +46,7 @@ import "../../../../ui/Select/Select.mjs";
46
46
  import "../../../../ui/Table/Table.mjs";
47
47
  import "../../../../ui/Tabs/Tabs.mjs";
48
48
  import { AmountChoices as to } from "../../AmountChoices.mjs";
49
- import { AvailablePromos as ro } from "../../AvailablePromos.mjs";
49
+ import { AvailablePromos as ro } from "../AvailablePromos.mjs";
50
50
  import { useQRPHDepositContext as io } from "./QRPHDepositContext.mjs";
51
51
  function ie() {
52
52
  var C;
@@ -0,0 +1 @@
1
+ export declare function MayaSessionExpired(): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("../../icons/AlertTriangle.js");function s(){return e.jsxs("div",{className:"bg-gray-50 mt-3xl rounded-lg px-5 py-16 lg:mt-4xl",children:[e.jsx(t.AlertTriangleIcon,{className:"text-amber-500 mx-auto size-10"}),e.jsx("h2",{className:"mt-3 text-center text-lg font-semibold",children:"Session Expired"}),e.jsx("p",{className:"text-gray-700 mx-auto mt-2 max-w-[30rem] text-center text-sm",children:"Your session has timed out. To continue with deposits or withdrawals, Please try reloading the app."})]})}exports.MayaSessionExpired=s;
@@ -1,6 +1,6 @@
1
1
  import { jsxs as t, jsx as e } from "react/jsx-runtime";
2
- import { AlertTriangleIcon as r } from "../../../../icons/AlertTriangle.mjs";
3
- function a() {
2
+ import { AlertTriangleIcon as r } from "../../icons/AlertTriangle.mjs";
3
+ function o() {
4
4
  return /* @__PURE__ */ t("div", { className: "bg-gray-50 mt-3xl rounded-lg px-5 py-16 lg:mt-4xl", children: [
5
5
  /* @__PURE__ */ e(r, { className: "text-amber-500 mx-auto size-10" }),
6
6
  /* @__PURE__ */ e("h2", { className: "mt-3 text-center text-lg font-semibold", children: "Session Expired" }),
@@ -8,5 +8,5 @@ function a() {
8
8
  ] });
9
9
  }
10
10
  export {
11
- a as SessionExpired
11
+ o as MayaSessionExpired
12
12
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),q=require("next/image");require("@opexa/portal-sdk-core");require("@tanstack/react-query");require("tiny-invariant");require("../../constants/index.js");require("../../utils/capitalize.js");require("../../utils/parseDecimal.js");require("../../utils/getLocaleInfo.js");require("../../utils/getQueryClient.js");require("../../utils/isMobile.js");const d=require("../../client/hooks/useControllableState.js");require("lodash-es");require("react");require("@opexa/portal-sdk-core/object-id");require("../../client/hooks/useGlobalStore.js");require("../../client/hooks/useInfiniteQueryHelper.js");require("usehooks-ts");const h=require("../../icons/CheckIcon.js"),g=require("../../images/QRPh.png.js"),m=require("../../images/gcash.png.js"),t=require("../../images/maya.png.js"),v=require("../../images/online-bank.png.js");require("../../ui/AlertDialog/AlertDialog.js");require("../../ui/Avatar/Avatar.js");require("../../ui/Badge/Badge.js");require("@ark-ui/react");require("../../ui/Button/button.recipe.js");const a=require("../../ui/Checkbox/Checkbox.js");require("../../ui/Clipboard/Clipboard.js");require("../../ui/DatePicker/DatePicker.js");require("../../ui/Dialog/Dialog.js");require("../../ui/Drawer/Drawer.js");const x=require("../../ui/Field/Field.js");require("../../ui/IconButton/iconButton.recipe.js");require("../../ui/NumberInput/NumberInput.js");require("../../ui/PinInput/PinInput.js");require("../../ui/Popover/Popover.js");require("tailwind-merge");require("../../ui/SegmentGroup/SegmentGroup.js");require("../../ui/Select/Select.js");require("../../ui/Table/Table.js");require("../../ui/Tabs/Tabs.js");const b=require("./utils.js"),s=[{value:"GCASH",label:"GCash",image:m},{value:"MAYA_APP",label:"Maya App",image:t},{value:"MAYA",label:"Maya",image:t},{value:"QRPH",label:"QRPH",image:g},{value:"ONLINE_BANK",label:"Online Bank",image:v}];function y(i){var n;const l=(n=i.options)!=null&&n.length?s.filter(r=>{var u;return(u=i.options)==null?void 0:u.includes(r.value)}):s,[c,o]=d.useControllableState({value:i.value,defaultValue:i.defaultValue??l[0].value,onChange:i.onChange});return e.jsxs("div",{className:i.className,children:[e.jsx(x.Label,{asChild:!0,children:e.jsx("div",{children:"Select your payment method"})}),e.jsx(a.Group,{value:[c],onValueChange:r=>{const u=r.at(-1);u&&o(b.PaymentMethodDefinition.parse(u))},className:"grid grid-cols-2 gap-x-4 gap-y-3",children:l.map(r=>e.jsxs(a.Root,{value:r.value,className:"border-gray-200 ui-checked:border-gray-900 ui-checked:outline-solid ui-checked:outline-gray-900 flex cursor-pointer rounded-xl border p-xl ui-checked:outline",children:[e.jsx("div",{className:"grow",children:e.jsx(q,{src:r.image,alt:"",width:200,height:40,className:"h-5 w-auto lg:h-8",draggable:!1})}),e.jsx(a.Control,{className:"shrink-0",children:e.jsx(a.Indicator,{asChild:!0,children:e.jsx(h.CheckIcon,{})})}),e.jsx(a.HiddenInput,{})]},r.value))})]})}exports.PaymentMethods=y;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),q=require("next/image");require("@opexa/portal-sdk-core");require("@tanstack/react-query");require("tiny-invariant");require("../../constants/index.js");require("../../utils/capitalize.js");require("../../utils/parseDecimal.js");require("../../utils/getLocaleInfo.js");require("../../utils/getQueryClient.js");require("../../utils/isMobile.js");const d=require("../../client/hooks/useControllableState.js");require("lodash-es");require("react");require("@opexa/portal-sdk-core/object-id");require("../../client/hooks/useGlobalStore.js");require("../../client/hooks/useInfiniteQueryHelper.js");require("usehooks-ts");const h=require("../../icons/CheckIcon.js"),g=require("../../images/QRPh.png.js"),m=require("../../images/gcash.png.js"),v=require("../../images/instapay.png.js"),t=require("../../images/maya.png.js"),x=require("../../images/online-bank.png.js");require("../../ui/AlertDialog/AlertDialog.js");require("../../ui/Avatar/Avatar.js");require("../../ui/Badge/Badge.js");require("@ark-ui/react");require("../../ui/Button/button.recipe.js");const u=require("../../ui/Checkbox/Checkbox.js");require("../../ui/Clipboard/Clipboard.js");require("../../ui/DatePicker/DatePicker.js");require("../../ui/Dialog/Dialog.js");require("../../ui/Drawer/Drawer.js");const b=require("../../ui/Field/Field.js");require("../../ui/IconButton/iconButton.recipe.js");require("../../ui/NumberInput/NumberInput.js");require("../../ui/PinInput/PinInput.js");require("../../ui/Popover/Popover.js");require("tailwind-merge");require("../../ui/SegmentGroup/SegmentGroup.js");require("../../ui/Select/Select.js");require("../../ui/Table/Table.js");require("../../ui/Tabs/Tabs.js");const y=require("./utils.js"),s=[{value:"GCASH",label:"GCash",image:m},{value:"MAYA_APP",label:"Maya App",image:t},{value:"MAYA",label:"Maya",image:t},{value:"QRPH",label:"QRPH",image:g},{value:"ONLINE_BANK",label:"Online Bank",image:x},{value:"INSTAPAY",label:"Instapay",image:v}];function j(i){var n;const l=(n=i.options)!=null&&n.length?s.filter(r=>{var a;return(a=i.options)==null?void 0:a.includes(r.value)}):s,[c,o]=d.useControllableState({value:i.value,defaultValue:i.defaultValue??l[0].value,onChange:i.onChange});return e.jsxs("div",{className:i.className,children:[e.jsx(b.Label,{asChild:!0,children:e.jsx("div",{children:"Select your payment method"})}),e.jsx(u.Group,{value:[c],onValueChange:r=>{const a=r.at(-1);a&&o(y.PaymentMethodDefinition.parse(a))},className:"grid grid-cols-2 gap-x-4 gap-y-3",children:l.map(r=>e.jsxs(u.Root,{value:r.value,className:"border-gray-200 ui-checked:border-gray-900 ui-checked:outline-solid ui-checked:outline-gray-900 flex cursor-pointer rounded-xl border p-xl ui-checked:outline",children:[e.jsx("div",{className:"grow",children:e.jsx(q,{src:r.image,alt:"",width:200,height:40,className:"h-5 w-auto lg:h-8",draggable:!1})}),e.jsx(u.Control,{className:"shrink-0",children:e.jsx(u.Indicator,{asChild:!0,children:e.jsx(h.CheckIcon,{})})}),e.jsx(u.HiddenInput,{})]},r.value))})]})}exports.PaymentMethods=j;
@@ -9,24 +9,25 @@ import "../../utils/parseDecimal.mjs";
9
9
  import "../../utils/getLocaleInfo.mjs";
10
10
  import "../../utils/getQueryClient.mjs";
11
11
  import "../../utils/isMobile.mjs";
12
- import { useControllableState as d } from "../../client/hooks/useControllableState.mjs";
12
+ import { useControllableState as s } from "../../client/hooks/useControllableState.mjs";
13
13
  import "lodash-es";
14
14
  import "react";
15
15
  import "@opexa/portal-sdk-core/object-id";
16
16
  import "../../client/hooks/useGlobalStore.mjs";
17
17
  import "../../client/hooks/useInfiniteQueryHelper.mjs";
18
18
  import "usehooks-ts";
19
- import { CheckIcon as s } from "../../icons/CheckIcon.mjs";
19
+ import { CheckIcon as d } from "../../icons/CheckIcon.mjs";
20
20
  import h from "../../images/QRPh.png.mjs";
21
21
  import g from "../../images/gcash.png.mjs";
22
+ import f from "../../images/instapay.png.mjs";
22
23
  import l from "../../images/maya.png.mjs";
23
- import f from "../../images/online-bank.png.mjs";
24
+ import v from "../../images/online-bank.png.mjs";
24
25
  import "../../ui/AlertDialog/AlertDialog.mjs";
25
26
  import "../../ui/Avatar/Avatar.mjs";
26
27
  import "../../ui/Badge/Badge.mjs";
27
28
  import "@ark-ui/react";
28
29
  import "../../ui/Button/button.recipe.mjs";
29
- import { Group as v, Root as b, Control as y, Indicator as N, HiddenInput as C } from "../../ui/Checkbox/Checkbox.mjs";
30
+ import { Group as y, Root as b, Control as N, Indicator as A, HiddenInput as C } from "../../ui/Checkbox/Checkbox.mjs";
30
31
  import "../../ui/Clipboard/Clipboard.mjs";
31
32
  import "../../ui/DatePicker/DatePicker.mjs";
32
33
  import "../../ui/Dialog/Dialog.mjs";
@@ -41,8 +42,8 @@ import "../../ui/SegmentGroup/SegmentGroup.mjs";
41
42
  import "../../ui/Select/Select.mjs";
42
43
  import "../../ui/Table/Table.mjs";
43
44
  import "../../ui/Tabs/Tabs.mjs";
44
- import { PaymentMethodDefinition as A } from "./utils.mjs";
45
- const n = [
45
+ import { PaymentMethodDefinition as I } from "./utils.mjs";
46
+ const p = [
46
47
  {
47
48
  value: "GCASH",
48
49
  label: "GCash",
@@ -66,31 +67,36 @@ const n = [
66
67
  {
67
68
  value: "ONLINE_BANK",
68
69
  label: "Online Bank",
70
+ image: v
71
+ },
72
+ {
73
+ value: "INSTAPAY",
74
+ label: "Instapay",
69
75
  image: f
70
76
  }
71
77
  ];
72
- function he(i) {
73
- var a;
74
- const t = (a = i.options) != null && a.length ? n.filter((r) => {
78
+ function fe(i) {
79
+ var t;
80
+ const a = (t = i.options) != null && t.length ? p.filter((r) => {
75
81
  var o;
76
82
  return (o = i.options) == null ? void 0 : o.includes(r.value);
77
- }) : n, [p, u] = d({
83
+ }) : p, [n, u] = s({
78
84
  value: i.value,
79
- defaultValue: i.defaultValue ?? t[0].value,
85
+ defaultValue: i.defaultValue ?? a[0].value,
80
86
  onChange: i.onChange
81
87
  });
82
88
  return /* @__PURE__ */ m("div", { className: i.className, children: [
83
89
  /* @__PURE__ */ e(k, { asChild: !0, children: /* @__PURE__ */ e("div", { children: "Select your payment method" }) }),
84
90
  /* @__PURE__ */ e(
85
- v,
91
+ y,
86
92
  {
87
- value: [p],
93
+ value: [n],
88
94
  onValueChange: (r) => {
89
95
  const o = r.at(-1);
90
- o && u(A.parse(o));
96
+ o && u(I.parse(o));
91
97
  },
92
98
  className: "grid grid-cols-2 gap-x-4 gap-y-3",
93
- children: t.map((r) => /* @__PURE__ */ m(
99
+ children: a.map((r) => /* @__PURE__ */ m(
94
100
  b,
95
101
  {
96
102
  value: r.value,
@@ -107,7 +113,7 @@ function he(i) {
107
113
  draggable: !1
108
114
  }
109
115
  ) }),
110
- /* @__PURE__ */ e(y, { className: "shrink-0", children: /* @__PURE__ */ e(N, { asChild: !0, children: /* @__PURE__ */ e(s, {}) }) }),
116
+ /* @__PURE__ */ e(N, { className: "shrink-0", children: /* @__PURE__ */ e(A, { asChild: !0, children: /* @__PURE__ */ e(d, {}) }) }),
111
117
  /* @__PURE__ */ e(C, {})
112
118
  ]
113
119
  },
@@ -118,5 +124,5 @@ function he(i) {
118
124
  ] });
119
125
  }
120
126
  export {
121
- he as PaymentMethods
127
+ fe as PaymentMethods
122
128
  };
@@ -0,0 +1 @@
1
+ export declare function GCashWithdrawal(): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),S=require("@hookform/resolvers/zod"),v=require("react"),x=require("react-hook-form"),n=require("zod"),y=require("zustand/shallow");require("@opexa/portal-sdk-core");require("@tanstack/react-query");require("tiny-invariant");require("../../../../constants/index.js");require("../../../../utils/capitalize.js");const c=require("../../../../utils/parseDecimal.js");require("../../../../utils/getLocaleInfo.js");require("../../../../utils/getQueryClient.js");require("../../../../utils/isMobile.js");require("lodash-es");require("@opexa/portal-sdk-core/object-id");const C=require("../../../../client/hooks/useCreateGCashWithdrawalMutation.js"),I=require("../../../../client/hooks/useGlobalStore.js");require("../../../../client/hooks/useInfiniteQueryHelper.js");const P=require("../../../../client/hooks/useLocaleInfo.js"),D=require("../../../../client/hooks/useMobileNumberParser.js");require("usehooks-ts");const M=require("../../../../client/hooks/usePaymentSettingsQuery.js"),g=require("../../../../client/utils/toaster.js"),W=require("../../../../icons/ChevronDownIcon.js"),z=require("../../../../icons/ChevronUpIcon.js"),R=require("../../../../icons/SpinnerIcon.js");require("../../../../ui/AlertDialog/AlertDialog.js");require("../../../../ui/Avatar/Avatar.js");require("../../../../ui/Badge/Badge.js");const T=require("../../../../ui/Button/Button.js");require("../../../../ui/Checkbox/Checkbox.js");require("../../../../ui/Clipboard/Clipboard.js");require("../../../../ui/DatePicker/DatePicker.js");require("../../../../ui/Dialog/Dialog.js");require("../../../../ui/Drawer/Drawer.js");const t=require("../../../../ui/Field/Field.js");require("@ark-ui/react");require("../../../../ui/IconButton/iconButton.recipe.js");const a=require("../../../../ui/NumberInput/NumberInput.js");require("../../../../ui/PinInput/PinInput.js");require("../../../../ui/Popover/Popover.js");require("tailwind-merge");require("../../../../ui/SegmentGroup/SegmentGroup.js");require("../../../../ui/Select/Select.js");require("../../../../ui/Table/Table.js");require("../../../../ui/Tabs/Tabs.js");const G=require("../../AmountChoices.js");function L(){var q,p;const f=I.useGlobalStore(y.useShallow(s=>({depositWithdrawal:s.depositWithdrawal}))),b=P.useLocaleInfo(),j=D.useMobileNumberParser(),d=C.useCreateGCashWithdrawalMutation({onSuccess(){r.reset(),f.depositWithdrawal.setOpen(!1),g.toaster.success({description:"Withdrawal request submitted successfully."})},onError(s){g.toaster.error({description:s.message})}}),h=M.usePaymentSettingsQuery().data,i=h==null?void 0:h.gcashWithdrawalGatewaySettings,o=c.parseDecimal(i==null?void 0:i.minimumAmount,0),m=c.parseDecimal(i==null?void 0:i.maximumAmount,0),w=n.z.object({amount:n.z.string().superRefine((s,u)=>{const l=c.parseDecimal(s,0);l<o&&u.addIssue({type:"number",code:n.z.ZodIssueCode.too_small,inclusive:!0,minimum:o,message:`Minimum amount is ${o.toLocaleString()}`}),l>m&&u.addIssue({type:"number",code:n.z.ZodIssueCode.too_big,inclusive:!0,maximum:m,message:`Maximum amount is ${m.toLocaleString()}`})}),password:n.z.string().min(8,"Password must be 8 or more characters").max(64,"Password must be not be more than 64 characters"),mobileNumber:n.z.string().regex(b.mobileNumber.pattern,"Invalid mobile number")}),r=x.useForm({mode:"all",resolver:S.zodResolver(w),defaultValues:{amount:"0",password:"",mobileNumber:""}});v.useEffect(()=>{o&&r.reset({amount:o.toString(),password:"",mobileNumber:""})},[r,o]);const N=r.handleSubmit(async s=>{d.mutate({amount:s.amount,recipientMobileNumber:j.format(s.mobileNumber),transactionPassword:s.password})});return e.jsxs("form",{onSubmit:N,noValidate:!0,autoComplete:"off",children:[e.jsxs(t.Root,{invalid:!!r.formState.errors.mobileNumber,children:[e.jsx(t.Label,{children:"Mobile Number"}),e.jsxs("div",{className:"relative",children:[e.jsx(b.country.flag,{className:"pointer-events-none absolute left-3.5 top-1/2 size-5 -translate-y-1/2"}),e.jsx(t.Input,{className:"pl-10.5",...r.register("mobileNumber")})]}),e.jsx(t.ErrorText,{children:(q=r.formState.errors.mobileNumber)==null?void 0:q.message})]}),e.jsx(x.Controller,{control:r.control,name:"amount",render:s=>{var u;return e.jsxs(t.Root,{invalid:!!r.formState.errors.amount,className:"mt-3xl",children:[e.jsxs(a.Root,{min:0,step:1,value:s.field.value,onValueChange:l=>{s.field.onChange(l.value)},formatOptions:{maximumFractionDigits:2,minimumFractionDigits:0},allowMouseWheel:!0,children:[e.jsx(a.Label,{children:"Enter amount you want to withdraw"}),e.jsxs(a.Control,{children:[e.jsx(a.Input,{}),e.jsx(a.IncrementTrigger,{children:e.jsx(z.ChevronUpIcon,{})}),e.jsx(a.DecrementTrigger,{children:e.jsx(W.ChevronDownIcon,{})})]})]}),e.jsx(t.ErrorText,{children:(u=r.formState.errors.amount)==null?void 0:u.message})]})}}),e.jsx(G.AmountChoices,{value:c.parseDecimal(r.watch("amount"),0),onChange:s=>{r.setValue("amount",s.toString(),{shouldTouch:!0,shouldDirty:!0,shouldValidate:!0})},min:o,max:m,className:"mt-xl"}),e.jsxs(t.Root,{className:"mt-3xl",invalid:!!r.formState.errors.password,children:[e.jsx(t.Label,{children:"Password"}),e.jsx(t.Input,{type:"password",...r.register("password")}),e.jsx(t.ErrorText,{children:(p=r.formState.errors.password)==null?void 0:p.message})]}),e.jsxs("p",{className:"mt-4xl text-xs",children:["Upon clicking the deposit button, you agree to the"," ",e.jsx("button",{type:"button",className:"underline underline-offset-2",children:"Terms of Use and Privacy Policy"}),"."]}),e.jsx(T.Button,{type:"submit",className:"mt-4.5",disabled:d.isPending,children:d.isPending?e.jsxs(e.Fragment,{children:[e.jsx(R.SpinnerIcon,{}),"Processing..."]}):"Deposit"})]})}exports.GCashWithdrawal=L;
@@ -0,0 +1,205 @@
1
+ import { jsxs as t, jsx as e, Fragment as I } from "react/jsx-runtime";
2
+ import { zodResolver as P } from "@hookform/resolvers/zod";
3
+ import { useEffect as W } from "react";
4
+ import { useForm as M, Controller as D } from "react-hook-form";
5
+ import { z as s } from "zod";
6
+ import { useShallow as L } from "zustand/shallow";
7
+ import "@opexa/portal-sdk-core";
8
+ import "@tanstack/react-query";
9
+ import "tiny-invariant";
10
+ import "../../../../constants/index.mjs";
11
+ import "../../../../utils/capitalize.mjs";
12
+ import { parseDecimal as u } from "../../../../utils/parseDecimal.mjs";
13
+ import "../../../../utils/getLocaleInfo.mjs";
14
+ import "../../../../utils/getQueryClient.mjs";
15
+ import "../../../../utils/isMobile.mjs";
16
+ import "lodash-es";
17
+ import "@opexa/portal-sdk-core/object-id";
18
+ import { useCreateGCashWithdrawalMutation as A } from "../../../../client/hooks/useCreateGCashWithdrawalMutation.mjs";
19
+ import { useGlobalStore as R } from "../../../../client/hooks/useGlobalStore.mjs";
20
+ import "../../../../client/hooks/useInfiniteQueryHelper.mjs";
21
+ import { useLocaleInfo as T } from "../../../../client/hooks/useLocaleInfo.mjs";
22
+ import { useMobileNumberParser as V } from "../../../../client/hooks/useMobileNumberParser.mjs";
23
+ import "usehooks-ts";
24
+ import { usePaymentSettingsQuery as $ } from "../../../../client/hooks/usePaymentSettingsQuery.mjs";
25
+ import { toaster as w } from "../../../../client/utils/toaster.mjs";
26
+ import { ChevronDownIcon as E } from "../../../../icons/ChevronDownIcon.mjs";
27
+ import { ChevronUpIcon as F } from "../../../../icons/ChevronUpIcon.mjs";
28
+ import { SpinnerIcon as G } from "../../../../icons/SpinnerIcon.mjs";
29
+ import "../../../../ui/AlertDialog/AlertDialog.mjs";
30
+ import "../../../../ui/Avatar/Avatar.mjs";
31
+ import "../../../../ui/Badge/Badge.mjs";
32
+ import { Button as j } from "../../../../ui/Button/Button.mjs";
33
+ import "../../../../ui/Checkbox/Checkbox.mjs";
34
+ import "../../../../ui/Clipboard/Clipboard.mjs";
35
+ import "../../../../ui/DatePicker/DatePicker.mjs";
36
+ import "../../../../ui/Dialog/Dialog.mjs";
37
+ import "../../../../ui/Drawer/Drawer.mjs";
38
+ import { Root as d, Label as N, Input as v, ErrorText as f } from "../../../../ui/Field/Field.mjs";
39
+ import "@ark-ui/react";
40
+ import "../../../../ui/IconButton/iconButton.recipe.mjs";
41
+ import { Root as z, Label as Q, Control as U, Input as O, IncrementTrigger as Z, DecrementTrigger as _ } from "../../../../ui/NumberInput/NumberInput.mjs";
42
+ import "../../../../ui/PinInput/PinInput.mjs";
43
+ import "../../../../ui/Popover/Popover.mjs";
44
+ import "tailwind-merge";
45
+ import "../../../../ui/SegmentGroup/SegmentGroup.mjs";
46
+ import "../../../../ui/Select/Select.mjs";
47
+ import "../../../../ui/Table/Table.mjs";
48
+ import "../../../../ui/Tabs/Tabs.mjs";
49
+ import { AmountChoices as k } from "../../AmountChoices.mjs";
50
+ function Oe() {
51
+ var b, g;
52
+ const S = R(
53
+ L((r) => ({
54
+ depositWithdrawal: r.depositWithdrawal
55
+ }))
56
+ ), h = T(), x = V(), p = A({
57
+ onSuccess() {
58
+ o.reset(), S.depositWithdrawal.setOpen(!1), w.success({
59
+ description: "Withdrawal request submitted successfully."
60
+ });
61
+ },
62
+ onError(r) {
63
+ w.error({
64
+ description: r.message
65
+ });
66
+ }
67
+ }), c = $().data, i = c == null ? void 0 : c.gcashWithdrawalGatewaySettings, m = u(i == null ? void 0 : i.minimumAmount, 0), a = u(i == null ? void 0 : i.maximumAmount, 0), y = s.object({
68
+ amount: s.string().superRefine((r, n) => {
69
+ const l = u(r, 0);
70
+ l < m && n.addIssue({
71
+ type: "number",
72
+ code: s.ZodIssueCode.too_small,
73
+ inclusive: !0,
74
+ minimum: m,
75
+ message: `Minimum amount is ${m.toLocaleString()}`
76
+ }), l > a && n.addIssue({
77
+ type: "number",
78
+ code: s.ZodIssueCode.too_big,
79
+ inclusive: !0,
80
+ maximum: a,
81
+ message: `Maximum amount is ${a.toLocaleString()}`
82
+ });
83
+ }),
84
+ password: s.string().min(8, "Password must be 8 or more characters").max(64, "Password must be not be more than 64 characters"),
85
+ mobileNumber: s.string().regex(h.mobileNumber.pattern, "Invalid mobile number")
86
+ }), o = M({
87
+ mode: "all",
88
+ resolver: P(y),
89
+ defaultValues: {
90
+ amount: "0",
91
+ password: "",
92
+ mobileNumber: ""
93
+ }
94
+ });
95
+ W(() => {
96
+ m && o.reset({
97
+ amount: m.toString(),
98
+ password: "",
99
+ mobileNumber: ""
100
+ });
101
+ }, [o, m]);
102
+ const C = o.handleSubmit(async (r) => {
103
+ p.mutate({
104
+ amount: r.amount,
105
+ recipientMobileNumber: x.format(r.mobileNumber),
106
+ transactionPassword: r.password
107
+ });
108
+ });
109
+ return /* @__PURE__ */ t("form", { onSubmit: C, noValidate: !0, autoComplete: "off", children: [
110
+ /* @__PURE__ */ t(d, { invalid: !!o.formState.errors.mobileNumber, children: [
111
+ /* @__PURE__ */ e(N, { children: "Mobile Number" }),
112
+ /* @__PURE__ */ t("div", { className: "relative", children: [
113
+ /* @__PURE__ */ e(h.country.flag, { className: "pointer-events-none absolute left-3.5 top-1/2 size-5 -translate-y-1/2" }),
114
+ /* @__PURE__ */ e(v, { className: "pl-10.5", ...o.register("mobileNumber") })
115
+ ] }),
116
+ /* @__PURE__ */ e(f, { children: (b = o.formState.errors.mobileNumber) == null ? void 0 : b.message })
117
+ ] }),
118
+ /* @__PURE__ */ e(
119
+ D,
120
+ {
121
+ control: o.control,
122
+ name: "amount",
123
+ render: (r) => {
124
+ var n;
125
+ return /* @__PURE__ */ t(
126
+ d,
127
+ {
128
+ invalid: !!o.formState.errors.amount,
129
+ className: "mt-3xl",
130
+ children: [
131
+ /* @__PURE__ */ t(
132
+ z,
133
+ {
134
+ min: 0,
135
+ step: 1,
136
+ value: r.field.value,
137
+ onValueChange: (l) => {
138
+ r.field.onChange(l.value);
139
+ },
140
+ formatOptions: {
141
+ maximumFractionDigits: 2,
142
+ minimumFractionDigits: 0
143
+ },
144
+ allowMouseWheel: !0,
145
+ children: [
146
+ /* @__PURE__ */ e(Q, { children: "Enter amount you want to withdraw" }),
147
+ /* @__PURE__ */ t(U, { children: [
148
+ /* @__PURE__ */ e(O, {}),
149
+ /* @__PURE__ */ e(Z, { children: /* @__PURE__ */ e(F, {}) }),
150
+ /* @__PURE__ */ e(_, { children: /* @__PURE__ */ e(E, {}) })
151
+ ] })
152
+ ]
153
+ }
154
+ ),
155
+ /* @__PURE__ */ e(f, { children: (n = o.formState.errors.amount) == null ? void 0 : n.message })
156
+ ]
157
+ }
158
+ );
159
+ }
160
+ }
161
+ ),
162
+ /* @__PURE__ */ e(
163
+ k,
164
+ {
165
+ value: u(o.watch("amount"), 0),
166
+ onChange: (r) => {
167
+ o.setValue("amount", r.toString(), {
168
+ shouldTouch: !0,
169
+ shouldDirty: !0,
170
+ shouldValidate: !0
171
+ });
172
+ },
173
+ min: m,
174
+ max: a,
175
+ className: "mt-xl"
176
+ }
177
+ ),
178
+ /* @__PURE__ */ t(d, { className: "mt-3xl", invalid: !!o.formState.errors.password, children: [
179
+ /* @__PURE__ */ e(N, { children: "Password" }),
180
+ /* @__PURE__ */ e(v, { type: "password", ...o.register("password") }),
181
+ /* @__PURE__ */ e(f, { children: (g = o.formState.errors.password) == null ? void 0 : g.message })
182
+ ] }),
183
+ /* @__PURE__ */ t("p", { className: "mt-4xl text-xs", children: [
184
+ "Upon clicking the deposit button, you agree to the",
185
+ " ",
186
+ /* @__PURE__ */ e("button", { type: "button", className: "underline underline-offset-2", children: "Terms of Use and Privacy Policy" }),
187
+ "."
188
+ ] }),
189
+ /* @__PURE__ */ e(
190
+ j,
191
+ {
192
+ type: "submit",
193
+ className: "mt-4.5",
194
+ disabled: p.isPending,
195
+ children: p.isPending ? /* @__PURE__ */ t(I, { children: [
196
+ /* @__PURE__ */ e(G, {}),
197
+ "Processing..."
198
+ ] }) : "Deposit"
199
+ }
200
+ )
201
+ ] });
202
+ }
203
+ export {
204
+ Oe as GCashWithdrawal
205
+ };
@@ -0,0 +1 @@
1
+ export declare function InstapayWithdrawal(): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),v=require("@ark-ui/react"),k=require("@hookform/resolvers/zod"),b=require("react"),j=require("react-hook-form"),c=require("zod"),N=require("zustand/shallow");require("@opexa/portal-sdk-core");require("@tanstack/react-query");require("tiny-invariant");require("../../../../constants/index.js");require("../../../../utils/capitalize.js");const h=require("../../../../utils/parseDecimal.js");require("../../../../utils/getLocaleInfo.js");require("../../../../utils/getQueryClient.js");require("../../../../utils/isMobile.js");require("lodash-es");require("@opexa/portal-sdk-core/object-id");const T=require("../../../../client/hooks/useCreateInstapayWithdrawalMutation.js"),D=require("../../../../client/hooks/useGlobalStore.js");require("../../../../client/hooks/useInfiniteQueryHelper.js");const P=require("../../../../client/hooks/useInstapayBankListQuery.js");require("usehooks-ts");const W=require("../../../../client/hooks/usePaymentSettingsQuery.js"),f=require("../../../../client/utils/toaster.js"),z=require("../../../../icons/CheckIcon.js"),w=require("../../../../icons/ChevronDownIcon.js"),L=require("../../../../icons/ChevronUpIcon.js"),R=require("../../../../icons/SpinnerIcon.js");require("../../../../ui/AlertDialog/AlertDialog.js");require("../../../../ui/Avatar/Avatar.js");require("../../../../ui/Badge/Badge.js");const V=require("../../../../ui/Button/Button.js");require("../../../../ui/Checkbox/Checkbox.js");require("../../../../ui/Clipboard/Clipboard.js");require("../../../../ui/DatePicker/DatePicker.js");require("../../../../ui/Dialog/Dialog.js");require("../../../../ui/Drawer/Drawer.js");const o=require("../../../../ui/Field/Field.js");require("../../../../ui/IconButton/iconButton.recipe.js");const m=require("../../../../ui/NumberInput/NumberInput.js");require("../../../../ui/PinInput/PinInput.js");require("../../../../ui/Popover/Popover.js");require("tailwind-merge");require("../../../../ui/SegmentGroup/SegmentGroup.js");const s=require("../../../../ui/Select/Select.js");require("../../../../ui/Table/Table.js");require("../../../../ui/Tabs/Tabs.js");const B=require("../../AmountChoices.js");function E(){var g,C;const y=D.useGlobalStore(N.useShallow(r=>({depositWithdrawal:r.depositWithdrawal}))),x=T.useCreateInstapayWithdrawalMutation({onSuccess(){t.reset(),y.depositWithdrawal.setOpen(!1),f.toaster.success({description:"Withdrawal request submitted successfully."})},onError(r){f.toaster.error({description:r.message})}}),a=P.useInstapayBankListQuery().data,p=W.usePaymentSettingsQuery().data,l=p==null?void 0:p.instapayWithdrawalGatewaySettings,u=h.parseDecimal(l==null?void 0:l.minimumAmount,0),d=h.parseDecimal(l==null?void 0:l.maximumAmount,0),I=c.z.object({amount:c.z.string().superRefine((r,i)=>{const n=h.parseDecimal(r,0);n<u&&i.addIssue({type:"number",code:c.z.ZodIssueCode.too_small,inclusive:!0,minimum:u,message:`Minimum amount is ${u.toLocaleString()}`}),n>d&&i.addIssue({type:"number",code:c.z.ZodIssueCode.too_big,inclusive:!0,maximum:d,message:`Maximum amount is ${d.toLocaleString()}`})}),password:c.z.string().min(8,"Password must be 8 or more characters").max(64,"Password must be not be more than 64 characters"),accountNumber:c.z.string().min(1).trim(),bankCode:c.z.string().min(1,"Bank is required").trim()}),t=j.useForm({mode:"all",resolver:k.zodResolver(I),defaultValues:{amount:"0",password:"",accountNumber:"",bankCode:""}});b.useEffect(()=>{u&&t.reset({amount:u.toString(),bankCode:t.getValues("bankCode"),password:"",accountNumber:""})},[t,u]),b.useEffect(()=>{a!=null&&a.length&&t.reset({amount:t.getValues("amount"),bankCode:a[0].code,password:"",accountNumber:""})},[t,a]);const S=t.handleSubmit(async r=>{x.mutate({amount:r.amount,transactionPassword:r.password,accountNumber:r.accountNumber,bankCode:r.bankCode})}),q=b.useMemo(()=>v.createListCollection({items:a??[],itemToValue:r=>r.code,itemToString:r=>r.name}),[a]);return console.log(q.items),e.jsxs("form",{onSubmit:S,noValidate:!0,autoComplete:"off",children:[e.jsx(j.Controller,{control:t.control,name:"bankCode",render:r=>{var i;return e.jsxs(o.Root,{invalid:!!t.formState.errors.bankCode,children:[e.jsxs(s.Root,{collection:q,positioning:{sameWidth:!0},value:r.field.value?[r.field.value]:[],onValueChange:n=>{r.field.onChange(n.value.at(0)??"")},children:[e.jsx(s.Label,{children:"Bank"}),e.jsx(s.Control,{children:e.jsxs(s.Trigger,{children:[e.jsx(s.ValueText,{}),e.jsx(s.Indicator,{asChild:!0,children:e.jsx(w.ChevronDownIcon,{})})]})}),e.jsx(s.Positioner,{children:e.jsx(s.Content,{children:e.jsx(s.ItemGroup,{children:q.items.map(n=>e.jsxs(s.Item,{item:n,children:[e.jsx(s.ItemText,{children:n.name}),e.jsx(s.ItemIndicator,{asChild:!0,children:e.jsx(z.CheckIcon,{})})]},n.id))})})})]}),e.jsx(o.ErrorText,{children:(i=t.formState.errors.bankCode)==null?void 0:i.message})]})}}),e.jsxs(o.Root,{invalid:!!t.formState.errors.accountNumber,className:"mt-3xl",children:[e.jsx(o.Label,{children:"Bank account number"}),e.jsx(o.Input,{...t.register("accountNumber")}),e.jsx(o.ErrorText,{children:(g=t.formState.errors.accountNumber)==null?void 0:g.message})]}),e.jsx(j.Controller,{control:t.control,name:"amount",render:r=>{var i;return e.jsxs(o.Root,{invalid:!!t.formState.errors.amount,className:"mt-3xl",children:[e.jsxs(m.Root,{min:0,step:1,value:r.field.value,onValueChange:n=>{r.field.onChange(n.value)},formatOptions:{maximumFractionDigits:2,minimumFractionDigits:0},allowMouseWheel:!0,children:[e.jsx(m.Label,{children:"Enter amount you want to withdraw"}),e.jsxs(m.Control,{children:[e.jsx(m.Input,{}),e.jsx(m.IncrementTrigger,{children:e.jsx(L.ChevronUpIcon,{})}),e.jsx(m.DecrementTrigger,{children:e.jsx(w.ChevronDownIcon,{})})]})]}),e.jsx(o.ErrorText,{children:(i=t.formState.errors.amount)==null?void 0:i.message})]})}}),e.jsx(B.AmountChoices,{value:h.parseDecimal(t.watch("amount"),0),onChange:r=>{t.setValue("amount",r.toString(),{shouldTouch:!0,shouldDirty:!0,shouldValidate:!0})},min:u,max:d,className:"mt-xl"}),e.jsxs(o.Root,{className:"mt-3xl",invalid:!!t.formState.errors.password,children:[e.jsx(o.Label,{children:"Password"}),e.jsx(o.Input,{type:"password",...t.register("password")}),e.jsx(o.ErrorText,{children:(C=t.formState.errors.password)==null?void 0:C.message})]}),e.jsxs("p",{className:"mt-4xl text-xs",children:["Upon clicking the deposit button, you agree to the"," ",e.jsx("button",{type:"button",className:"underline underline-offset-2",children:"Terms of Use and Privacy Policy"}),"."]}),e.jsx(V.Button,{type:"submit",className:"mt-4.5",disabled:x.isPending,children:x.isPending?e.jsxs(e.Fragment,{children:[e.jsx(R.SpinnerIcon,{}),"Processing..."]}):"Deposit"})]})}exports.InstapayWithdrawal=E;