@splpi/estore-shared-components 7.0.2 → 7.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +59 -1
- package/dist/index.d.ts +59 -1
- package/dist/index.js +1225 -369
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1221 -344
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -256,6 +256,20 @@ var markOcrApplied = (section) => {
|
|
|
256
256
|
}
|
|
257
257
|
return true;
|
|
258
258
|
};
|
|
259
|
+
var saveOcrResult = (value) => {
|
|
260
|
+
if (typeof window === "undefined") return;
|
|
261
|
+
try {
|
|
262
|
+
localStorage.setItem(OCR_STORAGE_KEY, JSON.stringify(value));
|
|
263
|
+
} catch {
|
|
264
|
+
}
|
|
265
|
+
};
|
|
266
|
+
var clearOcrResult = () => {
|
|
267
|
+
if (typeof window === "undefined") return;
|
|
268
|
+
try {
|
|
269
|
+
localStorage.removeItem(OCR_STORAGE_KEY);
|
|
270
|
+
} catch {
|
|
271
|
+
}
|
|
272
|
+
};
|
|
259
273
|
|
|
260
274
|
// src/NewSaleForm/LifePlanApplication1.tsx
|
|
261
275
|
import { useEffect, useState as useState2 } from "react";
|
|
@@ -2140,6 +2154,7 @@ var InfoCard = ({
|
|
|
2140
2154
|
}
|
|
2141
2155
|
);
|
|
2142
2156
|
};
|
|
2157
|
+
var info_card_default = InfoCard;
|
|
2143
2158
|
|
|
2144
2159
|
// src/NewSaleForm/ui/input-card-accordion.tsx
|
|
2145
2160
|
import { Box as Box8, Flex as Flex3, Text as Text5 } from "@chakra-ui/react";
|
|
@@ -3581,22 +3596,879 @@ var LifePlanApplicationStepWrapper = (props) => {
|
|
|
3581
3596
|
};
|
|
3582
3597
|
var LifePlanApplicationStepWrapper_default = LifePlanApplicationStepWrapper;
|
|
3583
3598
|
|
|
3599
|
+
// src/hooks/useOcr.ts
|
|
3600
|
+
import { useCallback as useCallback2, useState as useState12 } from "react";
|
|
3601
|
+
function useOcr(scanIdFn) {
|
|
3602
|
+
const [data, setData] = useState12(null);
|
|
3603
|
+
const [loading, setLoading] = useState12(false);
|
|
3604
|
+
const [error, setError] = useState12(null);
|
|
3605
|
+
const scanId = useCallback2(
|
|
3606
|
+
async (file) => {
|
|
3607
|
+
setLoading(true);
|
|
3608
|
+
setError(null);
|
|
3609
|
+
try {
|
|
3610
|
+
clearOcrResult();
|
|
3611
|
+
const result = await scanIdFn(file);
|
|
3612
|
+
saveOcrResult(result);
|
|
3613
|
+
setData(result);
|
|
3614
|
+
return result;
|
|
3615
|
+
} catch (err) {
|
|
3616
|
+
setError(err instanceof Error ? err.message : "OCR failed");
|
|
3617
|
+
throw err;
|
|
3618
|
+
} finally {
|
|
3619
|
+
setLoading(false);
|
|
3620
|
+
}
|
|
3621
|
+
},
|
|
3622
|
+
[scanIdFn]
|
|
3623
|
+
);
|
|
3624
|
+
return { data, loading, error, scanId };
|
|
3625
|
+
}
|
|
3626
|
+
|
|
3627
|
+
// src/GetStarted/GetStarted.tsx
|
|
3628
|
+
import {
|
|
3629
|
+
BaseText,
|
|
3630
|
+
Body as Body5,
|
|
3631
|
+
CancelButton as CancelButton2,
|
|
3632
|
+
H3 as H32,
|
|
3633
|
+
NextButton,
|
|
3634
|
+
PrimaryMdButton as PrimaryMdButton3
|
|
3635
|
+
} from "st-peter-ui";
|
|
3636
|
+
import {
|
|
3637
|
+
Box as Box17,
|
|
3638
|
+
VStack as VStack7,
|
|
3639
|
+
Dialog as Dialog3,
|
|
3640
|
+
Button as Button3,
|
|
3641
|
+
Portal as Portal4,
|
|
3642
|
+
CloseButton as CloseButton3,
|
|
3643
|
+
Input as Input4
|
|
3644
|
+
} from "@chakra-ui/react";
|
|
3645
|
+
import { useState as useState14 } from "react";
|
|
3646
|
+
import { LuIdCard, LuSignature } from "react-icons/lu";
|
|
3647
|
+
|
|
3648
|
+
// src/GetStarted/Container.tsx
|
|
3649
|
+
import "react";
|
|
3650
|
+
import { Box as Box15 } from "@chakra-ui/react";
|
|
3651
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
3652
|
+
var Container = ({ children }) => {
|
|
3653
|
+
return /* @__PURE__ */ jsx18(
|
|
3654
|
+
Box15,
|
|
3655
|
+
{
|
|
3656
|
+
px: { base: 8, md: 8 },
|
|
3657
|
+
mt: { base: 16, md: 32 },
|
|
3658
|
+
mb: { base: 32, md: 16 },
|
|
3659
|
+
maxW: "7xl",
|
|
3660
|
+
mx: "auto",
|
|
3661
|
+
children
|
|
3662
|
+
}
|
|
3663
|
+
);
|
|
3664
|
+
};
|
|
3665
|
+
var Container_default = Container;
|
|
3666
|
+
|
|
3667
|
+
// src/GetStarted/DocumentUploadCard.tsx
|
|
3668
|
+
import { useEffect as useEffect7, useRef as useRef2, useState as useState13 } from "react";
|
|
3669
|
+
import { Box as Box16, Flex as Flex8, Spinner, Text as Text9, useBreakpointValue as useBreakpointValue2 } from "@chakra-ui/react";
|
|
3670
|
+
import {
|
|
3671
|
+
LuUpload,
|
|
3672
|
+
LuCamera,
|
|
3673
|
+
LuFolderOpen,
|
|
3674
|
+
LuFileText,
|
|
3675
|
+
LuCheck as LuCheck3,
|
|
3676
|
+
LuTriangleAlert,
|
|
3677
|
+
LuRefreshCw,
|
|
3678
|
+
LuTrash2,
|
|
3679
|
+
LuReplace,
|
|
3680
|
+
LuSparkles
|
|
3681
|
+
} from "react-icons/lu";
|
|
3682
|
+
import { Fragment as Fragment3, jsx as jsx19, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
3683
|
+
var PRIMARY2 = "var(--chakra-colors-primary)";
|
|
3684
|
+
var PRIMARY_SOFT = "var(--chakra-colors-primary-disabled)";
|
|
3685
|
+
var defaultNotifyError = (message) => {
|
|
3686
|
+
console.error(message);
|
|
3687
|
+
};
|
|
3688
|
+
var formatBytes = (bytes) => {
|
|
3689
|
+
if (!bytes) return "";
|
|
3690
|
+
if (bytes < 1024) return `${bytes} B`;
|
|
3691
|
+
if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(0)} KB`;
|
|
3692
|
+
return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
|
|
3693
|
+
};
|
|
3694
|
+
var validate = (file, config) => {
|
|
3695
|
+
const accepted = config.accept.split(",").map((s) => s.trim());
|
|
3696
|
+
const okType = accepted.includes(file.type) || accepted.some(
|
|
3697
|
+
(a) => a.endsWith("/*") && file.type.startsWith(a.slice(0, -1))
|
|
3698
|
+
) || accepted.some(
|
|
3699
|
+
(a) => a.startsWith(".") && file.name.toLowerCase().endsWith(a)
|
|
3700
|
+
);
|
|
3701
|
+
if (!okType) return "Unsupported file type. Please upload a JPG, PNG or PDF.";
|
|
3702
|
+
if (file.size > config.maxSizeMB * 1024 * 1024)
|
|
3703
|
+
return `File is too large. Maximum size is ${config.maxSizeMB}MB.`;
|
|
3704
|
+
return null;
|
|
3705
|
+
};
|
|
3706
|
+
var useDocumentSlot = (config, onProcess, notifyError = defaultNotifyError) => {
|
|
3707
|
+
const [slot, setSlot] = useState13({ status: "idle" });
|
|
3708
|
+
const timers = useRef2([]);
|
|
3709
|
+
const runId = useRef2(0);
|
|
3710
|
+
const clearTimers = () => {
|
|
3711
|
+
timers.current.forEach(clearTimeout);
|
|
3712
|
+
timers.current = [];
|
|
3713
|
+
};
|
|
3714
|
+
const processFile = (file, currentRun, isSignature) => {
|
|
3715
|
+
if (!onProcess) return false;
|
|
3716
|
+
onProcess(file).then((result) => {
|
|
3717
|
+
if (runId.current !== currentRun) return;
|
|
3718
|
+
setSlot((prev) => ({
|
|
3719
|
+
...prev,
|
|
3720
|
+
status: "completed",
|
|
3721
|
+
cleanedImageUrl: isSignature ? prev.previewUrl : void 0,
|
|
3722
|
+
extraction: !isSignature && result && typeof result === "object" ? result : void 0
|
|
3723
|
+
}));
|
|
3724
|
+
}).catch((err) => {
|
|
3725
|
+
if (runId.current !== currentRun) return;
|
|
3726
|
+
const message = err instanceof Error && err.message ? err.message : "We couldn't process this document. Please try again.";
|
|
3727
|
+
setSlot((prev) => ({ ...prev, status: "failed", error: message }));
|
|
3728
|
+
notifyError(message);
|
|
3729
|
+
});
|
|
3730
|
+
return true;
|
|
3731
|
+
};
|
|
3732
|
+
const runLifecycle = (file) => {
|
|
3733
|
+
clearTimers();
|
|
3734
|
+
const currentRun = ++runId.current;
|
|
3735
|
+
const previewUrl = URL.createObjectURL(file);
|
|
3736
|
+
const isSignature = config.processor === "signature";
|
|
3737
|
+
setSlot({
|
|
3738
|
+
status: "uploading",
|
|
3739
|
+
file,
|
|
3740
|
+
fileName: file.name,
|
|
3741
|
+
fileType: file.type,
|
|
3742
|
+
fileSize: file.size,
|
|
3743
|
+
previewUrl,
|
|
3744
|
+
progress: 0
|
|
3745
|
+
});
|
|
3746
|
+
let progress = 0;
|
|
3747
|
+
const tick = () => {
|
|
3748
|
+
progress = Math.min(100, progress + 20);
|
|
3749
|
+
setSlot((prev) => ({ ...prev, progress }));
|
|
3750
|
+
if (progress < 100) {
|
|
3751
|
+
timers.current.push(setTimeout(tick, 180));
|
|
3752
|
+
} else {
|
|
3753
|
+
timers.current.push(
|
|
3754
|
+
setTimeout(() => {
|
|
3755
|
+
setSlot((prev) => ({ ...prev, status: "processing" }));
|
|
3756
|
+
if (processFile(file, currentRun, isSignature)) return;
|
|
3757
|
+
timers.current.push(
|
|
3758
|
+
setTimeout(() => {
|
|
3759
|
+
setSlot((prev) => ({
|
|
3760
|
+
...prev,
|
|
3761
|
+
status: "completed",
|
|
3762
|
+
cleanedImageUrl: isSignature ? prev.previewUrl : void 0,
|
|
3763
|
+
extraction: isSignature ? void 0 : { name: "Sample", date: "2026-07-16", id: "0001" }
|
|
3764
|
+
}));
|
|
3765
|
+
}, 1600)
|
|
3766
|
+
);
|
|
3767
|
+
}, 200)
|
|
3768
|
+
);
|
|
3769
|
+
}
|
|
3770
|
+
};
|
|
3771
|
+
timers.current.push(setTimeout(tick, 180));
|
|
3772
|
+
};
|
|
3773
|
+
const uploadDocument = (file) => runLifecycle(file);
|
|
3774
|
+
const retryDocument = () => {
|
|
3775
|
+
if (slot.file) runLifecycle(slot.file);
|
|
3776
|
+
};
|
|
3777
|
+
const removeDocument = () => {
|
|
3778
|
+
clearTimers();
|
|
3779
|
+
runId.current++;
|
|
3780
|
+
if (slot.previewUrl) URL.revokeObjectURL(slot.previewUrl);
|
|
3781
|
+
setSlot({ status: "idle" });
|
|
3782
|
+
};
|
|
3783
|
+
return { slot, uploadDocument, retryDocument, removeDocument };
|
|
3784
|
+
};
|
|
3785
|
+
var Card = ({
|
|
3786
|
+
activeIcon,
|
|
3787
|
+
title,
|
|
3788
|
+
subtitle,
|
|
3789
|
+
headerAction,
|
|
3790
|
+
children
|
|
3791
|
+
}) => /* @__PURE__ */ jsxs15(
|
|
3792
|
+
Box16,
|
|
3793
|
+
{
|
|
3794
|
+
w: "full",
|
|
3795
|
+
borderRadius: "2xl",
|
|
3796
|
+
bg: "white",
|
|
3797
|
+
borderWidth: "1px",
|
|
3798
|
+
borderColor: "gray.200",
|
|
3799
|
+
shadow: "sm",
|
|
3800
|
+
overflow: "hidden",
|
|
3801
|
+
children: [
|
|
3802
|
+
/* @__PURE__ */ jsxs15(Flex8, { align: "center", justify: "space-between", px: 4, py: 3, gap: 2, children: [
|
|
3803
|
+
/* @__PURE__ */ jsxs15(Flex8, { align: "center", gap: 2, minW: 0, children: [
|
|
3804
|
+
/* @__PURE__ */ jsx19(
|
|
3805
|
+
Box16,
|
|
3806
|
+
{
|
|
3807
|
+
p: 2,
|
|
3808
|
+
borderRadius: "full",
|
|
3809
|
+
bg: "gray.100",
|
|
3810
|
+
color: PRIMARY2,
|
|
3811
|
+
flexShrink: 0,
|
|
3812
|
+
children: activeIcon
|
|
3813
|
+
}
|
|
3814
|
+
),
|
|
3815
|
+
/* @__PURE__ */ jsxs15(Box16, { minW: 0, children: [
|
|
3816
|
+
/* @__PURE__ */ jsx19(Text9, { fontWeight: "bold", fontSize: "md", lineHeight: "1.2", truncate: true, children: title }),
|
|
3817
|
+
subtitle && /* @__PURE__ */ jsx19(Text9, { fontSize: "xs", color: "gray.500", truncate: true, children: subtitle })
|
|
3818
|
+
] })
|
|
3819
|
+
] }),
|
|
3820
|
+
headerAction
|
|
3821
|
+
] }),
|
|
3822
|
+
/* @__PURE__ */ jsx19(Box16, { px: 4, pb: 4, pt: 1, borderTopWidth: "1px", borderColor: "gray.100", children })
|
|
3823
|
+
]
|
|
3824
|
+
}
|
|
3825
|
+
);
|
|
3826
|
+
var StatusPill = ({ status }) => {
|
|
3827
|
+
const map = {
|
|
3828
|
+
idle: null,
|
|
3829
|
+
uploading: { label: "Uploading", fg: "#1D4ED8", bg: "#EFF6FF" },
|
|
3830
|
+
processing: { label: "Analyzing", fg: "#7C3AED", bg: "#F5F3FF" },
|
|
3831
|
+
completed: { label: "Completed", fg: "#15803D", bg: "#F0FDF4" },
|
|
3832
|
+
failed: { label: "Failed", fg: "#B91C1C", bg: "#FEF2F2" }
|
|
3833
|
+
};
|
|
3834
|
+
const meta = map[status];
|
|
3835
|
+
if (!meta) return null;
|
|
3836
|
+
return /* @__PURE__ */ jsxs15(
|
|
3837
|
+
Flex8,
|
|
3838
|
+
{
|
|
3839
|
+
align: "center",
|
|
3840
|
+
gap: 1.5,
|
|
3841
|
+
px: 2.5,
|
|
3842
|
+
py: 1,
|
|
3843
|
+
borderRadius: "full",
|
|
3844
|
+
fontSize: "xs",
|
|
3845
|
+
fontWeight: 600,
|
|
3846
|
+
style: { color: meta.fg, background: meta.bg },
|
|
3847
|
+
flexShrink: 0,
|
|
3848
|
+
children: [
|
|
3849
|
+
status === "processing" || status === "uploading" ? /* @__PURE__ */ jsx19(Spinner, { size: "xs", borderWidth: "2px" }) : status === "completed" ? /* @__PURE__ */ jsx19(LuCheck3, { size: 12 }) : /* @__PURE__ */ jsx19(LuTriangleAlert, { size: 12 }),
|
|
3850
|
+
meta.label
|
|
3851
|
+
]
|
|
3852
|
+
}
|
|
3853
|
+
);
|
|
3854
|
+
};
|
|
3855
|
+
var ProgressBar = ({ value, color }) => /* @__PURE__ */ jsx19(Box16, { w: "full", h: "6px", bg: "gray.100", borderRadius: "full", overflow: "hidden", children: /* @__PURE__ */ jsx19(
|
|
3856
|
+
Box16,
|
|
3857
|
+
{
|
|
3858
|
+
h: "full",
|
|
3859
|
+
borderRadius: "full",
|
|
3860
|
+
style: {
|
|
3861
|
+
width: `${value}%`,
|
|
3862
|
+
background: color,
|
|
3863
|
+
transition: "width 0.2s ease"
|
|
3864
|
+
}
|
|
3865
|
+
}
|
|
3866
|
+
) });
|
|
3867
|
+
var Thumb = ({
|
|
3868
|
+
url,
|
|
3869
|
+
isPdf,
|
|
3870
|
+
fileName,
|
|
3871
|
+
transparent
|
|
3872
|
+
}) => /* @__PURE__ */ jsx19(
|
|
3873
|
+
Flex8,
|
|
3874
|
+
{
|
|
3875
|
+
align: "center",
|
|
3876
|
+
justify: "center",
|
|
3877
|
+
boxSize: { base: "56px", md: "64px" },
|
|
3878
|
+
borderRadius: "lg",
|
|
3879
|
+
borderWidth: "1px",
|
|
3880
|
+
borderColor: "gray.200",
|
|
3881
|
+
overflow: "hidden",
|
|
3882
|
+
flexShrink: 0,
|
|
3883
|
+
bg: transparent ? "transparent" : "gray.50",
|
|
3884
|
+
style: transparent ? {
|
|
3885
|
+
backgroundImage: "linear-gradient(45deg,#eee 25%,transparent 25%),linear-gradient(-45deg,#eee 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eee 75%),linear-gradient(-45deg,transparent 75%,#eee 75%)",
|
|
3886
|
+
backgroundSize: "10px 10px",
|
|
3887
|
+
backgroundPosition: "0 0,0 5px,5px -5px,-5px 0"
|
|
3888
|
+
} : void 0,
|
|
3889
|
+
children: isPdf || !url ? /* @__PURE__ */ jsxs15(Flex8, { direction: "column", align: "center", color: "gray.400", gap: 0.5, children: [
|
|
3890
|
+
/* @__PURE__ */ jsx19(LuFileText, { size: 22 }),
|
|
3891
|
+
/* @__PURE__ */ jsx19(Text9, { fontSize: "9px", fontWeight: 600, children: isPdf ? "PDF" : "FILE" })
|
|
3892
|
+
] }) : (
|
|
3893
|
+
// eslint-disable-next-line @next/next/no-img-element
|
|
3894
|
+
/* @__PURE__ */ jsx19(
|
|
3895
|
+
"img",
|
|
3896
|
+
{
|
|
3897
|
+
src: url,
|
|
3898
|
+
alt: fileName ?? "preview",
|
|
3899
|
+
style: { width: "100%", height: "100%", objectFit: "contain" }
|
|
3900
|
+
}
|
|
3901
|
+
)
|
|
3902
|
+
)
|
|
3903
|
+
}
|
|
3904
|
+
);
|
|
3905
|
+
var GhostBtn = ({
|
|
3906
|
+
icon,
|
|
3907
|
+
label,
|
|
3908
|
+
onClick,
|
|
3909
|
+
tone = "gray"
|
|
3910
|
+
}) => {
|
|
3911
|
+
const tones = {
|
|
3912
|
+
gray: { c: "gray.600", h: "gray.50", b: "gray.200" },
|
|
3913
|
+
danger: { c: "#B91C1C", h: "#FEF2F2", b: "#FECACA" },
|
|
3914
|
+
primary: { c: PRIMARY2, h: PRIMARY_SOFT, b: PRIMARY2 }
|
|
3915
|
+
};
|
|
3916
|
+
const t = tones[tone];
|
|
3917
|
+
return /* @__PURE__ */ jsxs15(
|
|
3918
|
+
Flex8,
|
|
3919
|
+
{
|
|
3920
|
+
as: "button",
|
|
3921
|
+
align: "center",
|
|
3922
|
+
gap: 1.5,
|
|
3923
|
+
px: 2.5,
|
|
3924
|
+
py: 1.5,
|
|
3925
|
+
borderRadius: "lg",
|
|
3926
|
+
borderWidth: "1px",
|
|
3927
|
+
borderColor: t.b,
|
|
3928
|
+
color: t.c,
|
|
3929
|
+
bg: "white",
|
|
3930
|
+
fontSize: "xs",
|
|
3931
|
+
fontWeight: 600,
|
|
3932
|
+
cursor: "pointer",
|
|
3933
|
+
_hover: { bg: t.h },
|
|
3934
|
+
transition: "all 0.15s",
|
|
3935
|
+
onClick,
|
|
3936
|
+
children: [
|
|
3937
|
+
icon,
|
|
3938
|
+
label
|
|
3939
|
+
]
|
|
3940
|
+
}
|
|
3941
|
+
);
|
|
3942
|
+
};
|
|
3943
|
+
function DocumentUploadCard({
|
|
3944
|
+
config,
|
|
3945
|
+
onStatusChange,
|
|
3946
|
+
onProcess,
|
|
3947
|
+
onError
|
|
3948
|
+
}) {
|
|
3949
|
+
const notifyError = onError ?? defaultNotifyError;
|
|
3950
|
+
const { slot, uploadDocument, retryDocument, removeDocument } = useDocumentSlot(config, onProcess, notifyError);
|
|
3951
|
+
const status = slot?.status ?? "idle";
|
|
3952
|
+
useEffect7(() => {
|
|
3953
|
+
onStatusChange?.(status);
|
|
3954
|
+
}, [status, onStatusChange]);
|
|
3955
|
+
const browseRef = useRef2(null);
|
|
3956
|
+
const cameraRef = useRef2(null);
|
|
3957
|
+
const [dragging, setDragging] = useState13(false);
|
|
3958
|
+
const Icon6 = config.icon;
|
|
3959
|
+
const isPdf = slot?.fileType === "application/pdf";
|
|
3960
|
+
const handleFiles = (files) => {
|
|
3961
|
+
const file = files?.[0];
|
|
3962
|
+
if (!file) return;
|
|
3963
|
+
const error = validate(file, config);
|
|
3964
|
+
if (error) {
|
|
3965
|
+
notifyError(error);
|
|
3966
|
+
return;
|
|
3967
|
+
}
|
|
3968
|
+
void uploadDocument(file);
|
|
3969
|
+
};
|
|
3970
|
+
const onDrop = (e) => {
|
|
3971
|
+
e.preventDefault();
|
|
3972
|
+
setDragging(false);
|
|
3973
|
+
handleFiles(e.dataTransfer.files);
|
|
3974
|
+
};
|
|
3975
|
+
const renderDropzone = () => /* @__PURE__ */ jsxs15(
|
|
3976
|
+
Flex8,
|
|
3977
|
+
{
|
|
3978
|
+
direction: "column",
|
|
3979
|
+
align: "center",
|
|
3980
|
+
justify: "center",
|
|
3981
|
+
gap: 2,
|
|
3982
|
+
py: { base: 6, md: 7 },
|
|
3983
|
+
px: 4,
|
|
3984
|
+
borderWidth: "2px",
|
|
3985
|
+
borderStyle: "dashed",
|
|
3986
|
+
borderColor: dragging ? PRIMARY2 : "gray.200",
|
|
3987
|
+
borderRadius: "xl",
|
|
3988
|
+
bg: dragging ? PRIMARY_SOFT : "gray.50",
|
|
3989
|
+
transition: "all 0.15s",
|
|
3990
|
+
textAlign: "center",
|
|
3991
|
+
onDragOver: (e) => {
|
|
3992
|
+
e.preventDefault();
|
|
3993
|
+
setDragging(true);
|
|
3994
|
+
},
|
|
3995
|
+
onDragLeave: () => setDragging(false),
|
|
3996
|
+
onDrop,
|
|
3997
|
+
role: "button",
|
|
3998
|
+
tabIndex: 0,
|
|
3999
|
+
onClick: () => browseRef.current?.click(),
|
|
4000
|
+
onKeyDown: (e) => {
|
|
4001
|
+
if (e.key === "Enter" || e.key === " ") browseRef.current?.click();
|
|
4002
|
+
},
|
|
4003
|
+
cursor: "pointer",
|
|
4004
|
+
_hover: { borderColor: PRIMARY2, bg: PRIMARY_SOFT },
|
|
4005
|
+
children: [
|
|
4006
|
+
/* @__PURE__ */ jsx19(
|
|
4007
|
+
Flex8,
|
|
4008
|
+
{
|
|
4009
|
+
align: "center",
|
|
4010
|
+
justify: "center",
|
|
4011
|
+
boxSize: 11,
|
|
4012
|
+
borderRadius: "full",
|
|
4013
|
+
bg: "white",
|
|
4014
|
+
borderWidth: "1px",
|
|
4015
|
+
borderColor: "gray.200",
|
|
4016
|
+
color: PRIMARY2,
|
|
4017
|
+
children: /* @__PURE__ */ jsx19(LuUpload, { size: 18 })
|
|
4018
|
+
}
|
|
4019
|
+
),
|
|
4020
|
+
/* @__PURE__ */ jsxs15(Box16, { children: [
|
|
4021
|
+
/* @__PURE__ */ jsx19(Text9, { fontSize: "sm", fontWeight: 600, color: "gray.800", children: "Drag & drop or tap to upload" }),
|
|
4022
|
+
/* @__PURE__ */ jsx19(Text9, { fontSize: "xs", color: "gray.500", mt: 0.5, children: config.hint ?? "JPG, PNG or PDF" })
|
|
4023
|
+
] }),
|
|
4024
|
+
/* @__PURE__ */ jsxs15(Flex8, { gap: 2, mt: 1, onClick: (e) => e.stopPropagation(), children: [
|
|
4025
|
+
/* @__PURE__ */ jsx19(
|
|
4026
|
+
GhostBtn,
|
|
4027
|
+
{
|
|
4028
|
+
icon: /* @__PURE__ */ jsx19(LuFolderOpen, { size: 13 }),
|
|
4029
|
+
label: "Browse",
|
|
4030
|
+
tone: "primary",
|
|
4031
|
+
onClick: () => browseRef.current?.click()
|
|
4032
|
+
}
|
|
4033
|
+
),
|
|
4034
|
+
/* @__PURE__ */ jsx19(
|
|
4035
|
+
GhostBtn,
|
|
4036
|
+
{
|
|
4037
|
+
icon: /* @__PURE__ */ jsx19(LuCamera, { size: 13 }),
|
|
4038
|
+
label: "Take photo",
|
|
4039
|
+
onClick: () => cameraRef.current?.click()
|
|
4040
|
+
}
|
|
4041
|
+
)
|
|
4042
|
+
] })
|
|
4043
|
+
]
|
|
4044
|
+
}
|
|
4045
|
+
);
|
|
4046
|
+
const renderBusy = () => /* @__PURE__ */ jsxs15(Flex8, { gap: 3, align: "center", children: [
|
|
4047
|
+
/* @__PURE__ */ jsx19(Thumb, { url: slot?.previewUrl, isPdf, fileName: slot?.fileName }),
|
|
4048
|
+
/* @__PURE__ */ jsxs15(Box16, { flex: "1", minW: 0, children: [
|
|
4049
|
+
/* @__PURE__ */ jsx19(Text9, { fontSize: "sm", fontWeight: 600, color: "gray.800", truncate: true, children: slot?.fileName }),
|
|
4050
|
+
status === "uploading" ? /* @__PURE__ */ jsxs15(Fragment3, { children: [
|
|
4051
|
+
/* @__PURE__ */ jsxs15(
|
|
4052
|
+
Flex8,
|
|
4053
|
+
{
|
|
4054
|
+
justify: "space-between",
|
|
4055
|
+
fontSize: "xs",
|
|
4056
|
+
color: "gray.500",
|
|
4057
|
+
mt: 1,
|
|
4058
|
+
mb: 1,
|
|
4059
|
+
children: [
|
|
4060
|
+
/* @__PURE__ */ jsx19(Text9, { children: "Uploading\u2026" }),
|
|
4061
|
+
/* @__PURE__ */ jsxs15(Text9, { fontWeight: 600, children: [
|
|
4062
|
+
slot?.progress ?? 0,
|
|
4063
|
+
"%"
|
|
4064
|
+
] })
|
|
4065
|
+
]
|
|
4066
|
+
}
|
|
4067
|
+
),
|
|
4068
|
+
/* @__PURE__ */ jsx19(ProgressBar, { value: slot?.progress ?? 0, color: "#2563EB" })
|
|
4069
|
+
] }) : /* @__PURE__ */ jsxs15(Flex8, { align: "center", gap: 2, mt: 1.5, children: [
|
|
4070
|
+
/* @__PURE__ */ jsxs15(
|
|
4071
|
+
Flex8,
|
|
4072
|
+
{
|
|
4073
|
+
align: "center",
|
|
4074
|
+
gap: 1.5,
|
|
4075
|
+
px: 2,
|
|
4076
|
+
py: 1,
|
|
4077
|
+
borderRadius: "md",
|
|
4078
|
+
bg: "#F5F3FF",
|
|
4079
|
+
color: "#7C3AED",
|
|
4080
|
+
fontSize: "xs",
|
|
4081
|
+
fontWeight: 600,
|
|
4082
|
+
children: [
|
|
4083
|
+
/* @__PURE__ */ jsx19(LuSparkles, { size: 12 }),
|
|
4084
|
+
config.processor === "signature" ? "Cleaning signature\u2026" : "Reading with AI\u2026"
|
|
4085
|
+
]
|
|
4086
|
+
}
|
|
4087
|
+
),
|
|
4088
|
+
/* @__PURE__ */ jsx19(Spinner, { size: "xs", color: "#7C3AED", borderWidth: "2px" })
|
|
4089
|
+
] }),
|
|
4090
|
+
status === "processing" && /* @__PURE__ */ jsx19(Text9, { fontSize: "11px", color: "gray.400", mt: 1.5, children: "This can take a few seconds. Your upload is already saved." })
|
|
4091
|
+
] })
|
|
4092
|
+
] });
|
|
4093
|
+
const renderFailed = () => /* @__PURE__ */ jsxs15(Box16, { children: [
|
|
4094
|
+
/* @__PURE__ */ jsxs15(Flex8, { gap: 3, align: "flex-start", children: [
|
|
4095
|
+
/* @__PURE__ */ jsx19(Thumb, { url: slot?.previewUrl, isPdf, fileName: slot?.fileName }),
|
|
4096
|
+
/* @__PURE__ */ jsxs15(Box16, { flex: "1", minW: 0, children: [
|
|
4097
|
+
/* @__PURE__ */ jsx19(Text9, { fontSize: "sm", fontWeight: 600, color: "gray.800", truncate: true, children: slot?.fileName ?? config.label }),
|
|
4098
|
+
/* @__PURE__ */ jsxs15(Flex8, { align: "flex-start", gap: 1.5, mt: 1, color: "#B91C1C", children: [
|
|
4099
|
+
/* @__PURE__ */ jsx19(Box16, { mt: "1px", children: /* @__PURE__ */ jsx19(LuTriangleAlert, { size: 13 }) }),
|
|
4100
|
+
/* @__PURE__ */ jsx19(Text9, { fontSize: "xs", lineHeight: "1.4", children: slot?.error ?? "We couldn't process this document." })
|
|
4101
|
+
] })
|
|
4102
|
+
] })
|
|
4103
|
+
] }),
|
|
4104
|
+
/* @__PURE__ */ jsxs15(Flex8, { gap: 2, mt: 3, wrap: "wrap", children: [
|
|
4105
|
+
slot?.file ? /* @__PURE__ */ jsx19(
|
|
4106
|
+
GhostBtn,
|
|
4107
|
+
{
|
|
4108
|
+
icon: /* @__PURE__ */ jsx19(LuRefreshCw, { size: 13 }),
|
|
4109
|
+
label: "Retry",
|
|
4110
|
+
tone: "primary",
|
|
4111
|
+
onClick: () => void retryDocument()
|
|
4112
|
+
}
|
|
4113
|
+
) : /* @__PURE__ */ jsx19(
|
|
4114
|
+
GhostBtn,
|
|
4115
|
+
{
|
|
4116
|
+
icon: /* @__PURE__ */ jsx19(LuUpload, { size: 13 }),
|
|
4117
|
+
label: "Re-upload",
|
|
4118
|
+
tone: "primary",
|
|
4119
|
+
onClick: () => browseRef.current?.click()
|
|
4120
|
+
}
|
|
4121
|
+
),
|
|
4122
|
+
/* @__PURE__ */ jsx19(
|
|
4123
|
+
GhostBtn,
|
|
4124
|
+
{
|
|
4125
|
+
icon: /* @__PURE__ */ jsx19(LuReplace, { size: 13 }),
|
|
4126
|
+
label: "Choose another",
|
|
4127
|
+
onClick: () => browseRef.current?.click()
|
|
4128
|
+
}
|
|
4129
|
+
),
|
|
4130
|
+
/* @__PURE__ */ jsx19(
|
|
4131
|
+
GhostBtn,
|
|
4132
|
+
{
|
|
4133
|
+
icon: /* @__PURE__ */ jsx19(LuTrash2, { size: 13 }),
|
|
4134
|
+
label: "Remove",
|
|
4135
|
+
tone: "danger",
|
|
4136
|
+
onClick: () => removeDocument()
|
|
4137
|
+
}
|
|
4138
|
+
)
|
|
4139
|
+
] })
|
|
4140
|
+
] });
|
|
4141
|
+
const renderCompleted = () => {
|
|
4142
|
+
const isSignature = config.processor === "signature";
|
|
4143
|
+
const fieldCount = slot?.extraction ? Object.values(slot.extraction).filter(Boolean).length : 0;
|
|
4144
|
+
const displayUrl = isSignature ? slot?.cleanedImageUrl ?? slot?.previewUrl : slot?.previewUrl;
|
|
4145
|
+
return /* @__PURE__ */ jsxs15(Box16, { children: [
|
|
4146
|
+
/* @__PURE__ */ jsxs15(Flex8, { gap: 3, align: "center", children: [
|
|
4147
|
+
/* @__PURE__ */ jsx19(
|
|
4148
|
+
Thumb,
|
|
4149
|
+
{
|
|
4150
|
+
url: displayUrl,
|
|
4151
|
+
isPdf: isPdf && !isSignature,
|
|
4152
|
+
fileName: slot?.fileName,
|
|
4153
|
+
transparent: isSignature && !!slot?.cleanedImageUrl
|
|
4154
|
+
}
|
|
4155
|
+
),
|
|
4156
|
+
/* @__PURE__ */ jsxs15(Box16, { flex: "1", minW: 0, children: [
|
|
4157
|
+
/* @__PURE__ */ jsx19(Text9, { fontSize: "sm", fontWeight: 600, color: "gray.800", truncate: true, children: slot?.fileName }),
|
|
4158
|
+
/* @__PURE__ */ jsx19(Text9, { fontSize: "xs", color: "gray.500", children: formatBytes(slot?.fileSize) }),
|
|
4159
|
+
/* @__PURE__ */ jsxs15(
|
|
4160
|
+
Flex8,
|
|
4161
|
+
{
|
|
4162
|
+
align: "center",
|
|
4163
|
+
gap: 1.5,
|
|
4164
|
+
mt: 1.5,
|
|
4165
|
+
color: PRIMARY2,
|
|
4166
|
+
fontSize: "xs",
|
|
4167
|
+
fontWeight: 600,
|
|
4168
|
+
children: [
|
|
4169
|
+
/* @__PURE__ */ jsx19(LuSparkles, { size: 12 }),
|
|
4170
|
+
isSignature ? "Signature detected & cleaned" : `${fieldCount} field${fieldCount === 1 ? "" : "s"} extracted`
|
|
4171
|
+
]
|
|
4172
|
+
}
|
|
4173
|
+
)
|
|
4174
|
+
] })
|
|
4175
|
+
] }),
|
|
4176
|
+
/* @__PURE__ */ jsxs15(Flex8, { gap: 2, mt: 3, wrap: "wrap", children: [
|
|
4177
|
+
/* @__PURE__ */ jsx19(
|
|
4178
|
+
GhostBtn,
|
|
4179
|
+
{
|
|
4180
|
+
icon: /* @__PURE__ */ jsx19(LuReplace, { size: 13 }),
|
|
4181
|
+
label: "Replace",
|
|
4182
|
+
onClick: () => browseRef.current?.click()
|
|
4183
|
+
}
|
|
4184
|
+
),
|
|
4185
|
+
/* @__PURE__ */ jsx19(
|
|
4186
|
+
GhostBtn,
|
|
4187
|
+
{
|
|
4188
|
+
icon: /* @__PURE__ */ jsx19(LuTrash2, { size: 13 }),
|
|
4189
|
+
label: "Remove",
|
|
4190
|
+
tone: "danger",
|
|
4191
|
+
onClick: () => removeDocument()
|
|
4192
|
+
}
|
|
4193
|
+
)
|
|
4194
|
+
] })
|
|
4195
|
+
] });
|
|
4196
|
+
};
|
|
4197
|
+
const requiredTag = /* @__PURE__ */ jsx19(
|
|
4198
|
+
Text9,
|
|
4199
|
+
{
|
|
4200
|
+
fontSize: "10px",
|
|
4201
|
+
fontWeight: 700,
|
|
4202
|
+
px: 1.5,
|
|
4203
|
+
py: 0.5,
|
|
4204
|
+
borderRadius: "full",
|
|
4205
|
+
color: config.required ? "#B45309" : "gray.500",
|
|
4206
|
+
bg: config.required ? "#FEF3C7" : "gray.100",
|
|
4207
|
+
flexShrink: 0,
|
|
4208
|
+
children: config.required ? "REQUIRED" : "OPTIONAL"
|
|
4209
|
+
}
|
|
4210
|
+
);
|
|
4211
|
+
const isMobile = useBreakpointValue2({ base: true, lg: false });
|
|
4212
|
+
return /* @__PURE__ */ jsxs15(
|
|
4213
|
+
Card,
|
|
4214
|
+
{
|
|
4215
|
+
activeIcon: /* @__PURE__ */ jsx19(Icon6, { size: 18 }),
|
|
4216
|
+
title: config.label,
|
|
4217
|
+
subtitle: config.description,
|
|
4218
|
+
headerAction: !isMobile ? /* @__PURE__ */ jsxs15(Flex8, { align: "center", gap: 2, flexShrink: 0, children: [
|
|
4219
|
+
requiredTag,
|
|
4220
|
+
/* @__PURE__ */ jsx19(StatusPill, { status })
|
|
4221
|
+
] }) : /* @__PURE__ */ jsx19(Fragment3, {}),
|
|
4222
|
+
children: [
|
|
4223
|
+
isMobile ? /* @__PURE__ */ jsxs15(
|
|
4224
|
+
Flex8,
|
|
4225
|
+
{
|
|
4226
|
+
align: "center",
|
|
4227
|
+
justifySelf: "flex-end",
|
|
4228
|
+
gap: 2,
|
|
4229
|
+
mb: 1,
|
|
4230
|
+
flexShrink: 0,
|
|
4231
|
+
children: [
|
|
4232
|
+
requiredTag,
|
|
4233
|
+
/* @__PURE__ */ jsx19(StatusPill, { status })
|
|
4234
|
+
]
|
|
4235
|
+
}
|
|
4236
|
+
) : /* @__PURE__ */ jsx19(Fragment3, {}),
|
|
4237
|
+
status === "idle" && renderDropzone(),
|
|
4238
|
+
(status === "uploading" || status === "processing") && renderBusy(),
|
|
4239
|
+
status === "failed" && renderFailed(),
|
|
4240
|
+
status === "completed" && renderCompleted(),
|
|
4241
|
+
/* @__PURE__ */ jsx19(
|
|
4242
|
+
"input",
|
|
4243
|
+
{
|
|
4244
|
+
ref: browseRef,
|
|
4245
|
+
type: "file",
|
|
4246
|
+
accept: config.accept,
|
|
4247
|
+
hidden: true,
|
|
4248
|
+
onChange: (e) => {
|
|
4249
|
+
handleFiles(e.target.files);
|
|
4250
|
+
e.target.value = "";
|
|
4251
|
+
}
|
|
4252
|
+
}
|
|
4253
|
+
),
|
|
4254
|
+
/* @__PURE__ */ jsx19(
|
|
4255
|
+
"input",
|
|
4256
|
+
{
|
|
4257
|
+
ref: cameraRef,
|
|
4258
|
+
type: "file",
|
|
4259
|
+
accept: "image/*",
|
|
4260
|
+
capture: "environment",
|
|
4261
|
+
hidden: true,
|
|
4262
|
+
onChange: (e) => {
|
|
4263
|
+
handleFiles(e.target.files);
|
|
4264
|
+
e.target.value = "";
|
|
4265
|
+
}
|
|
4266
|
+
}
|
|
4267
|
+
)
|
|
4268
|
+
]
|
|
4269
|
+
}
|
|
4270
|
+
);
|
|
4271
|
+
}
|
|
4272
|
+
|
|
4273
|
+
// src/GetStarted/GetStarted.tsx
|
|
4274
|
+
import { jsx as jsx20, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
4275
|
+
var defaultNotify = (type, message) => {
|
|
4276
|
+
if (type === "error") console.error(message);
|
|
4277
|
+
else console.info(message);
|
|
4278
|
+
};
|
|
4279
|
+
var GOVERNMENT_ID_CONFIG = {
|
|
4280
|
+
id: "government-id",
|
|
4281
|
+
label: "Government-issued ID",
|
|
4282
|
+
description: "Current and valid ID",
|
|
4283
|
+
accept: "image/*",
|
|
4284
|
+
maxSizeMB: 5,
|
|
4285
|
+
required: true,
|
|
4286
|
+
hint: "Any image \xB7 up to 5MB",
|
|
4287
|
+
processor: "extraction",
|
|
4288
|
+
icon: LuIdCard
|
|
4289
|
+
};
|
|
4290
|
+
var SIGNATURE_CONFIG = {
|
|
4291
|
+
id: "specimen-signature",
|
|
4292
|
+
label: "Specimen Signature",
|
|
4293
|
+
description: "Signature on plain white paper",
|
|
4294
|
+
accept: "image/png,image/jpeg,application/pdf",
|
|
4295
|
+
maxSizeMB: 5,
|
|
4296
|
+
required: true,
|
|
4297
|
+
hint: "JPG, PNG or PDF \xB7 up to 5MB",
|
|
4298
|
+
processor: "signature",
|
|
4299
|
+
icon: LuSignature
|
|
4300
|
+
};
|
|
4301
|
+
var GetStarted = ({
|
|
4302
|
+
scanId: scanIdFn,
|
|
4303
|
+
onContinue,
|
|
4304
|
+
notify = defaultNotify
|
|
4305
|
+
}) => {
|
|
4306
|
+
const [uploadDialogOpen, setUploadDialogOpen] = useState14(false);
|
|
4307
|
+
const [referralDialogOpen, setReferralDialogOpen] = useState14(false);
|
|
4308
|
+
const [governmentIdStatus, setGovernmentIdStatus] = useState14("idle");
|
|
4309
|
+
const { scanId } = useOcr(scanIdFn);
|
|
4310
|
+
return /* @__PURE__ */ jsx20(Container_default, { children: /* @__PURE__ */ jsxs16(
|
|
4311
|
+
Box17,
|
|
4312
|
+
{
|
|
4313
|
+
p: { base: 0, md: 8 },
|
|
4314
|
+
rounded: "lg",
|
|
4315
|
+
shadow: { base: "none", md: "md" },
|
|
4316
|
+
bg: "white",
|
|
4317
|
+
maxW: "3xl",
|
|
4318
|
+
display: "flex",
|
|
4319
|
+
flexDirection: "column",
|
|
4320
|
+
alignItems: "center",
|
|
4321
|
+
mx: "auto",
|
|
4322
|
+
children: [
|
|
4323
|
+
/* @__PURE__ */ jsxs16(VStack7, { gap: 4, align: "stretch", children: [
|
|
4324
|
+
/* @__PURE__ */ jsx20(Box17, { textAlign: "center", children: /* @__PURE__ */ jsx20(H32, { children: "Let's Get Started" }) }),
|
|
4325
|
+
/* @__PURE__ */ jsx20(BaseText, { textAlign: { base: "center", md: "start" }, children: "We'll be needing some documents and information to proceed with the purchase, please prepare the following in advance to smooth out the next steps" }),
|
|
4326
|
+
/* @__PURE__ */ jsx20(Box17, { bg: "gray.50", p: 8, rounded: "md", children: /* @__PURE__ */ jsx20(VStack7, { align: "start", gap: 2, children: /* @__PURE__ */ jsxs16(Box17, { mb: 4, display: "flex", flexDirection: "column", gap: 2, children: [
|
|
4327
|
+
/* @__PURE__ */ jsx20(BaseText, { fontWeight: "bold", children: "Required Information" }),
|
|
4328
|
+
/* @__PURE__ */ jsx20(BaseText, { children: "1. Full Name" }),
|
|
4329
|
+
/* @__PURE__ */ jsx20(BaseText, { children: "2. Nationality" }),
|
|
4330
|
+
/* @__PURE__ */ jsx20(BaseText, { children: "3. Mobile Number" }),
|
|
4331
|
+
/* @__PURE__ */ jsx20(BaseText, { children: "4. Email Address" }),
|
|
4332
|
+
/* @__PURE__ */ jsx20(BaseText, { children: "5. Date of Birth" }),
|
|
4333
|
+
/* @__PURE__ */ jsx20(BaseText, { children: "6. Complete Address" }),
|
|
4334
|
+
/* @__PURE__ */ jsx20(BaseText, { children: "7. Beneficiary/ies" }),
|
|
4335
|
+
/* @__PURE__ */ jsx20(BaseText, { fontWeight: "bold", children: "Required Documents" }),
|
|
4336
|
+
/* @__PURE__ */ jsx20(BaseText, { children: "1. Current and Valid Government-issued ID" }),
|
|
4337
|
+
/* @__PURE__ */ jsx20(BaseText, { children: "2. Specimen Signature" })
|
|
4338
|
+
] }) }) })
|
|
4339
|
+
] }),
|
|
4340
|
+
/* @__PURE__ */ jsxs16(Box17, { textAlign: "end", children: [
|
|
4341
|
+
/* @__PURE__ */ jsxs16(
|
|
4342
|
+
Dialog3.Root,
|
|
4343
|
+
{
|
|
4344
|
+
size: { mdDown: "full", md: "md" },
|
|
4345
|
+
open: uploadDialogOpen,
|
|
4346
|
+
onOpenChange: (details) => setUploadDialogOpen(details.open),
|
|
4347
|
+
children: [
|
|
4348
|
+
/* @__PURE__ */ jsx20(Dialog3.Trigger, { asChild: true, children: /* @__PURE__ */ jsx20(
|
|
4349
|
+
Button3,
|
|
4350
|
+
{
|
|
4351
|
+
w: { base: "sm", md: "2xl" },
|
|
4352
|
+
mt: { base: 4, md: 8 },
|
|
4353
|
+
onClick: () => setUploadDialogOpen(true),
|
|
4354
|
+
children: "CONTINUE"
|
|
4355
|
+
}
|
|
4356
|
+
) }),
|
|
4357
|
+
/* @__PURE__ */ jsxs16(Portal4, { children: [
|
|
4358
|
+
/* @__PURE__ */ jsx20(Dialog3.Backdrop, {}),
|
|
4359
|
+
/* @__PURE__ */ jsx20(Dialog3.Positioner, { children: /* @__PURE__ */ jsxs16(Dialog3.Content, { children: [
|
|
4360
|
+
/* @__PURE__ */ jsx20(Dialog3.Header, { children: /* @__PURE__ */ jsx20(Dialog3.Title, { children: "Upload Requirements" }) }),
|
|
4361
|
+
/* @__PURE__ */ jsx20(Dialog3.Body, { children: /* @__PURE__ */ jsxs16(VStack7, { gap: 6, align: "stretch", children: [
|
|
4362
|
+
/* @__PURE__ */ jsx20(info_card_default, { children: "To continue, please upload a valid ID. The system will use it to populate your information automatically." }),
|
|
4363
|
+
/* @__PURE__ */ jsx20(
|
|
4364
|
+
DocumentUploadCard,
|
|
4365
|
+
{
|
|
4366
|
+
config: GOVERNMENT_ID_CONFIG,
|
|
4367
|
+
onStatusChange: setGovernmentIdStatus,
|
|
4368
|
+
onProcess: scanId,
|
|
4369
|
+
onError: (message) => notify("error", message)
|
|
4370
|
+
}
|
|
4371
|
+
),
|
|
4372
|
+
/* @__PURE__ */ jsx20(
|
|
4373
|
+
DocumentUploadCard,
|
|
4374
|
+
{
|
|
4375
|
+
config: SIGNATURE_CONFIG,
|
|
4376
|
+
onError: (message) => notify("error", message)
|
|
4377
|
+
}
|
|
4378
|
+
)
|
|
4379
|
+
] }) }),
|
|
4380
|
+
/* @__PURE__ */ jsxs16(Dialog3.Footer, { display: "flex", justifyContent: "space-between", children: [
|
|
4381
|
+
/* @__PURE__ */ jsx20(Dialog3.ActionTrigger, { asChild: true, children: /* @__PURE__ */ jsx20(CancelButton2, {}) }),
|
|
4382
|
+
/* @__PURE__ */ jsx20(
|
|
4383
|
+
NextButton,
|
|
4384
|
+
{
|
|
4385
|
+
onClick: () => {
|
|
4386
|
+
if (governmentIdStatus === "uploading" || governmentIdStatus === "processing") {
|
|
4387
|
+
notify("info", "Please wait while we read your ID.");
|
|
4388
|
+
return;
|
|
4389
|
+
}
|
|
4390
|
+
if (governmentIdStatus !== "completed") {
|
|
4391
|
+
notify("error", "Please upload a government-issued ID.");
|
|
4392
|
+
return;
|
|
4393
|
+
}
|
|
4394
|
+
setUploadDialogOpen(false);
|
|
4395
|
+
setReferralDialogOpen(true);
|
|
4396
|
+
}
|
|
4397
|
+
}
|
|
4398
|
+
)
|
|
4399
|
+
] }),
|
|
4400
|
+
/* @__PURE__ */ jsx20(Dialog3.CloseTrigger, { asChild: true, children: /* @__PURE__ */ jsx20(CloseButton3, { size: "sm" }) })
|
|
4401
|
+
] }) })
|
|
4402
|
+
] })
|
|
4403
|
+
]
|
|
4404
|
+
}
|
|
4405
|
+
),
|
|
4406
|
+
/* @__PURE__ */ jsx20(
|
|
4407
|
+
Dialog3.Root,
|
|
4408
|
+
{
|
|
4409
|
+
placement: "center",
|
|
4410
|
+
open: referralDialogOpen,
|
|
4411
|
+
onOpenChange: (details) => setReferralDialogOpen(details.open),
|
|
4412
|
+
size: { mdDown: "full", md: "md" },
|
|
4413
|
+
children: /* @__PURE__ */ jsxs16(Portal4, { children: [
|
|
4414
|
+
/* @__PURE__ */ jsx20(Dialog3.Backdrop, {}),
|
|
4415
|
+
/* @__PURE__ */ jsx20(Dialog3.Positioner, { children: /* @__PURE__ */ jsxs16(Dialog3.Content, { children: [
|
|
4416
|
+
/* @__PURE__ */ jsx20(Dialog3.Header, { children: /* @__PURE__ */ jsx20(Dialog3.Title, { children: "Referral Agent" }) }),
|
|
4417
|
+
/* @__PURE__ */ jsx20(Dialog3.Body, { children: /* @__PURE__ */ jsxs16(VStack7, { align: "stretch", gap: 4, children: [
|
|
4418
|
+
/* @__PURE__ */ jsx20(Body5, { children: "Do you have an referral agent? (optional)" }),
|
|
4419
|
+
/* @__PURE__ */ jsx20(Input4, { placeholder: "Enter agent name" })
|
|
4420
|
+
] }) }),
|
|
4421
|
+
/* @__PURE__ */ jsxs16(Dialog3.Footer, { display: "flex", justifyContent: "space-between", children: [
|
|
4422
|
+
/* @__PURE__ */ jsx20(
|
|
4423
|
+
Button3,
|
|
4424
|
+
{
|
|
4425
|
+
variant: "outline",
|
|
4426
|
+
onClick: () => {
|
|
4427
|
+
setReferralDialogOpen(false);
|
|
4428
|
+
onContinue?.();
|
|
4429
|
+
},
|
|
4430
|
+
children: "Skip"
|
|
4431
|
+
}
|
|
4432
|
+
),
|
|
4433
|
+
/* @__PURE__ */ jsx20(
|
|
4434
|
+
PrimaryMdButton3,
|
|
4435
|
+
{
|
|
4436
|
+
onClick: () => {
|
|
4437
|
+
setReferralDialogOpen(false);
|
|
4438
|
+
onContinue?.();
|
|
4439
|
+
},
|
|
4440
|
+
children: "Continue"
|
|
4441
|
+
}
|
|
4442
|
+
)
|
|
4443
|
+
] }),
|
|
4444
|
+
/* @__PURE__ */ jsx20(Dialog3.CloseTrigger, { asChild: true, children: /* @__PURE__ */ jsx20(CloseButton3, { size: "sm" }) })
|
|
4445
|
+
] }) })
|
|
4446
|
+
] })
|
|
4447
|
+
}
|
|
4448
|
+
)
|
|
4449
|
+
] })
|
|
4450
|
+
]
|
|
4451
|
+
}
|
|
4452
|
+
) });
|
|
4453
|
+
};
|
|
4454
|
+
var GetStarted_default = GetStarted;
|
|
4455
|
+
|
|
3584
4456
|
// src/Generic/BottomQuickActions.tsx
|
|
3585
|
-
import
|
|
4457
|
+
import React7 from "react";
|
|
3586
4458
|
import {
|
|
3587
|
-
Box as
|
|
4459
|
+
Box as Box18,
|
|
3588
4460
|
Drawer,
|
|
3589
|
-
Portal as
|
|
4461
|
+
Portal as Portal5,
|
|
3590
4462
|
HStack as HStack4,
|
|
3591
|
-
VStack as
|
|
3592
|
-
Flex as
|
|
4463
|
+
VStack as VStack8,
|
|
4464
|
+
Flex as Flex9,
|
|
3593
4465
|
Icon as Icon4,
|
|
3594
|
-
CloseButton as
|
|
3595
|
-
Text as
|
|
4466
|
+
CloseButton as CloseButton4,
|
|
4467
|
+
Text as Text10
|
|
3596
4468
|
} from "@chakra-ui/react";
|
|
3597
4469
|
import { LuChevronRight as LuChevronRight2 } from "react-icons/lu";
|
|
3598
4470
|
import Link from "next/link";
|
|
3599
|
-
import { jsx as
|
|
4471
|
+
import { jsx as jsx21, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
3600
4472
|
var SHEET_BG = BRAND_COLORS.white;
|
|
3601
4473
|
var DRAG_COLOR = BRAND_COLORS.neutralBorder;
|
|
3602
4474
|
var ITEM_BG = BRAND_COLORS.white;
|
|
@@ -3613,14 +4485,14 @@ var SUBTITLE_COLOR = BRAND_COLORS.grey;
|
|
|
3613
4485
|
var LABEL_COLOR = BRAND_COLORS.neutralText;
|
|
3614
4486
|
var DESC_COLOR = BRAND_COLORS.grey;
|
|
3615
4487
|
var CHEVRON_COLOR = BRAND_COLORS.ashWhite;
|
|
3616
|
-
var QuickActionsHeaderCard =
|
|
4488
|
+
var QuickActionsHeaderCard = React7.memo(
|
|
3617
4489
|
({
|
|
3618
4490
|
initials,
|
|
3619
4491
|
avatarBg = AVATAR_DEFAULT_BG,
|
|
3620
4492
|
label,
|
|
3621
4493
|
meta,
|
|
3622
4494
|
trailing
|
|
3623
|
-
}) => /* @__PURE__ */
|
|
4495
|
+
}) => /* @__PURE__ */ jsxs17(
|
|
3624
4496
|
HStack4,
|
|
3625
4497
|
{
|
|
3626
4498
|
gap: STANDARD_SPACING.sm,
|
|
@@ -3631,8 +4503,8 @@ var QuickActionsHeaderCard = React5.memo(
|
|
|
3631
4503
|
borderWidth: "1px",
|
|
3632
4504
|
borderColor: HEADER_CARD_BORDER,
|
|
3633
4505
|
children: [
|
|
3634
|
-
initials && /* @__PURE__ */
|
|
3635
|
-
|
|
4506
|
+
initials && /* @__PURE__ */ jsx21(
|
|
4507
|
+
Flex9,
|
|
3636
4508
|
{
|
|
3637
4509
|
w: "40px",
|
|
3638
4510
|
h: "40px",
|
|
@@ -3641,8 +4513,8 @@ var QuickActionsHeaderCard = React5.memo(
|
|
|
3641
4513
|
align: "center",
|
|
3642
4514
|
justify: "center",
|
|
3643
4515
|
flexShrink: 0,
|
|
3644
|
-
children: /* @__PURE__ */
|
|
3645
|
-
|
|
4516
|
+
children: /* @__PURE__ */ jsx21(
|
|
4517
|
+
Text10,
|
|
3646
4518
|
{
|
|
3647
4519
|
fontSize: "14px",
|
|
3648
4520
|
fontWeight: "700",
|
|
@@ -3653,9 +4525,9 @@ var QuickActionsHeaderCard = React5.memo(
|
|
|
3653
4525
|
)
|
|
3654
4526
|
}
|
|
3655
4527
|
),
|
|
3656
|
-
/* @__PURE__ */
|
|
3657
|
-
/* @__PURE__ */
|
|
3658
|
-
|
|
4528
|
+
/* @__PURE__ */ jsxs17(Box18, { flex: "1", minW: 0, children: [
|
|
4529
|
+
/* @__PURE__ */ jsx21(
|
|
4530
|
+
Text10,
|
|
3659
4531
|
{
|
|
3660
4532
|
fontSize: "15px",
|
|
3661
4533
|
fontWeight: "700",
|
|
@@ -3667,8 +4539,8 @@ var QuickActionsHeaderCard = React5.memo(
|
|
|
3667
4539
|
children: label
|
|
3668
4540
|
}
|
|
3669
4541
|
),
|
|
3670
|
-
meta && /* @__PURE__ */
|
|
3671
|
-
|
|
4542
|
+
meta && /* @__PURE__ */ jsx21(
|
|
4543
|
+
Text10,
|
|
3672
4544
|
{
|
|
3673
4545
|
fontSize: "12px",
|
|
3674
4546
|
color: SUBTITLE_COLOR,
|
|
@@ -3689,10 +4561,10 @@ var QuickActionsHeaderCard = React5.memo(
|
|
|
3689
4561
|
var ITEM_TRANSITION = {
|
|
3690
4562
|
transition: "background 0.15s ease, transform 0.1s ease"
|
|
3691
4563
|
};
|
|
3692
|
-
var ActionItem =
|
|
4564
|
+
var ActionItem = React7.memo(({ action }) => {
|
|
3693
4565
|
const iconBg = action.iconBg ?? DEFAULT_ICON_BG;
|
|
3694
4566
|
const iconColor = action.iconColor ?? DEFAULT_ICON_COLOR;
|
|
3695
|
-
const inner = /* @__PURE__ */
|
|
4567
|
+
const inner = /* @__PURE__ */ jsxs17(
|
|
3696
4568
|
HStack4,
|
|
3697
4569
|
{
|
|
3698
4570
|
gap: STANDARD_SPACING.sm,
|
|
@@ -3715,8 +4587,8 @@ var ActionItem = React5.memo(({ action }) => {
|
|
|
3715
4587
|
_active: { bg: ITEM_ACTIVE_BG, transform: "scale(0.99)" },
|
|
3716
4588
|
style: ITEM_TRANSITION,
|
|
3717
4589
|
children: [
|
|
3718
|
-
/* @__PURE__ */
|
|
3719
|
-
|
|
4590
|
+
/* @__PURE__ */ jsx21(
|
|
4591
|
+
Flex9,
|
|
3720
4592
|
{
|
|
3721
4593
|
w: "40px",
|
|
3722
4594
|
h: "40px",
|
|
@@ -3725,12 +4597,12 @@ var ActionItem = React5.memo(({ action }) => {
|
|
|
3725
4597
|
align: "center",
|
|
3726
4598
|
justify: "center",
|
|
3727
4599
|
flexShrink: 0,
|
|
3728
|
-
children: /* @__PURE__ */
|
|
4600
|
+
children: /* @__PURE__ */ jsx21(Icon4, { as: action.icon, boxSize: "20px", color: iconColor })
|
|
3729
4601
|
}
|
|
3730
4602
|
),
|
|
3731
|
-
/* @__PURE__ */
|
|
3732
|
-
/* @__PURE__ */
|
|
3733
|
-
|
|
4603
|
+
/* @__PURE__ */ jsxs17(Box18, { flex: "1", minW: 0, children: [
|
|
4604
|
+
/* @__PURE__ */ jsx21(
|
|
4605
|
+
Text10,
|
|
3734
4606
|
{
|
|
3735
4607
|
fontSize: "15px",
|
|
3736
4608
|
fontWeight: "600",
|
|
@@ -3739,8 +4611,8 @@ var ActionItem = React5.memo(({ action }) => {
|
|
|
3739
4611
|
children: action.label
|
|
3740
4612
|
}
|
|
3741
4613
|
),
|
|
3742
|
-
action.description && /* @__PURE__ */
|
|
3743
|
-
|
|
4614
|
+
action.description && /* @__PURE__ */ jsx21(
|
|
4615
|
+
Text10,
|
|
3744
4616
|
{
|
|
3745
4617
|
fontSize: "12px",
|
|
3746
4618
|
color: DESC_COLOR,
|
|
@@ -3753,7 +4625,7 @@ var ActionItem = React5.memo(({ action }) => {
|
|
|
3753
4625
|
}
|
|
3754
4626
|
)
|
|
3755
4627
|
] }),
|
|
3756
|
-
/* @__PURE__ */
|
|
4628
|
+
/* @__PURE__ */ jsx21(
|
|
3757
4629
|
Icon4,
|
|
3758
4630
|
{
|
|
3759
4631
|
as: LuChevronRight2,
|
|
@@ -3766,7 +4638,7 @@ var ActionItem = React5.memo(({ action }) => {
|
|
|
3766
4638
|
}
|
|
3767
4639
|
);
|
|
3768
4640
|
if (action.href) {
|
|
3769
|
-
return /* @__PURE__ */
|
|
4641
|
+
return /* @__PURE__ */ jsx21(
|
|
3770
4642
|
Link,
|
|
3771
4643
|
{
|
|
3772
4644
|
href: action.href,
|
|
@@ -3785,15 +4657,15 @@ var BottomQuickActions = ({
|
|
|
3785
4657
|
headerSlot,
|
|
3786
4658
|
actions
|
|
3787
4659
|
}) => {
|
|
3788
|
-
return /* @__PURE__ */
|
|
4660
|
+
return /* @__PURE__ */ jsx21(
|
|
3789
4661
|
Drawer.Root,
|
|
3790
4662
|
{
|
|
3791
4663
|
open,
|
|
3792
4664
|
onOpenChange: (e) => onOpenChange(e.open),
|
|
3793
4665
|
placement: "bottom",
|
|
3794
|
-
children: /* @__PURE__ */
|
|
3795
|
-
/* @__PURE__ */
|
|
3796
|
-
/* @__PURE__ */
|
|
4666
|
+
children: /* @__PURE__ */ jsxs17(Portal5, { children: [
|
|
4667
|
+
/* @__PURE__ */ jsx21(Drawer.Backdrop, {}),
|
|
4668
|
+
/* @__PURE__ */ jsx21(Drawer.Positioner, { children: /* @__PURE__ */ jsxs17(
|
|
3797
4669
|
Drawer.Content,
|
|
3798
4670
|
{
|
|
3799
4671
|
borderTopRadius: "l3",
|
|
@@ -3804,8 +4676,8 @@ var BottomQuickActions = ({
|
|
|
3804
4676
|
pb: `calc(${STANDARD_SPACING.sm} + env(safe-area-inset-bottom))`,
|
|
3805
4677
|
boxShadow: STANDARD_SHADOWS.level4,
|
|
3806
4678
|
children: [
|
|
3807
|
-
/* @__PURE__ */
|
|
3808
|
-
|
|
4679
|
+
/* @__PURE__ */ jsx21(Flex9, { justify: "center", pt: "10px", pb: "4px", children: /* @__PURE__ */ jsx21(
|
|
4680
|
+
Box18,
|
|
3809
4681
|
{
|
|
3810
4682
|
w: "36px",
|
|
3811
4683
|
h: "4px",
|
|
@@ -3813,16 +4685,16 @@ var BottomQuickActions = ({
|
|
|
3813
4685
|
bg: DRAG_COLOR
|
|
3814
4686
|
}
|
|
3815
4687
|
) }),
|
|
3816
|
-
/* @__PURE__ */
|
|
4688
|
+
/* @__PURE__ */ jsx21(
|
|
3817
4689
|
Drawer.Header,
|
|
3818
4690
|
{
|
|
3819
4691
|
px: STANDARD_SPACING.sm,
|
|
3820
4692
|
pt: "12px",
|
|
3821
4693
|
pb: "0",
|
|
3822
4694
|
borderBottomWidth: "0",
|
|
3823
|
-
children: /* @__PURE__ */
|
|
3824
|
-
/* @__PURE__ */
|
|
3825
|
-
/* @__PURE__ */
|
|
4695
|
+
children: /* @__PURE__ */ jsxs17(Flex9, { align: "flex-start", justify: "space-between", gap: "12px", children: [
|
|
4696
|
+
/* @__PURE__ */ jsxs17(Box18, { flex: "1", minW: 0, children: [
|
|
4697
|
+
/* @__PURE__ */ jsx21(
|
|
3826
4698
|
Drawer.Title,
|
|
3827
4699
|
{
|
|
3828
4700
|
fontSize: "18px",
|
|
@@ -3833,8 +4705,8 @@ var BottomQuickActions = ({
|
|
|
3833
4705
|
children: title
|
|
3834
4706
|
}
|
|
3835
4707
|
),
|
|
3836
|
-
subtitle && /* @__PURE__ */
|
|
3837
|
-
|
|
4708
|
+
subtitle && /* @__PURE__ */ jsx21(
|
|
4709
|
+
Text10,
|
|
3838
4710
|
{
|
|
3839
4711
|
fontSize: "13px",
|
|
3840
4712
|
color: SUBTITLE_COLOR,
|
|
@@ -3845,8 +4717,8 @@ var BottomQuickActions = ({
|
|
|
3845
4717
|
}
|
|
3846
4718
|
)
|
|
3847
4719
|
] }),
|
|
3848
|
-
/* @__PURE__ */
|
|
3849
|
-
|
|
4720
|
+
/* @__PURE__ */ jsx21(Drawer.CloseTrigger, { asChild: true, mt: "2px", flexShrink: 0, children: /* @__PURE__ */ jsx21(
|
|
4721
|
+
CloseButton4,
|
|
3850
4722
|
{
|
|
3851
4723
|
size: "sm",
|
|
3852
4724
|
color: BRAND_COLORS.neutralText,
|
|
@@ -3857,15 +4729,15 @@ var BottomQuickActions = ({
|
|
|
3857
4729
|
] })
|
|
3858
4730
|
}
|
|
3859
4731
|
),
|
|
3860
|
-
/* @__PURE__ */
|
|
4732
|
+
/* @__PURE__ */ jsxs17(
|
|
3861
4733
|
Drawer.Body,
|
|
3862
4734
|
{
|
|
3863
4735
|
px: STANDARD_SPACING.sm,
|
|
3864
4736
|
pt: STANDARD_SPACING.sm,
|
|
3865
4737
|
pb: "4px",
|
|
3866
4738
|
children: [
|
|
3867
|
-
headerSlot && /* @__PURE__ */
|
|
3868
|
-
/* @__PURE__ */
|
|
4739
|
+
headerSlot && /* @__PURE__ */ jsx21(Box18, { mb: STANDARD_SPACING.xs, children: headerSlot }),
|
|
4740
|
+
/* @__PURE__ */ jsx21(VStack8, { gap: STANDARD_SPACING.xs, align: "stretch", children: actions.map((action, i) => /* @__PURE__ */ jsx21(ActionItem, { action }, i)) })
|
|
3869
4741
|
]
|
|
3870
4742
|
}
|
|
3871
4743
|
)
|
|
@@ -3879,18 +4751,18 @@ var BottomQuickActions = ({
|
|
|
3879
4751
|
var BottomQuickActions_default = BottomQuickActions;
|
|
3880
4752
|
|
|
3881
4753
|
// src/Generic/NotifyInstall.tsx
|
|
3882
|
-
import { useEffect as
|
|
3883
|
-
import { Button as
|
|
4754
|
+
import { useEffect as useEffect9, useState as useState16 } from "react";
|
|
4755
|
+
import { Button as Button4, Flex as Flex10, HStack as HStack5, Icon as Icon5, Text as Text11, VStack as VStack9 } from "@chakra-ui/react";
|
|
3884
4756
|
import { AnimatePresence, motion } from "motion/react";
|
|
3885
4757
|
import { FiDownload, FiPlusSquare, FiShare, FiX } from "react-icons/fi";
|
|
3886
4758
|
|
|
3887
4759
|
// src/hooks/useNotifyInstall.ts
|
|
3888
|
-
import { useEffect as
|
|
4760
|
+
import { useEffect as useEffect8, useState as useState15 } from "react";
|
|
3889
4761
|
function useNotifyInstall() {
|
|
3890
|
-
const [isInstalled, setIsInstalled] =
|
|
3891
|
-
const [isMobile, setIsMobile] =
|
|
3892
|
-
const [installPrompt, setInstallPrompt] =
|
|
3893
|
-
|
|
4762
|
+
const [isInstalled, setIsInstalled] = useState15(false);
|
|
4763
|
+
const [isMobile, setIsMobile] = useState15(false);
|
|
4764
|
+
const [installPrompt, setInstallPrompt] = useState15(null);
|
|
4765
|
+
useEffect8(() => {
|
|
3894
4766
|
const mobile = /Android|iPhone|iPad|iPod/i.test(navigator.userAgent);
|
|
3895
4767
|
setIsMobile(mobile);
|
|
3896
4768
|
const installed = window.matchMedia("(display-mode: standalone)").matches || window.navigator.standalone === true;
|
|
@@ -3922,7 +4794,7 @@ function useNotifyInstall() {
|
|
|
3922
4794
|
}
|
|
3923
4795
|
|
|
3924
4796
|
// src/Generic/NotifyInstall.tsx
|
|
3925
|
-
import { Fragment as
|
|
4797
|
+
import { Fragment as Fragment4, jsx as jsx22, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
3926
4798
|
var STEPS = [
|
|
3927
4799
|
{ icon: FiShare, label: "Tap the browser menu or Share button" },
|
|
3928
4800
|
{ icon: FiPlusSquare, label: 'Choose "Add to Home Screen"' }
|
|
@@ -3933,8 +4805,8 @@ function NotifyInstall({
|
|
|
3933
4805
|
appName
|
|
3934
4806
|
}) {
|
|
3935
4807
|
const { isInstalled, isMobile, canInstall, install } = useNotifyInstall();
|
|
3936
|
-
const [isDismissed, setIsDismissed] =
|
|
3937
|
-
|
|
4808
|
+
const [isDismissed, setIsDismissed] = useState16(true);
|
|
4809
|
+
useEffect9(() => {
|
|
3938
4810
|
if (localStorage.getItem(DISMISSED_KEY) !== "true") {
|
|
3939
4811
|
setIsDismissed(false);
|
|
3940
4812
|
}
|
|
@@ -3944,10 +4816,10 @@ function NotifyInstall({
|
|
|
3944
4816
|
setIsDismissed(true);
|
|
3945
4817
|
};
|
|
3946
4818
|
const showPrompt = isMobile && !isInstalled && !isDismissed;
|
|
3947
|
-
return /* @__PURE__ */
|
|
4819
|
+
return /* @__PURE__ */ jsxs18(Fragment4, { children: [
|
|
3948
4820
|
children,
|
|
3949
|
-
/* @__PURE__ */
|
|
3950
|
-
/* @__PURE__ */
|
|
4821
|
+
/* @__PURE__ */ jsx22(AnimatePresence, { children: showPrompt && /* @__PURE__ */ jsxs18(Fragment4, { children: [
|
|
4822
|
+
/* @__PURE__ */ jsx22(
|
|
3951
4823
|
motion.div,
|
|
3952
4824
|
{
|
|
3953
4825
|
initial: { opacity: 0 },
|
|
@@ -3966,7 +4838,7 @@ function NotifyInstall({
|
|
|
3966
4838
|
},
|
|
3967
4839
|
"install-backdrop"
|
|
3968
4840
|
),
|
|
3969
|
-
/* @__PURE__ */
|
|
4841
|
+
/* @__PURE__ */ jsxs18(
|
|
3970
4842
|
motion.div,
|
|
3971
4843
|
{
|
|
3972
4844
|
initial: { y: "100%" },
|
|
@@ -3985,7 +4857,7 @@ function NotifyInstall({
|
|
|
3985
4857
|
paddingBottom: "env(safe-area-inset-bottom)"
|
|
3986
4858
|
},
|
|
3987
4859
|
children: [
|
|
3988
|
-
/* @__PURE__ */
|
|
4860
|
+
/* @__PURE__ */ jsx22(
|
|
3989
4861
|
"button",
|
|
3990
4862
|
{
|
|
3991
4863
|
"aria-label": "Dismiss install prompt",
|
|
@@ -4004,12 +4876,12 @@ function NotifyInstall({
|
|
|
4004
4876
|
justifyContent: "center",
|
|
4005
4877
|
color: "#9ca3af"
|
|
4006
4878
|
},
|
|
4007
|
-
children: /* @__PURE__ */
|
|
4879
|
+
children: /* @__PURE__ */ jsx22(FiX, { size: 18 })
|
|
4008
4880
|
}
|
|
4009
4881
|
),
|
|
4010
|
-
/* @__PURE__ */
|
|
4011
|
-
/* @__PURE__ */
|
|
4012
|
-
|
|
4882
|
+
/* @__PURE__ */ jsxs18(VStack9, { gap: 6, textAlign: "center", px: 6, py: 8, children: [
|
|
4883
|
+
/* @__PURE__ */ jsx22(
|
|
4884
|
+
Flex10,
|
|
4013
4885
|
{
|
|
4014
4886
|
boxSize: 16,
|
|
4015
4887
|
align: "center",
|
|
@@ -4018,12 +4890,12 @@ function NotifyInstall({
|
|
|
4018
4890
|
bg: "green.50",
|
|
4019
4891
|
color: "green.600",
|
|
4020
4892
|
shadow: "sm",
|
|
4021
|
-
children: /* @__PURE__ */
|
|
4893
|
+
children: /* @__PURE__ */ jsx22(Icon5, { as: FiDownload, boxSize: 8 })
|
|
4022
4894
|
}
|
|
4023
4895
|
),
|
|
4024
|
-
/* @__PURE__ */
|
|
4025
|
-
/* @__PURE__ */
|
|
4026
|
-
|
|
4896
|
+
/* @__PURE__ */ jsxs18(VStack9, { gap: 2, children: [
|
|
4897
|
+
/* @__PURE__ */ jsxs18(
|
|
4898
|
+
Text11,
|
|
4027
4899
|
{
|
|
4028
4900
|
fontSize: "lg",
|
|
4029
4901
|
fontWeight: "bold",
|
|
@@ -4035,10 +4907,10 @@ function NotifyInstall({
|
|
|
4035
4907
|
]
|
|
4036
4908
|
}
|
|
4037
4909
|
),
|
|
4038
|
-
/* @__PURE__ */
|
|
4910
|
+
/* @__PURE__ */ jsx22(Text11, { fontSize: "sm", color: "gray.500", lineHeight: "tall", children: "Add the app to your home screen for a faster, app-like experience before continuing." })
|
|
4039
4911
|
] }),
|
|
4040
|
-
canInstall ? /* @__PURE__ */
|
|
4041
|
-
|
|
4912
|
+
canInstall ? /* @__PURE__ */ jsxs18(
|
|
4913
|
+
Button4,
|
|
4042
4914
|
{
|
|
4043
4915
|
onClick: install,
|
|
4044
4916
|
colorPalette: "green",
|
|
@@ -4046,12 +4918,12 @@ function NotifyInstall({
|
|
|
4046
4918
|
w: "full",
|
|
4047
4919
|
rounded: "xl",
|
|
4048
4920
|
children: [
|
|
4049
|
-
/* @__PURE__ */
|
|
4921
|
+
/* @__PURE__ */ jsx22(Icon5, { as: FiDownload }),
|
|
4050
4922
|
"Add to Home Screen"
|
|
4051
4923
|
]
|
|
4052
4924
|
}
|
|
4053
|
-
) : /* @__PURE__ */
|
|
4054
|
-
|
|
4925
|
+
) : /* @__PURE__ */ jsx22(
|
|
4926
|
+
VStack9,
|
|
4055
4927
|
{
|
|
4056
4928
|
w: "full",
|
|
4057
4929
|
bg: "gray.50",
|
|
@@ -4061,9 +4933,9 @@ function NotifyInstall({
|
|
|
4061
4933
|
p: 4,
|
|
4062
4934
|
gap: 4,
|
|
4063
4935
|
align: "stretch",
|
|
4064
|
-
children: STEPS.map((step, i) => /* @__PURE__ */
|
|
4065
|
-
/* @__PURE__ */
|
|
4066
|
-
|
|
4936
|
+
children: STEPS.map((step, i) => /* @__PURE__ */ jsxs18(HStack5, { gap: 3, align: "center", children: [
|
|
4937
|
+
/* @__PURE__ */ jsx22(
|
|
4938
|
+
Flex10,
|
|
4067
4939
|
{
|
|
4068
4940
|
boxSize: 9,
|
|
4069
4941
|
flexShrink: 0,
|
|
@@ -4074,10 +4946,10 @@ function NotifyInstall({
|
|
|
4074
4946
|
borderWidth: "1px",
|
|
4075
4947
|
borderColor: "gray.200",
|
|
4076
4948
|
color: "green.600",
|
|
4077
|
-
children: /* @__PURE__ */
|
|
4949
|
+
children: /* @__PURE__ */ jsx22(Icon5, { as: step.icon, boxSize: 4 })
|
|
4078
4950
|
}
|
|
4079
4951
|
),
|
|
4080
|
-
/* @__PURE__ */
|
|
4952
|
+
/* @__PURE__ */ jsx22(Text11, { fontSize: "sm", color: "gray.700", textAlign: "left", children: step.label })
|
|
4081
4953
|
] }, i))
|
|
4082
4954
|
}
|
|
4083
4955
|
)
|
|
@@ -4091,21 +4963,21 @@ function NotifyInstall({
|
|
|
4091
4963
|
}
|
|
4092
4964
|
|
|
4093
4965
|
// src/UserProfile/UserProfile.tsx
|
|
4094
|
-
import { useEffect as
|
|
4966
|
+
import { useEffect as useEffect10, useMemo, useState as useState17 } from "react";
|
|
4095
4967
|
import {
|
|
4096
4968
|
Avatar,
|
|
4097
4969
|
Badge as Badge2,
|
|
4098
|
-
Box as
|
|
4099
|
-
Button as
|
|
4100
|
-
Flex as
|
|
4970
|
+
Box as Box19,
|
|
4971
|
+
Button as Button5,
|
|
4972
|
+
Flex as Flex11,
|
|
4101
4973
|
HStack as HStack6,
|
|
4102
4974
|
IconButton as IconButton3,
|
|
4103
|
-
Input as
|
|
4975
|
+
Input as Input5,
|
|
4104
4976
|
InputGroup,
|
|
4105
4977
|
Separator as Separator3,
|
|
4106
|
-
Text as
|
|
4107
|
-
useBreakpointValue as
|
|
4108
|
-
VStack as
|
|
4978
|
+
Text as Text12,
|
|
4979
|
+
useBreakpointValue as useBreakpointValue3,
|
|
4980
|
+
VStack as VStack10
|
|
4109
4981
|
} from "@chakra-ui/react";
|
|
4110
4982
|
import {
|
|
4111
4983
|
RiDashboardFill,
|
|
@@ -4128,7 +5000,7 @@ import {
|
|
|
4128
5000
|
LuCreditCard,
|
|
4129
5001
|
LuEye,
|
|
4130
5002
|
LuEyeOff,
|
|
4131
|
-
LuFileText,
|
|
5003
|
+
LuFileText as LuFileText2,
|
|
4132
5004
|
LuHouse,
|
|
4133
5005
|
LuLock,
|
|
4134
5006
|
LuMoon,
|
|
@@ -4149,7 +5021,7 @@ import { LiaHandHoldingUsdSolid } from "react-icons/lia";
|
|
|
4149
5021
|
import { FaHandHoldingUsd } from "react-icons/fa";
|
|
4150
5022
|
import { MdManageAccounts, MdOutlineManageAccounts } from "react-icons/md";
|
|
4151
5023
|
import { IoLeaf, IoLeafOutline } from "react-icons/io5";
|
|
4152
|
-
import { Fragment as
|
|
5024
|
+
import { Fragment as Fragment5, jsx as jsx23, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
4153
5025
|
var NAVBAR_STORAGE_KEY = "profile-navbar-quick-items";
|
|
4154
5026
|
var FONT_SIZE_STORAGE_KEY = "profile-font-size-pref";
|
|
4155
5027
|
var DEFAULT_NAV_HREFS = ["/", "/plans", "/pay-my-plan", "/claims"];
|
|
@@ -4192,8 +5064,8 @@ var ALL_NAV_OPTIONS = [
|
|
|
4192
5064
|
key: "/claims",
|
|
4193
5065
|
title: "Claim",
|
|
4194
5066
|
href: "/claims",
|
|
4195
|
-
Icon:
|
|
4196
|
-
activeIcon:
|
|
5067
|
+
Icon: LuFileText2,
|
|
5068
|
+
activeIcon: LuFileText2,
|
|
4197
5069
|
match: (p) => p.startsWith("/claims"),
|
|
4198
5070
|
roles: ["branch", "bmstl", "sales-agent"]
|
|
4199
5071
|
},
|
|
@@ -4447,28 +5319,28 @@ function ReusableProfile({
|
|
|
4447
5319
|
onTwoFactorChange,
|
|
4448
5320
|
onToast = noopToast
|
|
4449
5321
|
}) {
|
|
4450
|
-
const [profileView, setProfileView] =
|
|
4451
|
-
const [fallbackColorMode, setFallbackColorMode] =
|
|
5322
|
+
const [profileView, setProfileView] = useState17("main");
|
|
5323
|
+
const [fallbackColorMode, setFallbackColorMode] = useState17("light");
|
|
4452
5324
|
const colorMode = controlledColorMode ?? fallbackColorMode;
|
|
4453
|
-
const [fontSize, setFontSizeLocal] =
|
|
4454
|
-
const [quickNavHrefs, setQuickNavHrefs] =
|
|
4455
|
-
const [replacingIdx, setReplacingIdx] =
|
|
4456
|
-
const [editName, setEditName] =
|
|
4457
|
-
const [editLoading, setEditLoading] =
|
|
4458
|
-
const [currentPw, setCurrentPw] =
|
|
4459
|
-
const [newPw, setNewPw] =
|
|
4460
|
-
const [confirmPw, setConfirmPw] =
|
|
4461
|
-
const [showCurrentPw, setShowCurrentPw] =
|
|
4462
|
-
const [showNewPw, setShowNewPw] =
|
|
4463
|
-
const [showConfirmPw, setShowConfirmPw] =
|
|
4464
|
-
const [pwLoading, setPwLoading] =
|
|
4465
|
-
const [twoFactorEnabled, setTwoFactorEnabled] =
|
|
5325
|
+
const [fontSize, setFontSizeLocal] = useState17("md");
|
|
5326
|
+
const [quickNavHrefs, setQuickNavHrefs] = useState17(initialQuickNavHrefs);
|
|
5327
|
+
const [replacingIdx, setReplacingIdx] = useState17(null);
|
|
5328
|
+
const [editName, setEditName] = useState17(user.displayName);
|
|
5329
|
+
const [editLoading, setEditLoading] = useState17(false);
|
|
5330
|
+
const [currentPw, setCurrentPw] = useState17("");
|
|
5331
|
+
const [newPw, setNewPw] = useState17("");
|
|
5332
|
+
const [confirmPw, setConfirmPw] = useState17("");
|
|
5333
|
+
const [showCurrentPw, setShowCurrentPw] = useState17(false);
|
|
5334
|
+
const [showNewPw, setShowNewPw] = useState17(false);
|
|
5335
|
+
const [showConfirmPw, setShowConfirmPw] = useState17(false);
|
|
5336
|
+
const [pwLoading, setPwLoading] = useState17(false);
|
|
5337
|
+
const [twoFactorEnabled, setTwoFactorEnabled] = useState17(
|
|
4466
5338
|
initialTwoFactorEnabled
|
|
4467
5339
|
);
|
|
4468
|
-
const [isMounted, setIsMounted] =
|
|
4469
|
-
const isDesktopRaw =
|
|
5340
|
+
const [isMounted, setIsMounted] = useState17(false);
|
|
5341
|
+
const isDesktopRaw = useBreakpointValue3({ base: false, md: true });
|
|
4470
5342
|
const isDesktop = isMounted ? isDesktopRaw ?? false : false;
|
|
4471
|
-
|
|
5343
|
+
useEffect10(() => {
|
|
4472
5344
|
setIsMounted(true);
|
|
4473
5345
|
if (!enableLocalStorage || typeof window === "undefined") return;
|
|
4474
5346
|
setFontSizeLocal(localStorage.getItem(FONT_SIZE_STORAGE_KEY) ?? "md");
|
|
@@ -4479,7 +5351,7 @@ function ReusableProfile({
|
|
|
4479
5351
|
setQuickNavHrefs(initialQuickNavHrefs);
|
|
4480
5352
|
}
|
|
4481
5353
|
}, [enableLocalStorage, initialQuickNavHrefs, storageKey]);
|
|
4482
|
-
|
|
5354
|
+
useEffect10(() => {
|
|
4483
5355
|
setEditName(user.displayName);
|
|
4484
5356
|
}, [user.displayName]);
|
|
4485
5357
|
const availableOptions = useMemo(
|
|
@@ -4610,9 +5482,9 @@ function ReusableProfile({
|
|
|
4610
5482
|
}
|
|
4611
5483
|
};
|
|
4612
5484
|
const roleLabel = user.role ? ROLE_LABELS[user.role] ?? user.role : "";
|
|
4613
|
-
const mainContent = /* @__PURE__ */
|
|
4614
|
-
/* @__PURE__ */
|
|
4615
|
-
|
|
5485
|
+
const mainContent = /* @__PURE__ */ jsxs19(Fragment5, { children: [
|
|
5486
|
+
/* @__PURE__ */ jsxs19(
|
|
5487
|
+
Box19,
|
|
4616
5488
|
{
|
|
4617
5489
|
bg: "var(--chakra-colors-primary)",
|
|
4618
5490
|
pt: 12,
|
|
@@ -4620,7 +5492,7 @@ function ReusableProfile({
|
|
|
4620
5492
|
px: 4,
|
|
4621
5493
|
textAlign: "center",
|
|
4622
5494
|
children: [
|
|
4623
|
-
/* @__PURE__ */
|
|
5495
|
+
/* @__PURE__ */ jsxs19(
|
|
4624
5496
|
Avatar.Root,
|
|
4625
5497
|
{
|
|
4626
5498
|
size: "2xl",
|
|
@@ -4628,13 +5500,13 @@ function ReusableProfile({
|
|
|
4628
5500
|
mb: 4,
|
|
4629
5501
|
colorPalette: pickPalette(user.displayName || "U"),
|
|
4630
5502
|
children: [
|
|
4631
|
-
user.avatarSrc && /* @__PURE__ */
|
|
4632
|
-
/* @__PURE__ */
|
|
5503
|
+
user.avatarSrc && /* @__PURE__ */ jsx23(Avatar.Image, { src: user.avatarSrc, alt: user.displayName }),
|
|
5504
|
+
/* @__PURE__ */ jsx23(Avatar.Fallback, { name: user.displayName })
|
|
4633
5505
|
]
|
|
4634
5506
|
}
|
|
4635
5507
|
),
|
|
4636
|
-
/* @__PURE__ */
|
|
4637
|
-
|
|
5508
|
+
/* @__PURE__ */ jsx23(
|
|
5509
|
+
Text12,
|
|
4638
5510
|
{
|
|
4639
5511
|
color: "white",
|
|
4640
5512
|
fontWeight: "bold",
|
|
@@ -4644,8 +5516,8 @@ function ReusableProfile({
|
|
|
4644
5516
|
children: user.displayName
|
|
4645
5517
|
}
|
|
4646
5518
|
),
|
|
4647
|
-
user.email && /* @__PURE__ */
|
|
4648
|
-
roleLabel && /* @__PURE__ */
|
|
5519
|
+
user.email && /* @__PURE__ */ jsx23(Text12, { color: "rgba(255,255,255,0.75)", fontSize: "sm", mb: 2, children: user.email }),
|
|
5520
|
+
roleLabel && /* @__PURE__ */ jsx23(Box19, { display: "inline-flex", children: /* @__PURE__ */ jsx23(
|
|
4649
5521
|
Badge2,
|
|
4650
5522
|
{
|
|
4651
5523
|
bg: "rgba(255,255,255,0.15)",
|
|
@@ -4662,9 +5534,9 @@ function ReusableProfile({
|
|
|
4662
5534
|
]
|
|
4663
5535
|
}
|
|
4664
5536
|
),
|
|
4665
|
-
/* @__PURE__ */
|
|
4666
|
-
/* @__PURE__ */
|
|
4667
|
-
|
|
5537
|
+
/* @__PURE__ */ jsxs19(Box19, { px: 4, pt: 5, pb: 1, children: [
|
|
5538
|
+
/* @__PURE__ */ jsx23(
|
|
5539
|
+
Text12,
|
|
4668
5540
|
{
|
|
4669
5541
|
fontSize: "xs",
|
|
4670
5542
|
fontWeight: "bold",
|
|
@@ -4675,8 +5547,8 @@ function ReusableProfile({
|
|
|
4675
5547
|
children: "Account"
|
|
4676
5548
|
}
|
|
4677
5549
|
),
|
|
4678
|
-
/* @__PURE__ */
|
|
4679
|
-
|
|
5550
|
+
/* @__PURE__ */ jsx23(
|
|
5551
|
+
Box19,
|
|
4680
5552
|
{
|
|
4681
5553
|
as: "button",
|
|
4682
5554
|
w: "full",
|
|
@@ -4684,8 +5556,8 @@ function ReusableProfile({
|
|
|
4684
5556
|
_hover: { opacity: 0.7 },
|
|
4685
5557
|
transition: "opacity 0.15s",
|
|
4686
5558
|
onClick: () => setProfileView("edit-account"),
|
|
4687
|
-
children: /* @__PURE__ */
|
|
4688
|
-
|
|
5559
|
+
children: /* @__PURE__ */ jsxs19(
|
|
5560
|
+
Flex11,
|
|
4689
5561
|
{
|
|
4690
5562
|
justify: "space-between",
|
|
4691
5563
|
align: "center",
|
|
@@ -4694,9 +5566,9 @@ function ReusableProfile({
|
|
|
4694
5566
|
borderRadius: "lg",
|
|
4695
5567
|
bg: isDesktop && profileView === "edit-account" ? "gray.100" : void 0,
|
|
4696
5568
|
children: [
|
|
4697
|
-
/* @__PURE__ */
|
|
4698
|
-
/* @__PURE__ */
|
|
4699
|
-
|
|
5569
|
+
/* @__PURE__ */ jsxs19(Flex11, { align: "center", gap: 3, children: [
|
|
5570
|
+
/* @__PURE__ */ jsx23(
|
|
5571
|
+
Box19,
|
|
4700
5572
|
{
|
|
4701
5573
|
w: "38px",
|
|
4702
5574
|
h: "38px",
|
|
@@ -4707,23 +5579,23 @@ function ReusableProfile({
|
|
|
4707
5579
|
justifyContent: "center",
|
|
4708
5580
|
color: "gray.600",
|
|
4709
5581
|
flexShrink: 0,
|
|
4710
|
-
children: /* @__PURE__ */
|
|
5582
|
+
children: /* @__PURE__ */ jsx23(LuUser, { size: 16 })
|
|
4711
5583
|
}
|
|
4712
5584
|
),
|
|
4713
|
-
/* @__PURE__ */
|
|
4714
|
-
/* @__PURE__ */
|
|
4715
|
-
/* @__PURE__ */
|
|
5585
|
+
/* @__PURE__ */ jsxs19(Box19, { children: [
|
|
5586
|
+
/* @__PURE__ */ jsx23(Text12, { fontSize: "sm", fontWeight: "semibold", children: "Edit Account" }),
|
|
5587
|
+
/* @__PURE__ */ jsx23(Text12, { fontSize: "xs", color: "gray.500", children: "Update your display name and contact details" })
|
|
4716
5588
|
] })
|
|
4717
5589
|
] }),
|
|
4718
|
-
/* @__PURE__ */
|
|
5590
|
+
/* @__PURE__ */ jsx23(LuChevronRight3, { size: 16, color: "var(--chakra-colors-gray-400)" })
|
|
4719
5591
|
]
|
|
4720
5592
|
}
|
|
4721
5593
|
)
|
|
4722
5594
|
}
|
|
4723
5595
|
),
|
|
4724
|
-
/* @__PURE__ */
|
|
4725
|
-
/* @__PURE__ */
|
|
4726
|
-
|
|
5596
|
+
/* @__PURE__ */ jsx23(Separator3, {}),
|
|
5597
|
+
/* @__PURE__ */ jsx23(
|
|
5598
|
+
Box19,
|
|
4727
5599
|
{
|
|
4728
5600
|
as: "button",
|
|
4729
5601
|
w: "full",
|
|
@@ -4734,8 +5606,8 @@ function ReusableProfile({
|
|
|
4734
5606
|
resetPasswordForm();
|
|
4735
5607
|
setProfileView("change-password");
|
|
4736
5608
|
},
|
|
4737
|
-
children: /* @__PURE__ */
|
|
4738
|
-
|
|
5609
|
+
children: /* @__PURE__ */ jsxs19(
|
|
5610
|
+
Flex11,
|
|
4739
5611
|
{
|
|
4740
5612
|
justify: "space-between",
|
|
4741
5613
|
align: "center",
|
|
@@ -4744,9 +5616,9 @@ function ReusableProfile({
|
|
|
4744
5616
|
borderRadius: "lg",
|
|
4745
5617
|
bg: isDesktop && profileView === "change-password" ? "gray.100" : void 0,
|
|
4746
5618
|
children: [
|
|
4747
|
-
/* @__PURE__ */
|
|
4748
|
-
/* @__PURE__ */
|
|
4749
|
-
|
|
5619
|
+
/* @__PURE__ */ jsxs19(Flex11, { align: "center", gap: 3, children: [
|
|
5620
|
+
/* @__PURE__ */ jsx23(
|
|
5621
|
+
Box19,
|
|
4750
5622
|
{
|
|
4751
5623
|
w: "38px",
|
|
4752
5624
|
h: "38px",
|
|
@@ -4757,25 +5629,25 @@ function ReusableProfile({
|
|
|
4757
5629
|
justifyContent: "center",
|
|
4758
5630
|
color: "gray.600",
|
|
4759
5631
|
flexShrink: 0,
|
|
4760
|
-
children: /* @__PURE__ */
|
|
5632
|
+
children: /* @__PURE__ */ jsx23(LuLock, { size: 16 })
|
|
4761
5633
|
}
|
|
4762
5634
|
),
|
|
4763
|
-
/* @__PURE__ */
|
|
4764
|
-
/* @__PURE__ */
|
|
4765
|
-
/* @__PURE__ */
|
|
5635
|
+
/* @__PURE__ */ jsxs19(Box19, { children: [
|
|
5636
|
+
/* @__PURE__ */ jsx23(Text12, { fontSize: "sm", fontWeight: "semibold", children: "Change Password" }),
|
|
5637
|
+
/* @__PURE__ */ jsx23(Text12, { fontSize: "xs", color: "gray.500", children: "Test locally through the callback prop" })
|
|
4766
5638
|
] })
|
|
4767
5639
|
] }),
|
|
4768
|
-
/* @__PURE__ */
|
|
5640
|
+
/* @__PURE__ */ jsx23(LuChevronRight3, { size: 16, color: "var(--chakra-colors-gray-400)" })
|
|
4769
5641
|
]
|
|
4770
5642
|
}
|
|
4771
5643
|
)
|
|
4772
5644
|
}
|
|
4773
5645
|
),
|
|
4774
|
-
/* @__PURE__ */
|
|
4775
|
-
/* @__PURE__ */
|
|
4776
|
-
/* @__PURE__ */
|
|
4777
|
-
/* @__PURE__ */
|
|
4778
|
-
|
|
5646
|
+
/* @__PURE__ */ jsx23(Separator3, {}),
|
|
5647
|
+
/* @__PURE__ */ jsxs19(Flex11, { justify: "space-between", align: "center", py: 3, children: [
|
|
5648
|
+
/* @__PURE__ */ jsxs19(Flex11, { align: "center", gap: 3, children: [
|
|
5649
|
+
/* @__PURE__ */ jsx23(
|
|
5650
|
+
Box19,
|
|
4779
5651
|
{
|
|
4780
5652
|
w: "38px",
|
|
4781
5653
|
h: "38px",
|
|
@@ -4786,16 +5658,16 @@ function ReusableProfile({
|
|
|
4786
5658
|
justifyContent: "center",
|
|
4787
5659
|
color: "gray.600",
|
|
4788
5660
|
flexShrink: 0,
|
|
4789
|
-
children: /* @__PURE__ */
|
|
5661
|
+
children: /* @__PURE__ */ jsx23(LuShield, { size: 16 })
|
|
4790
5662
|
}
|
|
4791
5663
|
),
|
|
4792
|
-
/* @__PURE__ */
|
|
4793
|
-
/* @__PURE__ */
|
|
4794
|
-
/* @__PURE__ */
|
|
5664
|
+
/* @__PURE__ */ jsxs19(Box19, { children: [
|
|
5665
|
+
/* @__PURE__ */ jsx23(Text12, { fontSize: "sm", fontWeight: "semibold", children: "Two Factor Authentication" }),
|
|
5666
|
+
/* @__PURE__ */ jsx23(Text12, { fontSize: "xs", color: "gray.500", children: twoFactorEnabled ? "Enabled" : "Disabled" })
|
|
4795
5667
|
] })
|
|
4796
5668
|
] }),
|
|
4797
|
-
/* @__PURE__ */
|
|
4798
|
-
|
|
5669
|
+
/* @__PURE__ */ jsx23(
|
|
5670
|
+
Box19,
|
|
4799
5671
|
{
|
|
4800
5672
|
role: "switch",
|
|
4801
5673
|
"aria-checked": twoFactorEnabled,
|
|
@@ -4817,8 +5689,8 @@ function ReusableProfile({
|
|
|
4817
5689
|
cursor: "pointer",
|
|
4818
5690
|
flexShrink: 0,
|
|
4819
5691
|
outline: "none",
|
|
4820
|
-
children: /* @__PURE__ */
|
|
4821
|
-
|
|
5692
|
+
children: /* @__PURE__ */ jsx23(
|
|
5693
|
+
Box19,
|
|
4822
5694
|
{
|
|
4823
5695
|
position: "absolute",
|
|
4824
5696
|
top: "3px",
|
|
@@ -4835,9 +5707,9 @@ function ReusableProfile({
|
|
|
4835
5707
|
)
|
|
4836
5708
|
] })
|
|
4837
5709
|
] }),
|
|
4838
|
-
/* @__PURE__ */
|
|
4839
|
-
/* @__PURE__ */
|
|
4840
|
-
|
|
5710
|
+
/* @__PURE__ */ jsxs19(Box19, { px: 4, pt: 4, pb: 2, children: [
|
|
5711
|
+
/* @__PURE__ */ jsx23(
|
|
5712
|
+
Text12,
|
|
4841
5713
|
{
|
|
4842
5714
|
fontSize: "xs",
|
|
4843
5715
|
fontWeight: "bold",
|
|
@@ -4848,10 +5720,10 @@ function ReusableProfile({
|
|
|
4848
5720
|
children: "Preferences"
|
|
4849
5721
|
}
|
|
4850
5722
|
),
|
|
4851
|
-
/* @__PURE__ */
|
|
4852
|
-
/* @__PURE__ */
|
|
4853
|
-
/* @__PURE__ */
|
|
4854
|
-
|
|
5723
|
+
/* @__PURE__ */ jsxs19(Flex11, { justify: "space-between", align: "center", py: 3, children: [
|
|
5724
|
+
/* @__PURE__ */ jsxs19(Flex11, { align: "center", gap: 3, children: [
|
|
5725
|
+
/* @__PURE__ */ jsx23(
|
|
5726
|
+
Box19,
|
|
4855
5727
|
{
|
|
4856
5728
|
w: "38px",
|
|
4857
5729
|
h: "38px",
|
|
@@ -4862,18 +5734,18 @@ function ReusableProfile({
|
|
|
4862
5734
|
justifyContent: "center",
|
|
4863
5735
|
color: "gray.600",
|
|
4864
5736
|
flexShrink: 0,
|
|
4865
|
-
children: colorMode === "dark" ? /* @__PURE__ */
|
|
5737
|
+
children: colorMode === "dark" ? /* @__PURE__ */ jsx23(LuMoon, { size: 16 }) : /* @__PURE__ */ jsx23(LuSun, { size: 16 })
|
|
4866
5738
|
}
|
|
4867
5739
|
),
|
|
4868
|
-
/* @__PURE__ */
|
|
4869
|
-
/* @__PURE__ */
|
|
4870
|
-
/* @__PURE__ */
|
|
5740
|
+
/* @__PURE__ */ jsxs19(Box19, { children: [
|
|
5741
|
+
/* @__PURE__ */ jsx23(Text12, { fontSize: "sm", fontWeight: "semibold", children: "Appearance" }),
|
|
5742
|
+
/* @__PURE__ */ jsx23(Text12, { fontSize: "xs", color: "gray.500", children: colorMode === "light" ? "Light mode" : "Dark mode" })
|
|
4871
5743
|
] })
|
|
4872
5744
|
] }),
|
|
4873
|
-
/* @__PURE__ */
|
|
5745
|
+
/* @__PURE__ */ jsx23(HStack6, { gap: 1.5, children: ["light", "dark"].map((mode) => {
|
|
4874
5746
|
const isActive = colorMode === mode;
|
|
4875
|
-
return /* @__PURE__ */
|
|
4876
|
-
|
|
5747
|
+
return /* @__PURE__ */ jsxs19(
|
|
5748
|
+
Button5,
|
|
4877
5749
|
{
|
|
4878
5750
|
size: "sm",
|
|
4879
5751
|
variant: "outline",
|
|
@@ -4888,9 +5760,9 @@ function ReusableProfile({
|
|
|
4888
5760
|
},
|
|
4889
5761
|
onClick: () => handleColorMode(mode),
|
|
4890
5762
|
children: [
|
|
4891
|
-
mode === "light" ? /* @__PURE__ */
|
|
4892
|
-
/* @__PURE__ */
|
|
4893
|
-
|
|
5763
|
+
mode === "light" ? /* @__PURE__ */ jsx23(LuSun, { size: 13 }) : /* @__PURE__ */ jsx23(LuMoon, { size: 13 }),
|
|
5764
|
+
/* @__PURE__ */ jsx23(
|
|
5765
|
+
Text12,
|
|
4894
5766
|
{
|
|
4895
5767
|
fontSize: "xs",
|
|
4896
5768
|
textTransform: "capitalize",
|
|
@@ -4904,11 +5776,11 @@ function ReusableProfile({
|
|
|
4904
5776
|
);
|
|
4905
5777
|
}) })
|
|
4906
5778
|
] }),
|
|
4907
|
-
/* @__PURE__ */
|
|
4908
|
-
/* @__PURE__ */
|
|
4909
|
-
/* @__PURE__ */
|
|
4910
|
-
/* @__PURE__ */
|
|
4911
|
-
|
|
5779
|
+
/* @__PURE__ */ jsx23(Separator3, {}),
|
|
5780
|
+
/* @__PURE__ */ jsxs19(Flex11, { justify: "space-between", align: "center", py: 3, children: [
|
|
5781
|
+
/* @__PURE__ */ jsxs19(Flex11, { align: "center", gap: 3, children: [
|
|
5782
|
+
/* @__PURE__ */ jsx23(
|
|
5783
|
+
Box19,
|
|
4912
5784
|
{
|
|
4913
5785
|
w: "38px",
|
|
4914
5786
|
h: "38px",
|
|
@@ -4924,15 +5796,15 @@ function ReusableProfile({
|
|
|
4924
5796
|
children: "A"
|
|
4925
5797
|
}
|
|
4926
5798
|
),
|
|
4927
|
-
/* @__PURE__ */
|
|
4928
|
-
/* @__PURE__ */
|
|
4929
|
-
/* @__PURE__ */
|
|
5799
|
+
/* @__PURE__ */ jsxs19(Box19, { children: [
|
|
5800
|
+
/* @__PURE__ */ jsx23(Text12, { fontSize: "sm", fontWeight: "semibold", children: "Text Size" }),
|
|
5801
|
+
/* @__PURE__ */ jsx23(Text12, { fontSize: "xs", color: "gray.500", children: fontSizeLabel })
|
|
4930
5802
|
] })
|
|
4931
5803
|
] }),
|
|
4932
|
-
/* @__PURE__ */
|
|
5804
|
+
/* @__PURE__ */ jsx23(HStack6, { gap: 1, children: FONT_SIZES.map((option) => {
|
|
4933
5805
|
const isActive = fontSize === option.value;
|
|
4934
|
-
return /* @__PURE__ */
|
|
4935
|
-
|
|
5806
|
+
return /* @__PURE__ */ jsx23(
|
|
5807
|
+
Button5,
|
|
4936
5808
|
{
|
|
4937
5809
|
size: "sm",
|
|
4938
5810
|
variant: "outline",
|
|
@@ -4947,8 +5819,8 @@ function ReusableProfile({
|
|
|
4947
5819
|
},
|
|
4948
5820
|
onClick: () => handleFontSize(option.value),
|
|
4949
5821
|
title: option.title,
|
|
4950
|
-
children: /* @__PURE__ */
|
|
4951
|
-
|
|
5822
|
+
children: /* @__PURE__ */ jsx23(
|
|
5823
|
+
Text12,
|
|
4952
5824
|
{
|
|
4953
5825
|
fontWeight: isActive ? "bold" : "normal",
|
|
4954
5826
|
style: { fontSize: `${option.scale * 13}px` },
|
|
@@ -4960,9 +5832,9 @@ function ReusableProfile({
|
|
|
4960
5832
|
);
|
|
4961
5833
|
}) })
|
|
4962
5834
|
] }),
|
|
4963
|
-
/* @__PURE__ */
|
|
4964
|
-
/* @__PURE__ */
|
|
4965
|
-
|
|
5835
|
+
/* @__PURE__ */ jsx23(Separator3, {}),
|
|
5836
|
+
/* @__PURE__ */ jsx23(
|
|
5837
|
+
Box19,
|
|
4966
5838
|
{
|
|
4967
5839
|
as: "button",
|
|
4968
5840
|
w: "full",
|
|
@@ -4970,10 +5842,10 @@ function ReusableProfile({
|
|
|
4970
5842
|
_hover: { opacity: 0.7 },
|
|
4971
5843
|
transition: "opacity 0.15s",
|
|
4972
5844
|
onClick: () => setProfileView("navbar-customize"),
|
|
4973
|
-
children: /* @__PURE__ */
|
|
4974
|
-
/* @__PURE__ */
|
|
4975
|
-
/* @__PURE__ */
|
|
4976
|
-
|
|
5845
|
+
children: /* @__PURE__ */ jsxs19(Flex11, { justify: "space-between", align: "center", py: 3, children: [
|
|
5846
|
+
/* @__PURE__ */ jsxs19(Flex11, { align: "center", gap: 3, children: [
|
|
5847
|
+
/* @__PURE__ */ jsx23(
|
|
5848
|
+
Box19,
|
|
4977
5849
|
{
|
|
4978
5850
|
w: "38px",
|
|
4979
5851
|
h: "38px",
|
|
@@ -4984,12 +5856,12 @@ function ReusableProfile({
|
|
|
4984
5856
|
justifyContent: "center",
|
|
4985
5857
|
color: "gray.600",
|
|
4986
5858
|
flexShrink: 0,
|
|
4987
|
-
children: /* @__PURE__ */
|
|
5859
|
+
children: /* @__PURE__ */ jsx23(LuArrowLeftRight, { size: 16 })
|
|
4988
5860
|
}
|
|
4989
5861
|
),
|
|
4990
|
-
/* @__PURE__ */
|
|
4991
|
-
/* @__PURE__ */
|
|
4992
|
-
/* @__PURE__ */
|
|
5862
|
+
/* @__PURE__ */ jsxs19(Box19, { children: [
|
|
5863
|
+
/* @__PURE__ */ jsx23(Text12, { fontSize: "sm", fontWeight: "semibold", children: "Quick Navigation" }),
|
|
5864
|
+
/* @__PURE__ */ jsxs19(Text12, { fontSize: "xs", color: "gray.500", children: [
|
|
4993
5865
|
quickNavHrefs.length,
|
|
4994
5866
|
" of ",
|
|
4995
5867
|
maxQuickNavItems,
|
|
@@ -4997,13 +5869,13 @@ function ReusableProfile({
|
|
|
4997
5869
|
] })
|
|
4998
5870
|
] })
|
|
4999
5871
|
] }),
|
|
5000
|
-
/* @__PURE__ */
|
|
5872
|
+
/* @__PURE__ */ jsx23(LuChevronRight3, { size: 16, color: "var(--chakra-colors-gray-400)" })
|
|
5001
5873
|
] })
|
|
5002
5874
|
}
|
|
5003
5875
|
)
|
|
5004
5876
|
] }),
|
|
5005
|
-
/* @__PURE__ */
|
|
5006
|
-
|
|
5877
|
+
/* @__PURE__ */ jsx23(Box19, { px: 4, pt: 4, pb: 10, children: /* @__PURE__ */ jsx23(VStack10, { gap: 2.5, children: /* @__PURE__ */ jsx23(
|
|
5878
|
+
Button5,
|
|
5007
5879
|
{
|
|
5008
5880
|
w: "full",
|
|
5009
5881
|
variant: "outline",
|
|
@@ -5015,9 +5887,9 @@ function ReusableProfile({
|
|
|
5015
5887
|
}
|
|
5016
5888
|
) }) })
|
|
5017
5889
|
] });
|
|
5018
|
-
const editAccountContent = /* @__PURE__ */
|
|
5019
|
-
/* @__PURE__ */
|
|
5020
|
-
/* @__PURE__ */
|
|
5890
|
+
const editAccountContent = /* @__PURE__ */ jsxs19(Fragment5, { children: [
|
|
5891
|
+
/* @__PURE__ */ jsx23(Box19, { px: 4, pt: 4, pb: 3, borderBottomWidth: "1px", borderColor: "gray.200", children: /* @__PURE__ */ jsxs19(Flex11, { align: "center", gap: 2, pr: 10, children: [
|
|
5892
|
+
/* @__PURE__ */ jsx23(
|
|
5021
5893
|
IconButton3,
|
|
5022
5894
|
{
|
|
5023
5895
|
size: "sm",
|
|
@@ -5025,20 +5897,20 @@ function ReusableProfile({
|
|
|
5025
5897
|
"aria-label": "Back",
|
|
5026
5898
|
color: "gray.600",
|
|
5027
5899
|
onClick: () => setProfileView("main"),
|
|
5028
|
-
children: /* @__PURE__ */
|
|
5900
|
+
children: /* @__PURE__ */ jsx23(LuChevronLeft2, {})
|
|
5029
5901
|
}
|
|
5030
5902
|
),
|
|
5031
|
-
/* @__PURE__ */
|
|
5903
|
+
/* @__PURE__ */ jsx23(Text12, { fontWeight: "bold", fontSize: "md", children: "Edit Account" })
|
|
5032
5904
|
] }) }),
|
|
5033
|
-
/* @__PURE__ */
|
|
5034
|
-
user.avatarSrc && /* @__PURE__ */
|
|
5035
|
-
/* @__PURE__ */
|
|
5905
|
+
/* @__PURE__ */ jsx23(Box19, { textAlign: "center", pt: 5, pb: 4, children: /* @__PURE__ */ jsxs19(Avatar.Root, { size: "xl", mx: "auto", mb: 1, children: [
|
|
5906
|
+
user.avatarSrc && /* @__PURE__ */ jsx23(Avatar.Image, { src: user.avatarSrc, alt: editName }),
|
|
5907
|
+
/* @__PURE__ */ jsx23(Avatar.Fallback, { name: editName })
|
|
5036
5908
|
] }) }),
|
|
5037
|
-
/* @__PURE__ */
|
|
5038
|
-
/* @__PURE__ */
|
|
5039
|
-
/* @__PURE__ */
|
|
5040
|
-
/* @__PURE__ */
|
|
5041
|
-
|
|
5909
|
+
/* @__PURE__ */ jsxs19(VStack10, { gap: 4, px: 4, pb: 10, align: "stretch", children: [
|
|
5910
|
+
/* @__PURE__ */ jsxs19(Box19, { w: "full", children: [
|
|
5911
|
+
/* @__PURE__ */ jsx23(Text12, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Display Name" }),
|
|
5912
|
+
/* @__PURE__ */ jsx23(
|
|
5913
|
+
Input5,
|
|
5042
5914
|
{
|
|
5043
5915
|
value: editName,
|
|
5044
5916
|
onChange: (event) => setEditName(event.target.value),
|
|
@@ -5047,10 +5919,10 @@ function ReusableProfile({
|
|
|
5047
5919
|
}
|
|
5048
5920
|
)
|
|
5049
5921
|
] }),
|
|
5050
|
-
/* @__PURE__ */
|
|
5051
|
-
/* @__PURE__ */
|
|
5052
|
-
/* @__PURE__ */
|
|
5053
|
-
|
|
5922
|
+
/* @__PURE__ */ jsxs19(Box19, { w: "full", children: [
|
|
5923
|
+
/* @__PURE__ */ jsx23(Text12, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Email" }),
|
|
5924
|
+
/* @__PURE__ */ jsx23(
|
|
5925
|
+
Input5,
|
|
5054
5926
|
{
|
|
5055
5927
|
value: user.email ?? "",
|
|
5056
5928
|
readOnly: true,
|
|
@@ -5060,10 +5932,10 @@ function ReusableProfile({
|
|
|
5060
5932
|
}
|
|
5061
5933
|
)
|
|
5062
5934
|
] }),
|
|
5063
|
-
/* @__PURE__ */
|
|
5064
|
-
/* @__PURE__ */
|
|
5065
|
-
/* @__PURE__ */
|
|
5066
|
-
|
|
5935
|
+
/* @__PURE__ */ jsxs19(Box19, { w: "full", children: [
|
|
5936
|
+
/* @__PURE__ */ jsx23(Text12, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Mobile Number" }),
|
|
5937
|
+
/* @__PURE__ */ jsx23(
|
|
5938
|
+
Input5,
|
|
5067
5939
|
{
|
|
5068
5940
|
value: user.mobileNumber ?? "",
|
|
5069
5941
|
readOnly: true,
|
|
@@ -5073,8 +5945,8 @@ function ReusableProfile({
|
|
|
5073
5945
|
}
|
|
5074
5946
|
)
|
|
5075
5947
|
] }),
|
|
5076
|
-
/* @__PURE__ */
|
|
5077
|
-
|
|
5948
|
+
/* @__PURE__ */ jsx23(
|
|
5949
|
+
Button5,
|
|
5078
5950
|
{
|
|
5079
5951
|
w: "full",
|
|
5080
5952
|
mt: 2,
|
|
@@ -5088,9 +5960,9 @@ function ReusableProfile({
|
|
|
5088
5960
|
)
|
|
5089
5961
|
] })
|
|
5090
5962
|
] });
|
|
5091
|
-
const changePasswordContent = /* @__PURE__ */
|
|
5092
|
-
/* @__PURE__ */
|
|
5093
|
-
/* @__PURE__ */
|
|
5963
|
+
const changePasswordContent = /* @__PURE__ */ jsxs19(Fragment5, { children: [
|
|
5964
|
+
/* @__PURE__ */ jsx23(Box19, { px: 4, pt: 4, pb: 3, borderBottomWidth: "1px", borderColor: "gray.200", children: /* @__PURE__ */ jsxs19(Flex11, { align: "center", gap: 2, pr: 10, children: [
|
|
5965
|
+
/* @__PURE__ */ jsx23(
|
|
5094
5966
|
IconButton3,
|
|
5095
5967
|
{
|
|
5096
5968
|
size: "sm",
|
|
@@ -5098,18 +5970,18 @@ function ReusableProfile({
|
|
|
5098
5970
|
"aria-label": "Back",
|
|
5099
5971
|
color: "gray.600",
|
|
5100
5972
|
onClick: () => setProfileView("main"),
|
|
5101
|
-
children: /* @__PURE__ */
|
|
5973
|
+
children: /* @__PURE__ */ jsx23(LuChevronLeft2, {})
|
|
5102
5974
|
}
|
|
5103
5975
|
),
|
|
5104
|
-
/* @__PURE__ */
|
|
5976
|
+
/* @__PURE__ */ jsx23(Text12, { fontWeight: "bold", fontSize: "md", children: "Change Password" })
|
|
5105
5977
|
] }) }),
|
|
5106
|
-
/* @__PURE__ */
|
|
5107
|
-
/* @__PURE__ */
|
|
5108
|
-
/* @__PURE__ */
|
|
5109
|
-
/* @__PURE__ */
|
|
5978
|
+
/* @__PURE__ */ jsxs19(VStack10, { gap: 5, px: 4, pt: 6, pb: 10, children: [
|
|
5979
|
+
/* @__PURE__ */ jsxs19(Box19, { w: "full", children: [
|
|
5980
|
+
/* @__PURE__ */ jsx23(Text12, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Current Password" }),
|
|
5981
|
+
/* @__PURE__ */ jsx23(
|
|
5110
5982
|
InputGroup,
|
|
5111
5983
|
{
|
|
5112
|
-
endElement: /* @__PURE__ */
|
|
5984
|
+
endElement: /* @__PURE__ */ jsx23(
|
|
5113
5985
|
IconButton3,
|
|
5114
5986
|
{
|
|
5115
5987
|
size: "xs",
|
|
@@ -5117,11 +5989,11 @@ function ReusableProfile({
|
|
|
5117
5989
|
color: "gray.500",
|
|
5118
5990
|
"aria-label": "Toggle current password visibility",
|
|
5119
5991
|
onClick: () => setShowCurrentPw(!showCurrentPw),
|
|
5120
|
-
children: showCurrentPw ? /* @__PURE__ */
|
|
5992
|
+
children: showCurrentPw ? /* @__PURE__ */ jsx23(LuEyeOff, { size: 15 }) : /* @__PURE__ */ jsx23(LuEye, { size: 15 })
|
|
5121
5993
|
}
|
|
5122
5994
|
),
|
|
5123
|
-
children: /* @__PURE__ */
|
|
5124
|
-
|
|
5995
|
+
children: /* @__PURE__ */ jsx23(
|
|
5996
|
+
Input5,
|
|
5125
5997
|
{
|
|
5126
5998
|
type: showCurrentPw ? "text" : "password",
|
|
5127
5999
|
value: currentPw,
|
|
@@ -5133,12 +6005,12 @@ function ReusableProfile({
|
|
|
5133
6005
|
}
|
|
5134
6006
|
)
|
|
5135
6007
|
] }),
|
|
5136
|
-
/* @__PURE__ */
|
|
5137
|
-
/* @__PURE__ */
|
|
5138
|
-
/* @__PURE__ */
|
|
6008
|
+
/* @__PURE__ */ jsxs19(Box19, { w: "full", children: [
|
|
6009
|
+
/* @__PURE__ */ jsx23(Text12, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "New Password" }),
|
|
6010
|
+
/* @__PURE__ */ jsx23(
|
|
5139
6011
|
InputGroup,
|
|
5140
6012
|
{
|
|
5141
|
-
endElement: /* @__PURE__ */
|
|
6013
|
+
endElement: /* @__PURE__ */ jsx23(
|
|
5142
6014
|
IconButton3,
|
|
5143
6015
|
{
|
|
5144
6016
|
size: "xs",
|
|
@@ -5146,11 +6018,11 @@ function ReusableProfile({
|
|
|
5146
6018
|
color: "gray.500",
|
|
5147
6019
|
"aria-label": "Toggle new password visibility",
|
|
5148
6020
|
onClick: () => setShowNewPw(!showNewPw),
|
|
5149
|
-
children: showNewPw ? /* @__PURE__ */
|
|
6021
|
+
children: showNewPw ? /* @__PURE__ */ jsx23(LuEyeOff, { size: 15 }) : /* @__PURE__ */ jsx23(LuEye, { size: 15 })
|
|
5150
6022
|
}
|
|
5151
6023
|
),
|
|
5152
|
-
children: /* @__PURE__ */
|
|
5153
|
-
|
|
6024
|
+
children: /* @__PURE__ */ jsx23(
|
|
6025
|
+
Input5,
|
|
5154
6026
|
{
|
|
5155
6027
|
type: showNewPw ? "text" : "password",
|
|
5156
6028
|
value: newPw,
|
|
@@ -5161,9 +6033,9 @@ function ReusableProfile({
|
|
|
5161
6033
|
)
|
|
5162
6034
|
}
|
|
5163
6035
|
),
|
|
5164
|
-
newPw && /* @__PURE__ */
|
|
5165
|
-
/* @__PURE__ */
|
|
5166
|
-
|
|
6036
|
+
newPw && /* @__PURE__ */ jsxs19(Box19, { mt: 2, children: [
|
|
6037
|
+
/* @__PURE__ */ jsx23(Flex11, { gap: 1, mb: 1, children: [1, 2, 3, 4, 5].map((i) => /* @__PURE__ */ jsx23(
|
|
6038
|
+
Box19,
|
|
5167
6039
|
{
|
|
5168
6040
|
flex: 1,
|
|
5169
6041
|
h: "3px",
|
|
@@ -5173,15 +6045,15 @@ function ReusableProfile({
|
|
|
5173
6045
|
},
|
|
5174
6046
|
i
|
|
5175
6047
|
)) }),
|
|
5176
|
-
/* @__PURE__ */
|
|
6048
|
+
/* @__PURE__ */ jsx23(Text12, { fontSize: "xs", color: pwMeta.color, fontWeight: "medium", children: pwMeta.label })
|
|
5177
6049
|
] })
|
|
5178
6050
|
] }),
|
|
5179
|
-
/* @__PURE__ */
|
|
5180
|
-
/* @__PURE__ */
|
|
5181
|
-
/* @__PURE__ */
|
|
6051
|
+
/* @__PURE__ */ jsxs19(Box19, { w: "full", children: [
|
|
6052
|
+
/* @__PURE__ */ jsx23(Text12, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Confirm New Password" }),
|
|
6053
|
+
/* @__PURE__ */ jsx23(
|
|
5182
6054
|
InputGroup,
|
|
5183
6055
|
{
|
|
5184
|
-
endElement: /* @__PURE__ */
|
|
6056
|
+
endElement: /* @__PURE__ */ jsx23(
|
|
5185
6057
|
IconButton3,
|
|
5186
6058
|
{
|
|
5187
6059
|
size: "xs",
|
|
@@ -5189,11 +6061,11 @@ function ReusableProfile({
|
|
|
5189
6061
|
color: "gray.500",
|
|
5190
6062
|
"aria-label": "Toggle confirm password visibility",
|
|
5191
6063
|
onClick: () => setShowConfirmPw(!showConfirmPw),
|
|
5192
|
-
children: showConfirmPw ? /* @__PURE__ */
|
|
6064
|
+
children: showConfirmPw ? /* @__PURE__ */ jsx23(LuEyeOff, { size: 15 }) : /* @__PURE__ */ jsx23(LuEye, { size: 15 })
|
|
5193
6065
|
}
|
|
5194
6066
|
),
|
|
5195
|
-
children: /* @__PURE__ */
|
|
5196
|
-
|
|
6067
|
+
children: /* @__PURE__ */ jsx23(
|
|
6068
|
+
Input5,
|
|
5197
6069
|
{
|
|
5198
6070
|
type: showConfirmPw ? "text" : "password",
|
|
5199
6071
|
value: confirmPw,
|
|
@@ -5204,10 +6076,10 @@ function ReusableProfile({
|
|
|
5204
6076
|
)
|
|
5205
6077
|
}
|
|
5206
6078
|
),
|
|
5207
|
-
confirmPw && confirmPw !== newPw && /* @__PURE__ */
|
|
6079
|
+
confirmPw && confirmPw !== newPw && /* @__PURE__ */ jsx23(Text12, { fontSize: "xs", color: "red.500", mt: 1, children: "Passwords do not match" })
|
|
5208
6080
|
] }),
|
|
5209
|
-
/* @__PURE__ */
|
|
5210
|
-
|
|
6081
|
+
/* @__PURE__ */ jsx23(
|
|
6082
|
+
Button5,
|
|
5211
6083
|
{
|
|
5212
6084
|
w: "full",
|
|
5213
6085
|
mt: 1,
|
|
@@ -5222,9 +6094,9 @@ function ReusableProfile({
|
|
|
5222
6094
|
)
|
|
5223
6095
|
] })
|
|
5224
6096
|
] });
|
|
5225
|
-
const navbarCustomizeContent = /* @__PURE__ */
|
|
5226
|
-
/* @__PURE__ */
|
|
5227
|
-
|
|
6097
|
+
const navbarCustomizeContent = /* @__PURE__ */ jsxs19(Fragment5, { children: [
|
|
6098
|
+
/* @__PURE__ */ jsx23(
|
|
6099
|
+
Box19,
|
|
5228
6100
|
{
|
|
5229
6101
|
px: 4,
|
|
5230
6102
|
pt: 4,
|
|
@@ -5235,8 +6107,8 @@ function ReusableProfile({
|
|
|
5235
6107
|
top: 0,
|
|
5236
6108
|
bg: "bg",
|
|
5237
6109
|
zIndex: 1,
|
|
5238
|
-
children: /* @__PURE__ */
|
|
5239
|
-
/* @__PURE__ */
|
|
6110
|
+
children: /* @__PURE__ */ jsxs19(Flex11, { align: "center", gap: 2, pr: 10, children: [
|
|
6111
|
+
/* @__PURE__ */ jsx23(
|
|
5240
6112
|
IconButton3,
|
|
5241
6113
|
{
|
|
5242
6114
|
size: "sm",
|
|
@@ -5247,12 +6119,12 @@ function ReusableProfile({
|
|
|
5247
6119
|
setReplacingIdx(null);
|
|
5248
6120
|
setProfileView("main");
|
|
5249
6121
|
},
|
|
5250
|
-
children: /* @__PURE__ */
|
|
6122
|
+
children: /* @__PURE__ */ jsx23(LuChevronLeft2, {})
|
|
5251
6123
|
}
|
|
5252
6124
|
),
|
|
5253
|
-
/* @__PURE__ */
|
|
5254
|
-
/* @__PURE__ */
|
|
5255
|
-
/* @__PURE__ */
|
|
6125
|
+
/* @__PURE__ */ jsxs19(Box19, { children: [
|
|
6126
|
+
/* @__PURE__ */ jsx23(Text12, { fontWeight: "bold", fontSize: "md", children: "Quick Navigation" }),
|
|
6127
|
+
/* @__PURE__ */ jsxs19(Text12, { fontSize: "xs", color: "gray.500", children: [
|
|
5256
6128
|
"Choose up to ",
|
|
5257
6129
|
maxQuickNavItems,
|
|
5258
6130
|
" shortcuts for the bottom bar"
|
|
@@ -5261,10 +6133,10 @@ function ReusableProfile({
|
|
|
5261
6133
|
] })
|
|
5262
6134
|
}
|
|
5263
6135
|
),
|
|
5264
|
-
/* @__PURE__ */
|
|
5265
|
-
/* @__PURE__ */
|
|
5266
|
-
/* @__PURE__ */
|
|
5267
|
-
|
|
6136
|
+
/* @__PURE__ */ jsxs19(Box19, { px: 4, pt: 5, pb: 2, children: [
|
|
6137
|
+
/* @__PURE__ */ jsxs19(Flex11, { align: "center", justify: "space-between", mb: 3, children: [
|
|
6138
|
+
/* @__PURE__ */ jsx23(
|
|
6139
|
+
Text12,
|
|
5268
6140
|
{
|
|
5269
6141
|
fontSize: "xs",
|
|
5270
6142
|
fontWeight: "bold",
|
|
@@ -5274,8 +6146,8 @@ function ReusableProfile({
|
|
|
5274
6146
|
children: "Pinned"
|
|
5275
6147
|
}
|
|
5276
6148
|
),
|
|
5277
|
-
/* @__PURE__ */
|
|
5278
|
-
|
|
6149
|
+
/* @__PURE__ */ jsxs19(
|
|
6150
|
+
Text12,
|
|
5279
6151
|
{
|
|
5280
6152
|
fontSize: "xs",
|
|
5281
6153
|
color: quickNavHrefs.length >= maxQuickNavItems ? "orange.500" : "gray.400",
|
|
@@ -5288,8 +6160,8 @@ function ReusableProfile({
|
|
|
5288
6160
|
}
|
|
5289
6161
|
)
|
|
5290
6162
|
] }),
|
|
5291
|
-
quickNavHrefs.length === 0 ? /* @__PURE__ */
|
|
5292
|
-
|
|
6163
|
+
quickNavHrefs.length === 0 ? /* @__PURE__ */ jsx23(
|
|
6164
|
+
Flex11,
|
|
5293
6165
|
{
|
|
5294
6166
|
align: "center",
|
|
5295
6167
|
justify: "center",
|
|
@@ -5298,18 +6170,18 @@ function ReusableProfile({
|
|
|
5298
6170
|
borderWidth: "1px",
|
|
5299
6171
|
borderStyle: "dashed",
|
|
5300
6172
|
borderColor: "gray.200",
|
|
5301
|
-
children: /* @__PURE__ */
|
|
6173
|
+
children: /* @__PURE__ */ jsx23(Text12, { fontSize: "sm", color: "gray.400", children: "No items pinned \u2014 add from below" })
|
|
5302
6174
|
}
|
|
5303
|
-
) : /* @__PURE__ */
|
|
6175
|
+
) : /* @__PURE__ */ jsx23(VStack10, { gap: 0, children: quickNavHrefs.map((href, idx) => {
|
|
5304
6176
|
const option = availableOptions.find((item) => item.key === href);
|
|
5305
6177
|
if (!option) return null;
|
|
5306
6178
|
const ItemIcon = option.Icon;
|
|
5307
6179
|
const isFirst = idx === 0;
|
|
5308
6180
|
const isLast = idx === quickNavHrefs.length - 1;
|
|
5309
6181
|
const isReplacing = replacingIdx === idx;
|
|
5310
|
-
return /* @__PURE__ */
|
|
5311
|
-
/* @__PURE__ */
|
|
5312
|
-
|
|
6182
|
+
return /* @__PURE__ */ jsxs19(Box19, { w: "full", children: [
|
|
6183
|
+
/* @__PURE__ */ jsxs19(
|
|
6184
|
+
Flex11,
|
|
5313
6185
|
{
|
|
5314
6186
|
justify: "space-between",
|
|
5315
6187
|
align: "center",
|
|
@@ -5321,9 +6193,9 @@ function ReusableProfile({
|
|
|
5321
6193
|
borderColor: isReplacing ? "orange.200" : void 0,
|
|
5322
6194
|
transition: "all 0.15s",
|
|
5323
6195
|
children: [
|
|
5324
|
-
/* @__PURE__ */
|
|
5325
|
-
/* @__PURE__ */
|
|
5326
|
-
|
|
6196
|
+
/* @__PURE__ */ jsxs19(Flex11, { align: "center", gap: 3, children: [
|
|
6197
|
+
/* @__PURE__ */ jsx23(
|
|
6198
|
+
Box19,
|
|
5327
6199
|
{
|
|
5328
6200
|
w: "36px",
|
|
5329
6201
|
h: "36px",
|
|
@@ -5334,13 +6206,13 @@ function ReusableProfile({
|
|
|
5334
6206
|
justifyContent: "center",
|
|
5335
6207
|
color: "white",
|
|
5336
6208
|
flexShrink: 0,
|
|
5337
|
-
children: /* @__PURE__ */
|
|
6209
|
+
children: /* @__PURE__ */ jsx23(ItemIcon, { size: 15 })
|
|
5338
6210
|
}
|
|
5339
6211
|
),
|
|
5340
|
-
/* @__PURE__ */
|
|
5341
|
-
/* @__PURE__ */
|
|
5342
|
-
isReplacing && /* @__PURE__ */
|
|
5343
|
-
|
|
6212
|
+
/* @__PURE__ */ jsxs19(Box19, { children: [
|
|
6213
|
+
/* @__PURE__ */ jsx23(Text12, { fontSize: "sm", fontWeight: "medium", children: option.title }),
|
|
6214
|
+
isReplacing && /* @__PURE__ */ jsx23(
|
|
6215
|
+
Text12,
|
|
5344
6216
|
{
|
|
5345
6217
|
fontSize: "xs",
|
|
5346
6218
|
color: "orange.500",
|
|
@@ -5350,8 +6222,8 @@ function ReusableProfile({
|
|
|
5350
6222
|
)
|
|
5351
6223
|
] })
|
|
5352
6224
|
] }),
|
|
5353
|
-
/* @__PURE__ */
|
|
5354
|
-
/* @__PURE__ */
|
|
6225
|
+
/* @__PURE__ */ jsxs19(HStack6, { gap: 0.5, children: [
|
|
6226
|
+
/* @__PURE__ */ jsx23(
|
|
5355
6227
|
IconButton3,
|
|
5356
6228
|
{
|
|
5357
6229
|
size: "xs",
|
|
@@ -5360,10 +6232,10 @@ function ReusableProfile({
|
|
|
5360
6232
|
color: "gray.500",
|
|
5361
6233
|
disabled: isFirst || isReplacing,
|
|
5362
6234
|
onClick: () => moveNavItem(idx, -1),
|
|
5363
|
-
children: /* @__PURE__ */
|
|
6235
|
+
children: /* @__PURE__ */ jsx23(LuChevronUp3, { size: 14 })
|
|
5364
6236
|
}
|
|
5365
6237
|
),
|
|
5366
|
-
/* @__PURE__ */
|
|
6238
|
+
/* @__PURE__ */ jsx23(
|
|
5367
6239
|
IconButton3,
|
|
5368
6240
|
{
|
|
5369
6241
|
size: "xs",
|
|
@@ -5372,10 +6244,10 @@ function ReusableProfile({
|
|
|
5372
6244
|
color: "gray.500",
|
|
5373
6245
|
disabled: isLast || isReplacing,
|
|
5374
6246
|
onClick: () => moveNavItem(idx, 1),
|
|
5375
|
-
children: /* @__PURE__ */
|
|
6247
|
+
children: /* @__PURE__ */ jsx23(LuChevronDown3, { size: 14 })
|
|
5376
6248
|
}
|
|
5377
6249
|
),
|
|
5378
|
-
/* @__PURE__ */
|
|
6250
|
+
/* @__PURE__ */ jsx23(
|
|
5379
6251
|
IconButton3,
|
|
5380
6252
|
{
|
|
5381
6253
|
size: "xs",
|
|
@@ -5385,10 +6257,10 @@ function ReusableProfile({
|
|
|
5385
6257
|
color: isReplacing ? "white" : "gray.500",
|
|
5386
6258
|
_hover: { bg: isReplacing ? "orange.500" : "gray.100" },
|
|
5387
6259
|
onClick: () => setReplacingIdx(isReplacing ? null : idx),
|
|
5388
|
-
children: /* @__PURE__ */
|
|
6260
|
+
children: /* @__PURE__ */ jsx23(LuArrowLeftRight, { size: 13 })
|
|
5389
6261
|
}
|
|
5390
6262
|
),
|
|
5391
|
-
/* @__PURE__ */
|
|
6263
|
+
/* @__PURE__ */ jsx23(
|
|
5392
6264
|
IconButton3,
|
|
5393
6265
|
{
|
|
5394
6266
|
size: "xs",
|
|
@@ -5398,23 +6270,23 @@ function ReusableProfile({
|
|
|
5398
6270
|
_hover: { bg: "red.50" },
|
|
5399
6271
|
disabled: isReplacing,
|
|
5400
6272
|
onClick: () => removeNavItem(href),
|
|
5401
|
-
children: /* @__PURE__ */
|
|
6273
|
+
children: /* @__PURE__ */ jsx23(LuX, { size: 14 })
|
|
5402
6274
|
}
|
|
5403
6275
|
)
|
|
5404
6276
|
] })
|
|
5405
6277
|
]
|
|
5406
6278
|
}
|
|
5407
6279
|
),
|
|
5408
|
-
!isLast && /* @__PURE__ */
|
|
6280
|
+
!isLast && /* @__PURE__ */ jsx23(Separator3, {})
|
|
5409
6281
|
] }, href);
|
|
5410
6282
|
}) })
|
|
5411
6283
|
] }),
|
|
5412
|
-
/* @__PURE__ */
|
|
5413
|
-
/* @__PURE__ */
|
|
5414
|
-
/* @__PURE__ */
|
|
5415
|
-
replacingIdx !== null ? /* @__PURE__ */
|
|
5416
|
-
/* @__PURE__ */
|
|
5417
|
-
|
|
6284
|
+
/* @__PURE__ */ jsx23(Separator3, { mx: 4, my: 1 }),
|
|
6285
|
+
/* @__PURE__ */ jsxs19(Box19, { px: 4, pt: 4, pb: 10, children: [
|
|
6286
|
+
/* @__PURE__ */ jsxs19(Flex11, { align: "center", justify: "space-between", mb: 3, children: [
|
|
6287
|
+
replacingIdx !== null ? /* @__PURE__ */ jsxs19(Box19, { children: [
|
|
6288
|
+
/* @__PURE__ */ jsx23(
|
|
6289
|
+
Text12,
|
|
5418
6290
|
{
|
|
5419
6291
|
fontSize: "xs",
|
|
5420
6292
|
fontWeight: "bold",
|
|
@@ -5424,15 +6296,15 @@ function ReusableProfile({
|
|
|
5424
6296
|
children: "Select Replacement"
|
|
5425
6297
|
}
|
|
5426
6298
|
),
|
|
5427
|
-
/* @__PURE__ */
|
|
6299
|
+
/* @__PURE__ */ jsxs19(Text12, { fontSize: "xs", color: "gray.500", mt: 0.5, children: [
|
|
5428
6300
|
'for "',
|
|
5429
6301
|
availableOptions.find(
|
|
5430
6302
|
(item) => item.key === quickNavHrefs[replacingIdx]
|
|
5431
6303
|
)?.title,
|
|
5432
6304
|
'"'
|
|
5433
6305
|
] })
|
|
5434
|
-
] }) : /* @__PURE__ */
|
|
5435
|
-
|
|
6306
|
+
] }) : /* @__PURE__ */ jsx23(
|
|
6307
|
+
Text12,
|
|
5436
6308
|
{
|
|
5437
6309
|
fontSize: "xs",
|
|
5438
6310
|
fontWeight: "bold",
|
|
@@ -5442,8 +6314,8 @@ function ReusableProfile({
|
|
|
5442
6314
|
children: "Available"
|
|
5443
6315
|
}
|
|
5444
6316
|
),
|
|
5445
|
-
replacingIdx !== null && /* @__PURE__ */
|
|
5446
|
-
|
|
6317
|
+
replacingIdx !== null && /* @__PURE__ */ jsx23(
|
|
6318
|
+
Button5,
|
|
5447
6319
|
{
|
|
5448
6320
|
size: "xs",
|
|
5449
6321
|
variant: "ghost",
|
|
@@ -5453,17 +6325,17 @@ function ReusableProfile({
|
|
|
5453
6325
|
}
|
|
5454
6326
|
)
|
|
5455
6327
|
] }),
|
|
5456
|
-
unpinnedOptions.length === 0 ? /* @__PURE__ */
|
|
6328
|
+
unpinnedOptions.length === 0 ? /* @__PURE__ */ jsx23(Text12, { fontSize: "sm", color: "gray.400", py: 3, textAlign: "center", children: "All available items are pinned" }) : /* @__PURE__ */ jsx23(VStack10, { gap: 0, children: unpinnedOptions.map((option, idx) => {
|
|
5457
6329
|
const ItemIcon = option.Icon;
|
|
5458
6330
|
const isLast = idx === unpinnedOptions.length - 1;
|
|
5459
6331
|
const isReplacingMode = replacingIdx !== null;
|
|
5460
6332
|
const canAdd = quickNavHrefs.length < maxQuickNavItems;
|
|
5461
6333
|
const actionEnabled = isReplacingMode || canAdd;
|
|
5462
|
-
return /* @__PURE__ */
|
|
5463
|
-
/* @__PURE__ */
|
|
5464
|
-
/* @__PURE__ */
|
|
5465
|
-
/* @__PURE__ */
|
|
5466
|
-
|
|
6334
|
+
return /* @__PURE__ */ jsxs19(Box19, { w: "full", children: [
|
|
6335
|
+
/* @__PURE__ */ jsxs19(Flex11, { justify: "space-between", align: "center", py: 2.5, children: [
|
|
6336
|
+
/* @__PURE__ */ jsxs19(Flex11, { align: "center", gap: 3, children: [
|
|
6337
|
+
/* @__PURE__ */ jsx23(
|
|
6338
|
+
Box19,
|
|
5467
6339
|
{
|
|
5468
6340
|
w: "36px",
|
|
5469
6341
|
h: "36px",
|
|
@@ -5474,11 +6346,11 @@ function ReusableProfile({
|
|
|
5474
6346
|
justifyContent: "center",
|
|
5475
6347
|
color: isReplacingMode ? "orange.500" : "gray.500",
|
|
5476
6348
|
flexShrink: 0,
|
|
5477
|
-
children: /* @__PURE__ */
|
|
6349
|
+
children: /* @__PURE__ */ jsx23(ItemIcon, { size: 15 })
|
|
5478
6350
|
}
|
|
5479
6351
|
),
|
|
5480
|
-
/* @__PURE__ */
|
|
5481
|
-
|
|
6352
|
+
/* @__PURE__ */ jsx23(
|
|
6353
|
+
Text12,
|
|
5482
6354
|
{
|
|
5483
6355
|
fontSize: "sm",
|
|
5484
6356
|
fontWeight: "medium",
|
|
@@ -5487,7 +6359,7 @@ function ReusableProfile({
|
|
|
5487
6359
|
}
|
|
5488
6360
|
)
|
|
5489
6361
|
] }),
|
|
5490
|
-
isReplacingMode ? /* @__PURE__ */
|
|
6362
|
+
isReplacingMode ? /* @__PURE__ */ jsx23(
|
|
5491
6363
|
IconButton3,
|
|
5492
6364
|
{
|
|
5493
6365
|
size: "xs",
|
|
@@ -5497,9 +6369,9 @@ function ReusableProfile({
|
|
|
5497
6369
|
color: "orange.500",
|
|
5498
6370
|
_hover: { bg: "orange.50" },
|
|
5499
6371
|
onClick: () => replaceNavItem(replacingIdx, option.key),
|
|
5500
|
-
children: /* @__PURE__ */
|
|
6372
|
+
children: /* @__PURE__ */ jsx23(LuArrowLeftRight, { size: 13 })
|
|
5501
6373
|
}
|
|
5502
|
-
) : /* @__PURE__ */
|
|
6374
|
+
) : /* @__PURE__ */ jsx23(
|
|
5503
6375
|
IconButton3,
|
|
5504
6376
|
{
|
|
5505
6377
|
size: "xs",
|
|
@@ -5510,19 +6382,19 @@ function ReusableProfile({
|
|
|
5510
6382
|
color: canAdd ? "var(--chakra-colors-primary)" : "gray.300",
|
|
5511
6383
|
_hover: { bg: canAdd ? "blue.50" : "transparent" },
|
|
5512
6384
|
onClick: () => addNavItem(option.key),
|
|
5513
|
-
children: /* @__PURE__ */
|
|
6385
|
+
children: /* @__PURE__ */ jsx23(LuPlus, { size: 13 })
|
|
5514
6386
|
}
|
|
5515
6387
|
)
|
|
5516
6388
|
] }),
|
|
5517
|
-
!isLast && /* @__PURE__ */
|
|
6389
|
+
!isLast && /* @__PURE__ */ jsx23(Separator3, {})
|
|
5518
6390
|
] }, option.key);
|
|
5519
6391
|
}) })
|
|
5520
6392
|
] })
|
|
5521
6393
|
] });
|
|
5522
6394
|
const subViewContent = profileView === "edit-account" ? editAccountContent : profileView === "change-password" ? changePasswordContent : profileView === "navbar-customize" ? navbarCustomizeContent : null;
|
|
5523
6395
|
if (isDesktop) {
|
|
5524
|
-
return /* @__PURE__ */
|
|
5525
|
-
|
|
6396
|
+
return /* @__PURE__ */ jsxs19(
|
|
6397
|
+
Flex11,
|
|
5526
6398
|
{
|
|
5527
6399
|
maxW: "6xl",
|
|
5528
6400
|
mx: "auto",
|
|
@@ -5532,8 +6404,8 @@ function ReusableProfile({
|
|
|
5532
6404
|
p: { md: 6, lg: 8 },
|
|
5533
6405
|
align: "start",
|
|
5534
6406
|
children: [
|
|
5535
|
-
/* @__PURE__ */
|
|
5536
|
-
|
|
6407
|
+
/* @__PURE__ */ jsx23(
|
|
6408
|
+
Box19,
|
|
5537
6409
|
{
|
|
5538
6410
|
w: { md: "300px", lg: "340px" },
|
|
5539
6411
|
flexShrink: 0,
|
|
@@ -5547,8 +6419,8 @@ function ReusableProfile({
|
|
|
5547
6419
|
children: mainContent
|
|
5548
6420
|
}
|
|
5549
6421
|
),
|
|
5550
|
-
/* @__PURE__ */
|
|
5551
|
-
|
|
6422
|
+
/* @__PURE__ */ jsx23(
|
|
6423
|
+
Box19,
|
|
5552
6424
|
{
|
|
5553
6425
|
flex: "1",
|
|
5554
6426
|
minW: 0,
|
|
@@ -5558,8 +6430,8 @@ function ReusableProfile({
|
|
|
5558
6430
|
overflow: "hidden",
|
|
5559
6431
|
bg: "bg",
|
|
5560
6432
|
minH: "540px",
|
|
5561
|
-
children: subViewContent ?? /* @__PURE__ */
|
|
5562
|
-
|
|
6433
|
+
children: subViewContent ?? /* @__PURE__ */ jsxs19(
|
|
6434
|
+
Flex11,
|
|
5563
6435
|
{
|
|
5564
6436
|
direction: "column",
|
|
5565
6437
|
align: "center",
|
|
@@ -5569,8 +6441,8 @@ function ReusableProfile({
|
|
|
5569
6441
|
textAlign: "center",
|
|
5570
6442
|
color: "gray.400",
|
|
5571
6443
|
children: [
|
|
5572
|
-
/* @__PURE__ */
|
|
5573
|
-
|
|
6444
|
+
/* @__PURE__ */ jsx23(
|
|
6445
|
+
Box19,
|
|
5574
6446
|
{
|
|
5575
6447
|
w: "56px",
|
|
5576
6448
|
h: "56px",
|
|
@@ -5580,10 +6452,10 @@ function ReusableProfile({
|
|
|
5580
6452
|
alignItems: "center",
|
|
5581
6453
|
justifyContent: "center",
|
|
5582
6454
|
mb: 4,
|
|
5583
|
-
children: /* @__PURE__ */
|
|
6455
|
+
children: /* @__PURE__ */ jsx23(LuUser, { size: 24 })
|
|
5584
6456
|
}
|
|
5585
6457
|
),
|
|
5586
|
-
/* @__PURE__ */
|
|
6458
|
+
/* @__PURE__ */ jsx23(Text12, { fontSize: "sm", mt: 1, maxW: "280px", children: "Choose Edit Account, Change Password, or Quick Navigation from the menu to update your details here." })
|
|
5587
6459
|
]
|
|
5588
6460
|
}
|
|
5589
6461
|
)
|
|
@@ -5593,12 +6465,14 @@ function ReusableProfile({
|
|
|
5593
6465
|
}
|
|
5594
6466
|
);
|
|
5595
6467
|
}
|
|
5596
|
-
return /* @__PURE__ */
|
|
6468
|
+
return /* @__PURE__ */ jsx23(Box19, { maxW: "480px", mx: "auto", w: "full", minH: "100%", bg: "bg", children: profileView === "main" ? mainContent : subViewContent });
|
|
5597
6469
|
}
|
|
5598
6470
|
var UserProfile_default = ReusableProfile;
|
|
5599
6471
|
export {
|
|
5600
6472
|
beneficiary_default as Beneficiary,
|
|
5601
6473
|
BottomQuickActions_default as BottomQuickActions,
|
|
6474
|
+
DocumentUploadCard,
|
|
6475
|
+
GetStarted_default as GetStarted,
|
|
5602
6476
|
HealthDeclaration_default as HealthDeclaration,
|
|
5603
6477
|
LifePlanApplication1_default as LifePlanApplication1,
|
|
5604
6478
|
LifePlanApplication2_default as LifePlanApplication2,
|
|
@@ -5609,10 +6483,13 @@ export {
|
|
|
5609
6483
|
OCR_STORAGE_KEY,
|
|
5610
6484
|
SharedLifePlanApplication_default as SharedLifePlanApplication,
|
|
5611
6485
|
UserProfile_default as UserProfile,
|
|
6486
|
+
clearOcrResult,
|
|
5612
6487
|
createEmptyApplicationData,
|
|
5613
6488
|
loadApplicationDataFromLocalStorage,
|
|
5614
6489
|
markOcrApplied,
|
|
5615
6490
|
readOcrResult,
|
|
5616
|
-
saveApplicationDataToLocalStorage
|
|
6491
|
+
saveApplicationDataToLocalStorage,
|
|
6492
|
+
saveOcrResult,
|
|
6493
|
+
useOcr
|
|
5617
6494
|
};
|
|
5618
6495
|
//# sourceMappingURL=index.mjs.map
|